Access Control Reference
이 플러그인의 설치 단계와 전체 마크다운 가이드를 포함한 설정 명령어를 복사하세요.
Capgo 사용 역할 기반 접근 제어 (RBAC) 각 팀원에게 할 수 있는 일을 관리하는 데 도움이 됩니다. 역할은 전체 조직에서 단일 번들까지의 범위에 따라 조직화됩니다. __CAPGO_KEEP_0__ 범위
조직 역할 범위.
__CAPGO_KEEP_1__
| 예시 사용 사례 | 조직 | __CAPGO_KEEP_2__ |
|---|---|---|
| __CAPGO_KEEP_3__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| 앱 | __CAPGO_KEEP_0__ | 앱 |
| 채널 | 채널 | 버전 staging 릴리스에 대한 읽기 전용 접근이 필요합니다. |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
__CAPGO_KEEP_0__ 회원은 __CAPGO_KEEP_0__ 범위 내에서 예를 들어, __CAPGO_KEEP_0__ 역할, __CAPGO_KEEP_1__ 앱 역할, __CAPGO_KEEP_2__ 앱 역할 등 하나의 역할을 가질 수 있습니다.
__CAPGO_KEEP_0__ 역할
__CAPGO_KEEP_0__ 제목: __CAPGO_KEEP_0__ 역할__CAPGO_KEEP_0__ 역할은 __CAPGO_KEEP_1__ 멤버 초대 시 assign 됩니다. __CAPGO_KEEP_0__ 역할은 __CAPGO_KEEP_2__ 전체 조직에 대한 접근 권한을 부여합니다.
| __CAPGO_KEEP_0__ 역할 | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
|---|---|---|
| __CAPGO_KEEP_1__ | org_super_admin | __CAPGO_KEEP_2__ |
| __CAPGO_KEEP_3__ | 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 | 회원 역할 변경 (관리자 Super Admin으로 승격 못 함 — 역할 계층으로 차단) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | 결제 정보 및 현재 플랜 보기 | ✅ | ✅ | ✅ | ❌ |
org.update_billing | 결제 방법 및 플랜 업데이트 | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | 청구서 보기 | ✅ | ✅ | ✅ | ❌ |
org.read_audit | 조직 활동 로그 보기 | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | 결제 관련 감사 로그 보기 | ✅ | ✅ | ✅ | ❌ |
앱 역할
앱 역할단일 앱에만 제한됩니다. 팀원은 단일 앱에만 작업해야 할 때 사용하세요. 전체 조직에 대한 앱이 아닙니다.
| 역할 | __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 | 채널 배포 역사를 보십시오 | ✅ | ✅ |
channel.promote_bundle | 채널에 활성화된 채널을 설정 | ✅ | ❌ |
channel.rollback_bundle | 이전 채널로 롤백 | ✅ | ❌ |
channel.manage_forced_devices | 특정 장치에 이 채널을 강제 | ✅ | ❌ |
channel.read_forced_devices | 강제 장치 목록을 보십시오 | ✅ | ✅ |
channel.read_audit | 채널 활동 로그를 보십시오 | ✅ | ✅ |
__CAPGO_KEEP_0__와 __CAPGO_KEEP_1__를 통해 Bundle 역할을 사용할 수 있습니다.
| 역할 | 내부 이름 | 설명 |
|---|---|---|
| Bundle 관리자 | bundle_admin | 특정 Bundle을 읽고, 업데이트, 삭제할 수 있습니다. |
| Bundle Viewer | bundle_reader | __CAPGO_KEEP_0__ |
특정 번들에 대한 읽기 전용 접근.
__CAPGO_KEEP_1__기본적으로 대시보드에서 채널 접근은 사용자의 앱 역할에 의해 결정됩니다. 더 세부적인 제어를 원하시면 사용자 또는 그룹에 대한 특정 채널 권한을 override 권한을 변경하지 않고 앱 역할을 변경하지 않으면서
__CAPGO_KEEP_2__ 에서 앱의 Access 탭을 클릭하여 사용자 옆에 있는 채널 권한 버튼(shield 아이콘)을 클릭하여 구성합니다. 자세한 설명은 Organization — Overriding channel permissions
Override 가능한 권한
Override 가능한 권한| 권한 | 설명 | 기본 동작 |
|---|---|---|
| 읽기 | 채널과 현재 번들 보기 | 앱 역할에서 상속 |
| 이력 | 번들 assignment 이력 보기 | 앱 역할에서 상속 |
| 번들 연결 | 채널에서 활성화된 번들 설정 또는 변경 | 앱 역할에서 상속 |
각 권한은 다음과 같이 설정할 수 있습니다:
- 기본 — 앱 역할에서 상속 (기본)
- 허용 — 앱 역할에 관계없이 명시적으로 허용
- 거부 — 앱 역할에 관계없이 명시적으로 거부
예를 들어, 앱 리더에게 채널에서 번들을 연관시킬 수 있는 권한을 부여하여 개발자로 승격하지 않도록 할 수 있습니다. 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)클립보드에 복사
- 실제 적용 방법: 기관 수준의 관리자 App Admin 전체 조직 내의 모든 앱에서 작동할 수 있습니다.
- 특정 앱의 App Admin은 모든 Channel Admin 이 앱 내의 모든 채널에서 작동할 수 있습니다. 특정 앱의 App Developer는 모든 App Uploader
- 의 기능을 모두 가지고 있으며 더 많은 기능이 있습니다. __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ __CAPGO_KEEP_2__ __CAPGO_KEEP_3__
The hierarchy only flows downward — a channel_admin never gains org-level permissions, even if they also hold an app-level role.
Groups
그룹Instead of assigning roles to each user individually, you can create 그룹 and assign roles to the group. Every member of the group inherits those roles automatically.
그룹의 작동 방식
그룹의 작동 방식- 그룹은 한 개의 조직 — 여러 개의 조직을跨越할 수 없습니다.
- 그룹은 org, app, channel, 또는 bundle의任意 범위에서 역할 할당을 보유할 수 있습니다. 예를 들어, 그룹은 App A에 App Developer 역할을 할당하고 App B의 채널에 Channel Admin 역할을 할당할 수 있습니다. 사용자의 권한이 평가될 때, 그룹 구성원십이 투명하게 해결됩니다. 만약 그룹 중 하나가 필요한 권한을 부여하면 접근이 허용됩니다.사용자는 역할 할당 범위 App Developer Channel Admin
staging권한 - 권한
- 권한 다중 그룹모든 그룹의 권한 및 권한이 누적됩니다.
- 그룹 기반 권한은 사용자 주체 — API 키는 그룹 역할을 상속하지 않습니다.
그룹 사용 시기
제목 ‘그룹 사용 시기’| 사례 | 그룹이 없는 경우 | 그룹이 있는 경우 |
|---|---|---|
| 5명의 QA 엔지니어가 3개의 앱에 개발자 접근 권한이 필요합니다 | 15개의 개별 역할 바인딩 | 1 그룹 + 3 역할 바인딩 |
| QA 팀에 누군가가 합류합니다 | 3 역할 바인딩을 수동으로 추가합니다 | 그룹에 추가합니다 |
| QA 팀에 누군가가 떠나면 | 3 역할 바인딩을 수동으로 제거합니다 | 그룹에서 제거합니다 |
API를 통해 그룹 관리
API를 통해 그룹 관리모든 그룹 엔드포인트는 인증이 필요하고 __CAPGO_KEEP_0__ 하위에서 제공됩니다 /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>"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>" }'Response:
[ { "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 | 결제 관리자 |
org_member | 회원 |
회원 제거
__CAPGO_KEEP_0__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를 통해 역할 assign
CLI를 통해 역할 assign조직 목록
__CAPGO_KEEP_0__npx @capgo/cli organization list --apikey <API_KEY>멤버 목록
__CAPGO_KEEP_0__npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>사용자 지정 역할
사용자 지정 역할내장 역할은 대부분의 팀 구조를 커버합니다. 사용자 지정 역할 생성은 우리의 로드맵에 있습니다 — 이 기능이 팀이 필요로 한다면 우리에 연락하세요. 이 기능을 사용하는 경우 직접 우리를 도와 우리의 우선순위를 결정할 것입니다.
Access Control Reference에서 계속
Access Control Reference에서 계속__CAPGO_KEEP_1__를 사용하는 경우 액세스 제어 참조 API과 연결하여 대시보드 및 API 작업을 계획하세요. API 개요 API 개요의 구현 세부 정보에 대해 알아보세요. 소개 소개의 구현 세부 정보에 대해 알아보세요. API 키 API 키의 구현 세부 정보에 대해 알아보세요. 장치 장치의 구현 세부 정보에 대해 알아보세요. 배포 집합 배포 집합의 구현 세부 정보에 대해 알아보세요.