Access Control Reference
설치 단계와 이 플러그인의 전체 마크다운 가이드를 포함한 설정 프롬프트를 복사하세요.
Capgo 사용 역할 기반 접근 제어(RBAC)를 사용하여 팀원 각각이 무엇을 할 수 있는지 관리합니다. 역할은 범위 — 조직 전체에서 단일 번들까지 멤버를 관리하는 데스크톱의 시각적인_walkthrough를 보려면
조직 Organization.
역할 범위
역할 범위모든 역할은 특정 리소스에 접근 허용하는 범위에 속합니다.
| 범위 | 적용 대상 | 예시 사용 사례 |
|---|---|---|
| 회사 | 회사 전체 및 모든 앱 | 동료가 Super Admin; 회계 담당자가 Billing Manager |
| 앱 | 단일 앱 및 채널 | 단일 앱에 작업하는 계약자에게 App Developer |
| 채널 | 앱 내의 단일 채널 | QA 엔지니어는 단일 채널만 관리합니다. staging 채널 |
| 버nd | 앱의 단일 버전 | 특정 릴리스에 대한 읽기 접근 권한이 필요한 리뷰어 |
멤버는 한 개의 역할을 한 개의 범위 목표당으로 유지할 수 있습니다. 예를 들어, 한 개의 조직 역할, App A의 역할, App B의 다른 역할. 조직 역할
조직 역할
__CAPGO_KEEP_0__이 역할은 멤버를 초대할 때 assign됩니다. 이 역할은 전체 조직에 대한 접근 권한을 부여합니다.
| 역할 | 내부 이름 | 설명 |
|---|---|---|
| 슈퍼 어드민 | org_super_admin | 소유권과 유사. 조직을 삭제하고, 청구를 관리하고, 앱을 이전할 수 있는 전체 제어권. 조직 생성자에게 자동으로 부여됩니다. |
| 관리자 | org_admin | 전체 관리 — 멤버, 앱, 채널을 관리할 수 있습니다. 조직을 삭제할 수 없으며, 청구를 업데이트 할 수 없으며, 앱을 이전할 수 없으며, 사용자를 슈퍼 어드민으로 승격할 수 없습니다. |
| 청구 매니저 | org_billing_admin | 청구만 접근할 수 있는 권한: 청구 정보, 청구서, 청구 감사 로그를 볼 수 있습니다. 앱 또는 멤버에 대한 접근 권한이 없습니다. |
| 멤버 | org_member | 조직 및 모든 앱에 대한 읽기 전용 접근 권한 |
조직 권한 매트릭스
조직 권한 매트릭스 섹션| 권한 | 설명 | 슈퍼 관리자 | 관리자 | 결제 관리자 | 멤버 |
|---|---|---|---|---|---|
org.read | 조직을 보려면 | ✅ | ✅ | ✅ | ✅ |
org.update_settings | 조직 이름, 로고, 관리 이메일 편집 | ✅ | ✅ | ❌ | ❌ |
org.delete | 조직을 영구 삭제 | ✅ | ❌ | ❌ | ❌ |
org.read_members | 멤버 목록 보기 | ✅ | ✅ | ❌ | ✅ |
org.invite_user | 새로운 멤버 초대 | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | 관리자로 승격할 수 없습니다. 역할 계층 구조로 인해 Super Admin으로 승격할 수 없습니다. | ✅ | ✅ | ❌ | ❌ |
org.read_billing | BILLING 정보 및 현재 플랜 보기 | ✅ | ✅ | ✅ | ❌ |
org.update_billing | 결제 방법 및 플랜 업데이트 | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | 인보이스 보기 | ✅ | ✅ | ✅ | ❌ |
org.read_audit | 조직 활동 로그 보기 | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | BILLING 관련 감사 로그 보기 | ✅ | ✅ | ✅ | ❌ |
역할
| 내부 이름 | 설명 | 앱 관리자 |
|---|---|---|
| 한 앱에 대한 전체 제어 — 채널, 장치, 앱에 대한 사용자 역할. 앱을 삭제하거나 전송할 수 없습니다 (이것은 조직 수준의 작업입니다). | app_admin | __CAPGO_KEEP_0__ |
| 애플리케이션 개발자 | app_developer | 배ंडल 업로드, 장치 관리, 네이티브 빌드 트리거, 채널 설정 업데이트. 삭제, 앱 설정 변경, 채널 생성 없음. |
| 앱 업로더 | app_uploader | 읽기 액세스 + 새로운 배ंडल 버전 업로드. |
| 앱 리더 | app_reader | 읽기 전용 — 통계, 배ंडल, 채널, 로그, 장치. |
앱 권한 매트릭스
권한| 설명 | 앱 관리자 | 애플리케이션 개발자 | __CAPGO_KEEP_0__ | 앱 업로더 | 앱 리더 |
|---|---|---|---|---|---|
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 | 앱 범위 역할 할당 관리 | ✅ | ❌ | ❌ | ❌ |
bundle.delete | 배ंडल 삭제 | ✅ | ❌ | ❌ | ❌ |
채널 역할
채널 역할단일 채널에 제한됩니다. 특정 릴리스 채널에 대한 표적 접근을 제공하는 데 유용합니다.
| 채널 관리자 | 채널 권한 오버라이드 | 대시보드 |
|---|---|---|
| 채널 | channel_admin | 한 채널의 완전한 제어: 설정, promote/rollback 패키지, 강제 장치 관리. |
| 채널 뷰어 | channel_reader | 읽기 전용 — 현재 패키지, 기록, 강제 장치, 감사 로그. |
채널 권한 매트릭스
권한 매트릭스 섹션| 권한 | 설명 | 채널 관리자 | 채널 뷰어 |
|---|---|---|---|
channel.read | 채널과 현재 패키지를 확인하세요. | ✅ | ✅ |
channel.update_settings | 채널 설정 편집 (플랫폼 토글, 업데이트 정책…) | ✅ | ❌ |
channel.delete | 채널 삭제 | ✅ | ❌ |
channel.read_history | __CAPGO_KEEP_0__ | ✅ | ✅ |
channel.promote_bundle | __CAPGO_KEEP_1__ | ✅ | ❌ |
channel.rollback_bundle | __CAPGO_KEEP_2__ | ✅ | ❌ |
channel.manage_forced_devices | __CAPGO_KEEP_3__ | ✅ | ❌ |
channel.read_forced_devices | __CAPGO_KEEP_4__ | ✅ | ✅ |
channel.read_audit | __CAPGO_KEEP_5__ | ✅ | ✅ |
__CAPGO_KEEP_6__
__CAPGO_KEEP_7____CAPGO_KEEP_8__
| 역할 | 내부 이름 | 설명 |
|---|---|---|
| Bundle Admin | bundle_admin | 특정 번들에 대해 읽기, 업데이트 메타데이터, 삭제 |
| Bundle Viewer | bundle_reader | 특정 번들에 대한 읽기 전용 접근 |
채널 권한 오버라이드 (대시보드)
채널 권한 오버라이드 (대시보드)대시보드에서 채널 접근은 기본적으로 사용자의 앱 역할에 의해 결정됩니다. 더 세부적인 제어가 필요하다면, 특정 채널 권한을 우선순위로 설정 사용자 또는 그룹별로 앱 역할을 변경하지 않고
권한 우선순위는 앱의 Access 탭에서 채널 권한 버튼(보호기호)을 클릭하여 사용자 옆에 있습니다. 자세한 설명은 Organization — 채널 권한 우선순위 를 참조하세요.
권한 우선순위
Section titled “권한 우선순위”| 권한 | 설명 | 기본 동작 |
|---|---|---|
| 읽기 | 채널과 현재 번들 보기 | 앱 역할에서 상속 |
| 역사 | 채널에 할당된 번들의 역사 보기 | 앱 역할에서 상속 |
| 번들 연결 | 채널에 활성화된 번들을 설정하거나 변경 | 앱 역할에서 상속 |
권한을 설정할 수 있습니다.
- 기본 — 앱 역할에서 상속(기본값)
- 허용 — 앱 역할에 관계없이 명시적으로 허용합니다.
- 거부 — 앱 역할에 관계없이 명시적으로 거부합니다.
이것은 예를 들어 App Reader에게 채널에서 패키지를 연관시킬 수 있는 권한을 부여하는 것을 허용합니다. 그러나 패키지를 App Developer로 승격시키지는 않습니다. staging 역할 계층
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ org_admin __CAPGO_KEEP_0__ 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)실제로 작동하는 방식:
- 1 기관 수준의 Admin은 모든 것을 할 수 있는 App Admin은 기관 수준에서 모든 앱에서 모든 것을 할 수 있습니다. 특정 앱의 App Admin은 모든 것을 할 수 있습니다. 1
- 특정 앱의 App Admin은 모든 것을 할 수 있습니다. 1 특정 앱의 App Admin은 모든 것을 할 수 있습니다. 채널 관리자 __CAPGO_KEEP_0__
- An 앱 개발자 __CAPGO_KEEP_0__ 앱 업로더 __CAPGO_KEEP_0__
그룹 그룹 그룹 channel_admin 그룹
그룹
그룹 제목개별 사용자에 역할을 assign하는 대신, 그룹 을 만들고 그룹에 역할을 assign할 수 있습니다. 그룹의 모든 멤버는 자동으로 그룹에 할당된 역할을 inherit합니다.
그룹이 어떻게 작동하는가
그룹이 어떻게 작동하는가- 그룹은 한 개의 organization에 속합니다 — 여러 org에 걸쳐서는 안됩니다. 그룹은
- 어떤 scope에서 role binding을 가질 수 있습니다 : org, app, channel, 또는 bundle. 예를 들어, 그룹은 org에 role binding을 가질 수 있습니다. __CAPGO_KEEP_0__ 예를 들어, 그룹은 app에 role binding을 가질 수 있습니다.__CAPGO_KEEP_0__ 예를 들어, 그룹은 channel에 role binding을 가질 수 있습니다. 애플리케이션 개발자 앱 A에서 역할을 수행하고 채널 관리자 앱 B의 채널에서 역할을 수행하고
staging사용자의 권한이 평가될 때, 그룹 멤버십이 투명하게 해결됩니다. 그룹 중 하나가 필요한 권한을 부여하면 접근이 허용됩니다. - 사용자는
- 여러 그룹에 속할 수 있습니다 , 모든 그룹의 권한이 누적됩니다.그룹 기반 권한은
- 사용자 주체 — __CAPGO_KEEP_0__ 키는 그룹 역할을 상속하지 않습니다. API
When to use groups
그룹 사용 시기| Scenario | 시나리오 | Without groups |
|---|---|---|
| 그룹이 없는 경우 | With groups | 그룹이 있는 경우 |
| 5 QA engineers need Developer access to 3 apps | 5명의 QA 엔지니어가 3개의 앱에 개발자 접근 권한이 필요합니다. | 15 individual role bindings |
| 15개의 개인 역할 바인딩이 필요합니다. (1명당 1개씩 15명이 필요합니다.) | 수동으로 3 개의 역할 결합 제거 | 그룹에서 제거 |
API를 통해 그룹 관리
제목: API를 통해 그룹 관리모든 그룹 엔드포인트는 인증이 필요하고 Cloudflare에서 제공됩니다. /private/groups.
그룹 목록
제목: 그룹 목록curl -X GET "https://api.capgo.app/private/groups/<ORG_ID>" \ -H "authorization: <API_KEY>"권한이 필요합니다. org.read_members 그룹 만들기
__CAPGO_KEEP_0__
그룹 만들기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>"역할을 API을 통해 assign하세요.
API 역할 assign하기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" }'__CAPGO_KEEP_0__ 역할 assign하기에 허용되는 값 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" }'역할 assign via CLI
제목 “역할 assign via CLI”조직 목록
조직 목록 섹션npx @capgo/cli organization list --apikey <API_KEY>멤버 목록
멤버 목록 섹션npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>사용자 지정 역할
개인 역할내장 역할은 대부분의 팀 구조를 커버합니다. 사용자 지정 역할 생성은 우리의 로드맵에 있습니다 — 이 기능이 팀이 필요하다면 우리에 연락하세요.당신의 사용 사례는 이 기능을 우선순위로 지정하는 데 직접 도움이 될 것입니다.
Access Control Reference에서 계속
Access Control Reference를 사용하여 대시보드와 __CAPGO_KEEP_0__ 운영을 계획하고 있다면__CAPGO_KEEP_0__ Overview와 연결하세요. __CAPGO_KEEP_0__ Overview에서 __CAPGO_KEEP_0__ Overview에 대한 구현 세부 정보를 참조하세요. to plan dashboard and API operations, connect it with API Overview for the implementation detail in API Overview, If you are using __CAPGO_KEEP_0__ 구현 세부 정보 API 키 API 키의 구현 세부 정보 장치 __CAPGO_KEEP_0__ 구현 세부 정보 묶음 __CAPGO_KEEP_0__ 구현 세부 정보