Access Control Reference
インストール手順とこのプラグインの全マークダウンガイドを含むセットアップ用の質問をコピーしてください。
Capgoは ロールベースのアクセス制御(RBAC)を使用して 各チームメンバーが何ができるかを管理します。ロールは 範囲 — 組織全体から単一のバンドルまでの範囲で組織化されます。
メンバーを管理するダッシュボードのビジュアルウォーカスソースを参照してください 組織.
役割スコープ
役割スコープすべての役割は、リソースへのアクセスを許可するスコープに属します。
| スコープ | 適用対象 | 例えば |
|---|---|---|
| 組織 | 組織全体とすべてのアプリ | 共同創業者はSuper Admin、会計士はBilling Manager |
| アプリ | 単一のアプリとそのチャネル | __CAPGO_KEEP_0__は1つのアプリに取り組む契約者に__CAPGO_KEEP_1__開発者を与えます |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__のQAエンジニアは、__CAPGO_KEEP_0__を管理するのみです staging __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_2__ | __CAPGO_KEEP_0__の1つのバージョン | __CAPGO_KEEP_3__は1つの特定のリリースにアクセスする必要があるレビュアーに必要です |
__CAPGO_KEEP_4__は__CAPGO_KEEP_0__の1つの役割を保持できます __CAPGO_KEEP_0__の1つの役割を__CAPGO_KEEP_5__に、__CAPGO_KEEP_6__の1つの役割を__CAPGO_KEEP_7__に、__CAPGO_KEEP_8__の1つの役割を__CAPGO_KEEP_9__に保持できます。 __CAPGO_KEEP_10__の役割
__CAPGO_KEEP_11__の役割
組織ロール__CAPGO_KEEP_0__は組織に招待されたときに割り当てられます。これらは組織全体へのアクセスを提供します。
| ロール | 内部名 | 説明 |
|---|---|---|
| スーパーアドミン | org_super_admin | オーナーに相当する。組織を削除、請求管理、アプリを転送するなど、全ての制御権限が付与されます。組織を作成したユーザーに自動的に付与されます。 |
| 管理者 | org_admin | フル管理権限 — メンバー、 アプリ、 チャンネルを管理できます。組織を削除、請求管理を更新、 アプリを転送、 ユーザーをスーパーアドミンに昇格することはできません。 |
| 請求管理者 | org_billing_admin | 請求管理のみアクセス:請求情報、請求書、請求アクセスログを表示および更新できます。アプリまたはメンバーへのアクセスはありません。 |
| メンバー | org_member | __CAPGO_KEEP_0__の読み取り専用アクセスとすべてのアプリ |
組織の権限マトリックス
「組織の権限マトリックス」セクション| 権限 | 説明 | スーパーアドミン | 管理者 | 請求管理者 | メンバー |
|---|---|---|---|---|---|
org.read | 組織を表示 | ✅ | ✅ | ✅ | ✅ |
org.update_settings | 組織名、ロゴ、管理メールの編集 | ✅ | ✅ | ❌ | ❌ |
org.delete | 組織を永久に削除 | ✅ | ❌ | ❌ | ❌ |
org.read_members | View the member list | ✅ | ✅ | ❌ | ✅ |
org.invite_user | Invite new members | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | Change member roles (Admin cannot promote to Super Admin — blocked by role hierarchy) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | View billing info and current plan | ✅ | ✅ | ✅ | ❌ |
org.update_billing | Update payment method and plan | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | View invoices | ✅ | ✅ | ✅ | ❌ |
org.read_audit | View organization activity log | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | View billing-specific audit log | ✅ | ✅ | ✅ | ❌ |
アプリロール
アプリロールのセクション1つのアプリに限定される。チームメンバーが組織全体ではなく、1つのアプリのみで作業する場合に使用します。
| ロール | 内部名 | 説明 |
|---|---|---|
| アプリ管理者 | app_admin | 1アプリの完全な管理権限 — チャネル、デバイス、ユーザーロール。 |
| App Developer | app_developer | バンドルアップロード、デバイス管理、ネイティブビルドトリガー、チャネル設定の更新。削除、設定変更、チャネル作成は不可。 |
| App Uploader | app_uploader | 読み取り権限 + 新バンドルバージョンのアップロード。 |
| App Reader | app_reader | 読み取り専用 — 統計、バンドル、チャネル、ログ、デバイス。 |
アプリ権限マトリックス
Section titled “アプリ権限マトリックス”| 権限 | 説明 | アプリ管理者 | アプリ開発者 | アプリアップローダー | アプリリーダー |
|---|---|---|---|---|---|
app.read | アプリの詳細、統計、メタデータを表示 | ✅ | ✅ | ✅ | ✅ |
app.update_settings | アプリの設定を編集 | ✅ | ❌ | ❌ | ❌ |
app.read_bundles | アップロード済みのバンドルの一覧を表示 | ✅ | ✅ | ✅ | ✅ |
app.upload_bundle | 新しいバンドルのアップロード | ✅ | ✅ | ✅ | ❌ |
app.create_channel | 新しいチャンネルの作成 | ✅ | ❌ | ❌ | ❌ |
app.read_channels | チャンネルの表示 | ✅ | ✅ | ✅ | ✅ |
app.read_logs | アップデート配信ログの表示 | ✅ | ✅ | ✅ | ✅ |
app.manage_devices | デバイスの割り当て、オーバーライド、またはアンリンク | ✅ | ✅ | ❌ | ❌ |
app.read_devices | デバイスの一覧を表示 | ✅ | ✅ | ✅ | ✅ |
app.build_native | Cloudflareのネイティブクラウドビルドをトリガーする | ✅ | ✅ | ❌ | ❌ |
app.read_audit | アプリレベルアクティビティログを表示する | ✅ | ✅ | ✅ | ✅ |
app.update_user_roles | アプリスコープロール割り当てを管理する | ✅ | ❌ | ❌ | ❌ |
bundle.delete | バンドルを削除する | ✅ | ❌ | ❌ | ❌ |
チャネルロール
Channel rolesのセクション1つのチャンネルにスコープされている。特定のリリースチャンネルへのターゲットされたアクセスを与えるのに役立つ。
| 役割 | 内部名 | 説明 |
|---|---|---|
| チャンネル管理者 | channel_admin | チャンネルの設定、バンドルをアップグレード/ロールバック、強制デバイスを管理する権限 |
| チャンネルビューア | channel_reader | 読み取り専用 — 現在のバンドル、履歴、強制デバイス、監査ログ |
チャンネル権限マトリックス
チャンネル権限マトリックス| 権限 | 説明 | チャンネル管理者 | チャンネルビューア |
|---|---|---|---|
channel.read | チャンネルとその現在のバンドルを表示 | ✅ | ✅ |
channel.update_settings | チャンネルの設定を編集 (プラットフォームの切り替え、更新ポリシー…) | ✅ | ❌ |
channel.delete | __CAPGO_KEEP_0__を削除する | ✅ | ❌ |
channel.read_history | __CAPGO_KEEP_1__のバンドル割り当て履歴を表示する | ✅ | ✅ |
channel.promote_bundle | __CAPGO_KEEP_2__チャンネルにアクティブなバンドルを設定する | ✅ | ❌ |
channel.rollback_bundle | __CAPGO_KEEP_3__に戻す | ✅ | ❌ |
channel.manage_forced_devices | __CAPGO_KEEP_4__チャンネルに特定のデバイスを強制する | ✅ | ❌ |
channel.read_forced_devices | __CAPGO_KEEP_5__に強制されているデバイスの一覧を表示する | ✅ | ✅ |
channel.read_audit | __CAPGO_KEEP_6__チャンネルの活動ログを表示する | ✅ | ✅ |
__CAPGO_KEEP_7__
__CAPGO_KEEP_7____CAPGO_KEEP_8__
| Role | Internal name | Description |
|---|---|---|
| Bundle Admin | bundle_admin | Read, update metadata, and delete a specific bundle. |
| Bundle Viewer | bundle_reader | Read-only access to a specific bundle. |
Channel permission overrides (Dashboard)
Internal nameダッシュボード内では、デフォルトではユーザーのアプリロールによってチャンネルへのアクセスが決定されます。より細かい制御が必要な場合は、 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__
__CAPGO_KEEP_2__ __CAPGO_KEEP_3__ __CAPGO_KEEP_4__ __CAPGO_KEEP_5__ __CAPGO_KEEP_6__
__CAPGO_KEEP_7__
__CAPGO_KEEP_8__| __CAPGO_KEEP_9__ | オーバーライド可能な権限 | __CAPGO_KEEP_0__ |
|---|---|---|
| 読み込む | __CAPGO_KEEP_1__とその現在のバンドルを表示 | __CAPGO_KEEP_2__から継承 |
| 履歴 | __CAPGO_KEEP_1__のバンドル割り当て履歴を表示 | __CAPGO_KEEP_2__から継承 |
| __CAPGO_KEEP_3__ | __CAPGO_KEEP_4__または__CAPGO_KEEP_3__を__CAPGO_KEEP_1__に設定または変更 | __CAPGO_KEEP_2__から継承 |
__CAPGO_KEEP_5__は次のいずれかになります:
- __CAPGO_KEEP_0__ — アプリロールから継承する (デフォルト)
- 許可 — アプリロールに関係なく、明示的に許可
- 拒否 — アプリロールに関係なく、明示的に拒否
この機能を使用すると、たとえば、App Reader にチャンネルでバンドルを関連付ける能力を与えることができますが、App Developer に昇格することはできません。 staging ロール階層
セクション「ロール階層」
ロールは階層を形成します。親ロールは、子ロールのすべての権限を継承します。 つまり、親ロールの権限が子ロールに自動的に適用されるということです。 親ロールの権限が子ロールに自動的に適用されるということです。 org_admin すべてのことができる app_admin can、つまりすべてのことができる channel_admin can、そしてそれ以降
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)実際の動作:
- A 組織レベルでAdminはすべてのことができる App Admin can、組織内のすべてのアプリで A
- App Admin can、すべてのアプリで On a specific app can do everything a __CAPGO_KEEP_0__ can, on every channel in that app. Channel __CAPGO_KEEP_0__ can do everything an __CAPGO_KEEP_1__ can, plus more.
- The hierarchy only flows __CAPGO_KEEP_2__ — a __CAPGO_KEEP_3__ never gains org-level permissions, even if they also hold an app-level role. App __CAPGO_KEEP_4__ can do everything a __CAPGO_KEEP_5__ can, on every channel in that app. An __CAPGO_KEEP_6__ can do everything a __CAPGO_KEEP_5__ can, on every channel in that app. App __CAPGO_KEEP_7__
can do everything a __CAPGO_KEEP_5__ can, plus more. The hierarchy only flows __CAPGO_KEEP_2__ — a __CAPGO_KEEP_3__ never gains org-level permissions, even if they also hold an app-level role. App __CAPGO_KEEP_4__ channel_admin can do everything a __CAPGO_KEEP_5__ can, on every channel in that app.
グループ
「グループ」タイトルのセクション各ユーザーに役割を個別に割り当てるのではなく、グループを作成し、グループに役割を割り当てることができます。グループのメンバー全員が自動的にその役割を継承します。 グループのしくみ 「グループのしくみ」タイトルのセクション
グループは
1 つの組織に属します- 複数の組織を跨ぐことはできません。 グループは 任意のスコープでロールバインディングを保持できます
- __CAPGO_KEEP_0__ __CAPGO_KEEP_0__: グループ、 アプリ、 チャネル、 または バンドル。 例えば、グループはアプリ A に "App Developer" の役割と、アプリ B のチャネルに "Channel Admin" の役割を割り当てることができます。 アプリ開発者 ロール チャネル管理者 ユーザーのパーミッションの評価時、すべてのグループのメンバーシップが透過的に解決されます。 そのグループが必要なパーミッションを付与している場合、許可が与えられます。
stagingユーザーは複数のグループに所属することができます。 - すべてのグループのパーミッションは加算されます。
- グループベースのパーミッションはユーザープリンシパルにのみ適用されます。 __CAPGO_KEEP_0____CAPGO_KEEP_0__
- __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" }'__CAPGO_KEEP_1__
グループを削除curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>" \ -H "authorization: <API_KEY>"グループを削除すると、そのグループに関連付けられているすべてのロールのバインドも削除されます。組織のメンバーは削除されません。
グループメンバーの一覧
__CAPGO_KEEP_3__curl -X GET "https://api.capgo.app/private/groups/<GROUP_ID>/members" \ -H "authorization: <API_KEY>"グループにメンバーを追加
__CAPGO_KEEP_3__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:
| __CAPGO_KEEP_0__ | 役割の割り当て |
|---|---|
org_super_admin | スーパーアドミン |
org_admin | アドミン |
org_billing_admin | 請求管理者 |
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 で行う
役割を CLI から割り当てる組織をリストする
役割を __CAPGO_KEEP_0__ から割り当てるnpx @capgo/cli organization list --apikey <API_KEY>メンバーをリストする
役割を __CAPGO_KEEP_0__ から割り当てるnpx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>カスタムロール
カスタムロール標準のロールはほとんどのチーム構造をカバーしています。カスタムロールの作成は、ロードマップ上にあります — これがあなたのチームが必要な場合、 私たちに連絡してくださいあなたのケースは、この機能の優先順位を直接決めるため、
アクセス制御リファレンスから続けて
アクセス制御リファレンスを使用している場合、ダッシュボードと__CAPGO_KEEP_0__の操作の計画に利用している場合、 __CAPGO_KEEP_0__オーバービュー を接続してください。APIオーバービュー には、APIの実装詳細が含まれています。 for the implementation detail in API Overview, Introduction Introductionの実装詳細について API Keys API Keysの実装詳細について Devices Devicesの実装詳細について Bundles Bundlesの実装詳細について