접근 제어 참조
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
Capgo uses __CAPGO_KEEP_0__ uses 각 팀원에게 할 수 있는 일을 관리하는 데 도움이 됩니다. 역할은 전체 조직에서 단일 번들까지의 범위에 따라 조직화됩니다. 범위 조직 관리에 대한 시각적인_walkthrough를 보려면
조직 역할 범위.
범위
| 적용 대상 | 예시 | 조직 |
|---|---|---|
| 역할 범위 | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ staging __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
회원은 한 개의 역할을 한 개의 범위 목표에 할당할 수 있습니다. 예를 들어, 한 개의 조직 역할, App A의 역할, App B의 다른 역할. 조직 역할
“조직 역할”이라는 제목의 섹션
이러한 역할은 초대 시 할당됩니다. 조직 전체에 대한 접근 권한을 부여합니다.역할
| 내부 이름 | 설명 | 슈퍼 어드민 |
|---|---|---|
| 소유권과 유사. 조직을 삭제하고 청구를 관리하며 앱을 이전할 수 있는 전체 제어권. 조직 생성자에게 자동으로 부여됩니다. | org_super_admin | 관리자 |
| 역할은 초대 시 할당됩니다. 조직 전체에 대한 접근 권한을 부여합니다. | org_admin | 전체 관리 — 회원, 앱, 채널 관리. 조직 삭제, 청구 관리 업데이트, 앱 이전, Super Admin으로 승격할 수 없습니다. |
| 청구 관리자 | org_billing_admin | 청구 전용 접근: 청구 정보, 청구서, 청구 감사 로그만 볼 수 있습니다. 앱 또는 회원에 대한 접근이 없습니다. |
| 회원 | org_member | 조직 및 모든 앱에 대한 읽기 전용 접근 |
조직 권한 매트릭스
권한| 설명 | Super Admin | 관리자 | 청구 관리자 | 권한 매트릭스 | 회원 |
|---|---|---|---|---|---|
org.read | 조직을 살펴보세요 | ✅ | ✅ | ✅ | ✅ |
org.update_settings | 조직 이름, 로고, 관리 이메일 편집 | ✅ | ✅ | ❌ | ❌ |
org.delete | 조직을 영구 삭제 | ✅ | ❌ | ❌ | ❌ |
org.read_members | 회원 목록을 살펴보세요 | ✅ | ✅ | ❌ | ✅ |
org.invite_user | 새로운 회원 초대 | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | 회원 역할 변경 (관리자로 승격하는 것은 역할 계층 구조로 차단됩니다) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | 청구 정보 및 현재 플랜 보기 | ✅ | ✅ | ✅ | ❌ |
org.update_billing | 결제 방법 및 플랜 업데이트 | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | 청구서 보기 | ✅ | ✅ | ✅ | ❌ |
org.read_audit | 조직 활동 로그 보기 | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | 청구 관련 감사 로그 보기 | ✅ | ✅ | ✅ | ❌ |
__CAPGO_KEEP_0__
| 역할 | __CAPGO_KEEP_0__ | 설명 |
|---|---|---|
| 앱 관리자 | app_admin | 한 앱에 대한 전체 제어 — 채널, 장치, 사용자 역할. 앱 삭제 또는 전송은 조직 수준의 작업입니다. |
| 앱 개발자 | app_developer | 번들 업로드, 장치 관리, 원시 빌드 트리거, 채널 설정 업데이트. 삭제, 앱 설정 변경, 채널 생성은 허용되지 않습니다. |
| 앱 업로더 | app_uploader | 읽기 권한 + 새로운 번들 버전 업로드 |
| 앱 리더 | app_reader | 읽기 전용 — 통계, 번들, 채널, 로그, 장치 |
권한 매트릭스
앱 권한 매트릭스 섹션| 권한 | 설명 | 앱 관리자 | 앱 개발자 | 앱 업로더 | 앱 리더 |
|---|---|---|---|---|---|
app.read | 앱 상세 정보, 통계 및 메타데이터를 보려면 | ✅ | ✅ | ✅ | ✅ |
app.update_settings | 앱 설정을 편집하려면 | ✅ | ❌ | ❌ | ❌ |
app.read_bundles | 업로드 한 배포 목록을 보려면 | ✅ | ✅ | ✅ | ✅ |
app.upload_bundle | 새 버전의 배포 업로드 | ✅ | ✅ | ✅ | ❌ |
app.create_channel | 새 채널 만들기 | ✅ | ❌ | ❌ | ❌ |
app.read_channels | 채널 보기 | ✅ | ✅ | ✅ | ✅ |
app.read_logs | 업데이트 전송 로그 보기 | ✅ | ✅ | ✅ | ✅ |
app.manage_devices | 장치Assign, Override, 또는 Unlink | ✅ | ✅ | ❌ | ❌ |
app.read_devices | 장치 목록 보기 | ✅ | ✅ | ✅ | ✅ |
app.build_native | 자연 클라우드 빌드 트리거 | ✅ | ✅ | ❌ | ❌ |
app.read_audit | 앱 수준 활동 로그 보기 | ✅ | ✅ | ✅ | ✅ |
app.update_user_roles | 앱 범위 역할 Assign 관리 | ✅ | ❌ | ❌ | ❌ |
bundle.delete | 배달 삭제 | ✅ | ❌ | ❌ | ❌ |
채널 역할
제목 ‘채널 역할’단일 채널에 제한됩니다. 특정 릴리스 채널에 대한 목표 접근 권한을 제공하기 위해 유용합니다.
| 역할 | 내부 이름 | 설명 |
|---|---|---|
| 채널 관리자 | channel_admin | 채널 설정, 배포/롤백 패키지, 강제 장치 관리와 같은 채널 1개에 대한 전체 제어. |
| 채널 뷰어 | channel_reader | 읽기 전용 — 현재 배포, 기록, 강제 장치, 감사 로그. |
채널 권한 매트릭스
제목이 "채널 권한 매트릭스"인 섹션| 권한 | 권한 설명 | 채널 관리자 | 채널 관찰자 |
|---|---|---|---|
channel.read | 채널과 현재 배포본을 확인하세요 | ✅ | ✅ |
channel.update_settings | 채널 설정 편집 (플랫폼 토글, 업데이트 정책…) | ✅ | ❌ |
channel.delete | 채널 삭제 | ✅ | ❌ |
channel.read_history | 배포본 assignments 기록 보기 | ✅ | ✅ |
channel.promote_bundle | 채널에 현재 배포본 설정 | ✅ | ❌ |
channel.rollback_bundle | 이전 배포본으로 롤백 | ✅ | ❌ |
channel.manage_forced_devices | 특정 장치에 이 채널 강제 | ✅ | ❌ |
channel.read_forced_devices | 강제 장치 목록 보기 | ✅ | ✅ |
channel.read_audit | 채널 활동 로그 보기 | ✅ | ✅ |
배포본 역할
Bundle 역할단일 버전으로 제한됩니다. 대부분의 팀은 앱 수준 역할을 사용합니다.
| 내부 이름 | 설명 | Bundle 관리자 |
|---|---|---|
| 특정 버전의 Bundle을 읽고, 업데이트, 삭제할 수 있습니다. | bundle_admin | via |
| Bundle Viewer | bundle_reader | 특정 번들에 대한 읽기 전용 접근. |
채널 권한 오버라이드 (대시보드)
채널 권한 오버라이드 (대시보드) 섹션 제목대시보드에서 채널 접근 권한은 기본적으로 사용자의 앱 역할에 의해 결정됩니다. 더 세부적인 제어가 필요하다면, 사용자 또는 그룹별로 채널 권한을 오버라이드할 수 있습니다. 앱 역할을 변경하지 않고.
오버라이드 설정은 앱의 Access 탭에서 채널 권한 버튼(보호기 아이콘)을 클릭하여 사용자 옆에 있습니다. 자세한 설명은 Organization — Overriding channel permissions 을 참조하세요.
__CAPGO_KEEP_0__
__CAPGO_KEEP_1__| __CAPGO_KEEP_0__ | __CAPGO_KEEP_2__ | __CAPGO_KEEP_3__ |
|---|---|---|
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_4__ | __CAPGO_KEEP_5__ |
| __CAPGO_KEEP_6__ | __CAPGO_KEEP_7__ | __CAPGO_KEEP_8__ |
| __CAPGO_KEEP_9__ | 채널에서 활성화된 번들 설정 또는 변경 | 앱 역할에서 상속 |
각 권한은 다음과 같이 설정할 수 있습니다:
- 기본 — 앱 역할에서 상속 (기본)
- 허용 — 앱 역할에 관계없이 명시적으로 허용
- 거부 — 앱 역할에 관계없이 명시적으로 거부
예를 들어, App Reader에게 채널에서 번들을 연관시킬 수 있는 권한을 부여하여 App Developer로 승격하지 않도록 할 수 있습니다. staging 역할 계층
__CAPGO_KEEP_0__
역할 계층역할은 계층 구조를 형성합니다. 부모 역할은 자식 역할의 모든 권한을 상속합니다. 즉, 은 org_admin 이 할당된 모든 권한을 가집니다. 이 권한은 다시 app_admin 에게도 적용됩니다. channel_admin 복사
Super Admin (org_super_admin) └── Admin (org_admin) └── App Admin (app_admin) ├── App Developer (app_developer) │ └── App Uploader (app_uploader) │ └── App Reader (app_reader) ├── Bundle Admin (bundle_admin) │ └── Bundle Viewer (bundle_reader) └── Channel Admin (channel_admin) └── Channel Viewer (channel_reader)기관 수준의
- 은 에게 할당된 모든 권한을 가집니다. Copy to clipboard 앱 관리자 기관 내 모든 앱에서 앱 관리자가 할 수 있습니다.
- 특정 앱의 앱 관리자는 특정 앱의 모든 채널에서 채널 관리자가 할 수 있는 것과 같습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 업로더는 앱 개발자가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다.
- 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다. 앱 개발자는 앱 업로더가 할 수 있는 것과 더 많은 것을 할 수 있습니다.
__CAPGO_KEEP_0__ __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ channel_admin __CAPGO_KEEP_3__
__CAPGO_KEEP_4__
하위 계층만 흐릅니다.아래로 — 조직 수준의 권한을 얻지 못하고, 그들이 또한 앱 수준의 역할을 보유하고 있는 경우에도.
- 사용자별로 역할을 assign하는 대신, 그룹을 만들고 그룹에 역할을 assign할 수 있습니다. 그룹의 모든 멤버는 자동으로 그 역할을 inherit합니다. 한 개의 조직 — 여러 개의 조직을跨越할 수 없습니다.
- 그룹은 org, app, channel, 또는 bundle의任意 범위에서 역할 할당을 보유할 수 있습니다. 예를 들어, 그룹은 App A에 App Developer 역할을 할당하고 App B의 채널에 Channel Admin 역할을 할당할 수 있습니다. 사용자의 권한이 평가될 때, 그들의 그룹 구성원십은 투명하게 해결됩니다. 그들의 그룹 중 하나가 필요한 권한을 부여하면 접근이 허용됩니다.사용자는 __CAPGO_KEEP_0__ 그룹은 org, app, channel, 또는 bundle의任意 범위에서 역할 할당을 보유할 수 있습니다. 예를 들어, 그룹은 App A에 App Developer 역할을 할당하고 App B의 채널에 Channel Admin 역할을 할당할 수 있습니다. 사용자의 권한이 평가될 때, 그들의 그룹 구성원십은 투명하게 해결됩니다. 그들의 그룹 중 하나가 필요한 권한을 부여하면 접근이 허용됩니다. 사용자는
staging__CAPGO_KEEP_0__ - 사용자는 여러 개의 그룹에 속할 수 있습니다.
- __CAPGO_KEEP_0__ 다중 그룹, 모든 그룹의 권한이 누적됩니다.
- 그룹 기반 권한은 사용자 주체 — API 키는 그룹 역할을 상속하지 않습니다.
그룹 사용하기
제목: "그룹 사용하기"| 사례 | 그룹이 없는 경우 | 그룹이 있는 경우 |
|---|---|---|
| 5명의 QA 엔지니어가 3개의 앱에 개발자 접근 권한이 필요합니다. | 15개의 개별 역할 바인딩 | 1 그룹 + 3 역할 바인딩 |
| QA 팀에 누군가가 합류합니다 | 3 역할 바인딩을 수동으로 추가합니다 | 그룹에 추가합니다 |
| QA 팀에 누군가가 떠나면 | 3 역할 바인딩을 수동으로 제거합니다 | 그룹에서 제거합니다 |
API를 통해 그룹 관리
API를 통해 그룹 관리모든 그룹 엔드포인트는 인증이 필요하고 /private/groups.
그룹 목록
그룹 목록curl -X GET "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>"필요한 org.read_members 권한이 필요합니다.
그룹 만들기
그룹 만들기 제목curl -X POST "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "QA Team", "description": "Quality assurance engineers" }'필요한 org.update_user_roles 권한이 필요합니다. (슈퍼 관리자 또는 관리자).
그룹 업데이트
그룹 업데이트curl -X PUT "https://api.capgo.app/private/groups/<GROUP_ID>" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "QA Team", "description": "Updated description" }'그룹 삭제
그룹 삭제curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>" \ -H "authorization: <API_KEY>"그룹 삭제 시 그룹의 역할 바인딩도 함께 삭제됩니다. 조직의 멤버는 삭제되지 않습니다.
그룹 멤버 목록
그룹 멤버 목록curl -X GET "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>"그룹에 멤버 추가
그룹에 멤버 추가curl -X POST "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "user_id": "<USER_UUID>" }'사용자는 이미 조직의 멤버여야 합니다. 기존 멤버를 추가하는 것은 무효입니다.
그룹에서 멤버 제거
그룹에서 멤버 제거curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>/members/<USER_UUID>" \ -H "authorization: <API_KEY>"Assigning roles via API
Section titled “Assigning roles via API”멤버 목록
터미널 창curl -X GET "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>" }'클립보드에 복사
[ { "uid": "user-uuid", "email": "alice@example.com", "image_url": "https://...", "role": "org_admin", "is_tmp": false }]회원 초대
회원 초대 섹션curl -X POST "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>", "email": "bob@example.com", "invite_type": "org_admin" }'허용된 값 invite_type:
| 값 | assign된 역할 |
|---|---|
org_super_admin | 슈퍼 관리자 |
org_admin | 관리자 |
org_billing_admin | Billing 매니저 |
org_member | 회원 |
curl -X DELETE "https://api.capgo.app/organization/members" \ -H "authorization: <API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "orgId": "<ORG_ID>", "email": "bob@example.com" }'CLI을 통해 역할 할당
Section titled “CLI을 통해 역할 할당”npx @capgo/cli organization list --apikey <API_KEY>npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>사용자 지정 역할
사용자 지정 역할__CAPGO_KEEP_0__ 내장 역할은 대부분의 팀 구조를 커버합니다. 사용자 지정 역할 생성은 우리의 로드맵에 있습니다 — 이 기능이 팀에 필요하다면, 우리에 연락하세요.이 기능을 사용하는 경우는 직접 우선순위를 결정할 것입니다.