アクセス制御の参考資料
インストールステップとフルマークダウンガイドの全てが含まれたセットアップ質問をコピーしてください。
Capgoを使用します ロールベースのアクセス制御 (RBAC) 各チームメンバーが行うことができることを管理するには。 スコープ 組織全体から、単一のパッケージまでの範囲で組織を構成します。
メンバーを管理するためのダッシュボードの視覚的なウォークスルーについては、 組織.
ロールスコープ
ロールスコープ各ロールは、リソースへのアクセスを許可するスコープに属します。
| スコープ | 適用対象 | 例えば、 |
|---|---|---|
| 組織 | 全組織とそのすべてのアプリ | 共同創業者はSuper Admin、会計士はBilling Manager |
| アプリ | 単一のアプリとそのチャネル | 1つのアプリに従事する契約者はApp Developer |
| チャネル | 単一のアプリ内チャネル | QAエンジニアはチャネルを管理するのみ staging バンドル |
| 単一のバンドルバージョン | __CAPGO_KEEP_0__ | A reviewer needs read access to one specific release |
A member can hold __CAPGO_KEEP_0__ role per scope target — for example, one org role, one role on App A, and a different role on App B. Organization roles
Organization roles
These roles are assigned when inviting a member. They grant access across the entire organization.Role
| Internal name | Description | Super Admin |
|---|---|---|
| Owner-equivalent. Full control including deleting the org, managing billing, and transferring apps. Automatically granted to the org creator. | org_super_admin | Owner-equivalent. Full control including deleting the org, managing billing, and transferring apps. Automatically granted to the org creator. |
| 管理者 | org_admin | 全管理権限 — メンバー、 アプリ、 チャンネルの管理が可能です。組織を削除、請求情報を更新、 アプリを転送、 ユーザーをSuper Adminに昇格することはできません。 |
| 請求管理者 | org_billing_admin | 請求情報のみのアクセス:請求情報、請求書、請求アクセスログの表示と更新のみ。アプリやメンバーにはアクセスできません。 |
| メンバー | org_member | 組織とそのすべてのアプリへの読み取り専用アクセス。 |
組織権限マトリックス
組織権限マトリックスのセクション| 権限 | 説明 | 最高管理者 | 管理者 | 請求管理者 | 会員 |
|---|---|---|---|---|---|
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 | View billing-specific audit log | ✅ | ✅ | ✅ | ❌ |
App roles
Section titled “App roles”1つのアプリにスコープされている。チームのメンバーが組織全体ではなく、1つのアプリのみで作業する場合に使用します。
| 役割 | 内部名 | 説明 |
|---|---|---|
| アプリ管理者 | app_admin | 1つのアプリに対してフルコントロール — チャネル、デバイス、ユーザーロールの設定。アプリを削除または移行することはできません (それらは組織レベルの操作です)。 |
| アプリ開発者 | 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 | デバイスを割り当て、上書き、または解除する | ✅ | ✅ | ❌ | ❌ |
app.read_devices | デバイスの一覧を表示する | ✅ | ✅ | ✅ | ✅ |
app.build_native | ネイティブクラウドビルドをトリガーする | ✅ | ✅ | ❌ | ❌ |
app.read_audit | アプリレベルアクティビティログを表示する | ✅ | ✅ | ✅ | ✅ |
app.update_user_roles | アプリスコープロール割り当てを管理する | ✅ | ❌ | ❌ | ❌ |
bundle.delete | バンドルを削除する | ✅ | ❌ | ❌ | ❌ |
チャンネルロール
「チャンネルロール」というセクション1つのチャンネルに限定される。特定のリリースチャンネルへのターゲットされたアクセスを与えるのに役立ちます。
| ロール | 内部名 | 説明 |
|---|---|---|
| チャンネル管理者 | 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 | チャンネル活動ログを表示 | ✅ | ✅ |
Bundle roles
Section titled “Bundle roles”Scoped to a single bundle version. Rarely needed — most teams use app-level roles instead.
| Role | Internal name | Description |
|---|---|---|
| Bundle Admin | bundle_admin | 「バンドル」を読み、更新、削除します。 |
| バンドル ビューア | bundle_reader | 特定のバンドルへの読み取り専用アクセス |
チャンネル権限のオーバーライド (ダッシュボード)
「チャンネル権限のオーバーライド (ダッシュボード)」のセクションダッシュボード内では、デフォルトではユーザーのアプリロールによってチャンネルへのアクセスが決定されます。より細かい制御が必要な場合は、 特定のチャンネル権限を ユーザーまたはグループごとにオーバーライドできます。アプリロールを変更することなく
アプリの アクセス タブからオーバーライドを設定できます。チャンネル権限のボタン (シールド アイコン) をクリックしてください。詳しくは「Organization — Overriding channel permissions」を参照してください。 権限のオーバーライド __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_10__ | __CAPGO_KEEP_11__ |
| Associate bundle | Set or change the active bundle on the channel | Inherited from app role |
Each permission can be set to:
- Default —
- Allow — explicitly grant, regardless of the app role
- Deny — explicitly block, regardless of the app role
この機能は、たとえば、App Readerにチャンネル上のバンドルを関連付ける権限を与えることができるようにします。ただし、App Developerに昇格する必要はありません。 staging channel without promoting them to App Developer.
役割階層
役割階層のセクション役割は階層を形成します。親の役割は、すべての権限を子役割に継承します。このため、親の役割は、子役割が実行できるすべてのことを実行できます。さらに、子役割は、さらに下の役割が実行できるすべてのことを実行できます。 コピー 実際の動作の説明: org_admin 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 can, さらに多くの機能があります。
The hierarchy only flows 下向きに — それでも、組織レベルの権限を得ることはありません。 channel_admin グループ
グループのしくみ 「グループのしくみ」のセクション — a
never gains org-level permissions, even if they also hold an app-level role.
Groups- グループは 1 つの組織に属します — 複数の組織を跨ぐことはできません。 グループは
- 任意のスコープ org、app、channel、またはbundleで役割の割り当てを保持できます。たとえば、グループは App A に App Developer の役割を割り当て、App B のチャンネルに Channel Admin の役割を割り当てることができます。 ユーザーのパーミッションの評価の際、すべてのグループのメンバーシップが透過的に解決されます。 必要なパーミッションがグループのいずれかで許可されている場合、ユーザーにアクセスが許可されます。 __CAPGO_KEEP_0__ __CAPGO_KEEP_0__
staging__CAPGO_KEEP_0__ - __CAPGO_KEEP_0__
- ユーザーは 複数のグループに属することができますグループから得られるすべての権限は加算されます。
- グループベースの権限は ユーザープリンシパル — 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を使用した役割の割り当て
セクション: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:
| 値 | 割り当てられたロール |
|---|---|
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で割り当てる」組織の一覧
セクション「組織の一覧」npx @capgo/cli organization list --apikey <API_KEY>メンバーの一覧
セクション「メンバーの一覧」npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>カスタムロール
「カスタムロール」のセクション組み込みロールはほとんどのチーム構造をカバーしています。カスタムロールの作成は、ロードマップ上にあります — これがあなたのチームが必要な場合、 私たちに連絡してくださいあなたの用途は、この機能を優先するために私たちに直接役立ちます。
Access Control Referenceから続けて
「Access Control Referenceから続けて」のセクションIf you are using Access Control Reference を計画するダッシュボードとAPI操作に接続する API Overview API Overviewの実装詳細について Introduction Introductionの実装詳細について API Keys API Keysの実装詳細について Devices Devicesの実装詳細について Bundles __CAPGO_KEEP_0__の実装詳細については、Bundlesにあります。