Access Control Reference
このプラグインの設定プロンプトをインストールステップと全マークダウンガイドを含めてコピーしてください。
Capgoを使用します。 ロールベースのアクセス制御(RBAC) 各チームメンバーが行うことができることを管理するために使用します。ロールはスコープによって組織化されます。 スコープ スコープ
組織 ロールスコープ.
セクションのタイトル:ロールスコープ
すべてのロールは、リソースへのアクセスを許可するスコープによって決められます。スコープ
| 適用 | context | 例用途 |
|---|---|---|
| 組織 | 組織全体とそのすべてのアプリ | 共同創業者がSuper Admin、会計士がBilling Manager |
| アプリ | 1つのアプリとそのチャンネル | 1つのアプリに従事する契約者がApp Developer |
| チャンネル | 1つのアプリ内に存在するチャンネル | チャンネル staging バンドル |
| __CAPGO_KEEP_0__ | 1バンドルバージョン | 1つの特定のリリースに読み取り権限があるレビュアーが必要です。 |
メンバーは保持できます 1つのスコープごとに 1 つの役割 — 例えば、組織ロールが 1 つ、App A のロールが 1 つ、そして App B のロールが異なる場合。
組織ロール
組織ロールメンバーを招待する際に割り当てられるロールです。組織全体へのアクセスを許可します。
| 役割 | 内部名 | 説明 |
|---|---|---|
| 最高管理者 | 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 | メンバーの役割を変更 (管理者はスーパーアドミンに昇格できません — ロール階層によりブロックされます) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | 請求情報と現在のプランを表示 | ✅ | ✅ | ✅ | ❌ |
org.update_billing | 支払い方法とプランを更新 | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | 請求書を表示 | ✅ | ✅ | ✅ | ❌ |
org.read_audit | 組織活動ログを表示 | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | 請求関連の監査ログを表示 | ✅ | ✅ | ✅ | ❌ |
アプリケーション管理者
アプリロール1つのアプリにスコープされている。チームメンバーが1つのアプリのみに取り組む必要がある場合に使用します。
| ロール | 内部名 | 説明 |
|---|---|---|
| アプリ管理者 | app_admin | 1つのアプリの全ての機能 — チャンネル、デバイス、ユーザーロールの管理。アプリの削除や移行は組織レベルでの操作です。 |
| アプリ開発者 | app_developer | バンドルアップロード、デバイス管理、ネイティブビルドのトリガー、チャンネル設定の更新。削除、設定変更、チャンネル作成は行えません。 |
| アプリアップローダー | app_uploader | 読み取り権限 + 新バンドルバージョンのアップロード |
| アプリリーダー | app_reader | 読み取り専用 — 統計、バンドル、チャネル、ログ、デバイス。 |
| アプリ プレビュー | app_preview | 組織とアプリに紐づくプレビュー CI ライフサイクル: バンドルをアップロードし、プレビュー チャネルを作成します。チャネルを作成すると、そのライフサイクル権限のみが自動的に付与されます。 |
アプリ パーミッション マトリックス
アプリ パーミッション マトリックス| パーミッション | 説明 | アプリ管理者 | アプリ開発者 | アプリアップローダー | アプリ閲覧者 |
|---|---|---|---|---|---|
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 | バンドルを削除する | ✅ | ❌ | ❌ | ❌ |
これら
を実行できますアプリプレビューの権限セット アプリプレビューの権限セット (app_previewアプリプレビューを使用します。
The app_preview binding grants only these app-level permissions:
| Permission | Allows |
|---|---|
app.read | Read the selected app |
app.read_bundles | Read uploaded bundles |
app.upload_bundle | Upload a bundle |
app.create_channel | Create a channel |
When an App Preview key creates a channel, Capgo automatically gives that key a child channel_preview binding for the new channel only:
| Permission | Allows |
|---|---|
channel.read | チャンネルを作成するためのキーを読みます。 |
channel.promote_bundle | キー自身がアップロードしたバンドルをそのチャンネルに設定します。 |
channel.delete | そのチャンネルを削除します。 |
なぜなら app_preview 保存している app.read、キーは選択したアプリでチャンネルメタデータを列挙できます。自動的の子孫バインディングは、キーが作成しなかったチャンネルに対してライフサイクル変化を許可しません。 管理 境界: キーが作成しなかったチャンネルに対してライフサイクル変化を許可しません。
Capgo は、チャンネルを作成し、各バンドルをアップロードしたプレビュー キーを記録します。したがって、App プレビュー キーは、必要な各非公開プレビュー チャンネルを作成し、自身のバンドルをプロモートし、チャンネルとバンドルを原子的に削除できます。ただし、既存のデフォルト/メイン チャンネル、別のプレビュー キーのチャンネル、または別のキーのバンドルに対しては、できない。 channel delete --delete-bundle含まない
、デバイスまたはロールの管理 app.update_settings, device or role management, channel.update_settings, channel.rollback_bundle、強制デバイス管理、または汎用 bundle.delete.
チャネルロール
チャネルロール特定のリリースチャンネルへのターゲットされたアクセスを与えるために、単一のチャンネルにスコープを設定します。
| ロール | 内部名 | 説明 |
|---|---|---|
| チャンネル管理者 | channel_admin | 1 つのチャンネルの完全な管理権: 設定、バンドルをプロモート/ロールバック、強制デバイスの管理。 |
| チャンネルビューア | channel_reader | 読み取り専用 — 現在のバンドル、履歴、強制デバイス、監査ログ。 |
| チャンネルプレビュー | channel_preview | システムが割り当てる: App Preview キーがチャンネルを作成したときに割り当てられるロール: 読み取り、自身のバンドルをプロモート、チャンネルを削除。 |
チャンネル権限マトリックス
チャンネル権限マトリックスのセクション| 権限 | 説明 | チャンネル管理者 | チャンネル閲覧者 | チャンネルプレビュー |
|---|---|---|---|---|
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_admin | 特定のバンドルの読み取り、更新、削除が可能 |
| バンドルビューア | bundle_reader | 特定のバンドルの読み取りのみが可能 |
チャンネル権限のオーバーライド(ダッシュボード)
チャンネル権限のオーバーライド(ダッシュボード)デフォルトでは、ダッシュボードでチャンネルへのアクセスはユーザーのアプリロールによって決まります。より細かい制御が必要な場合は、 ユーザーやグループごとに特定のチャンネル権限をオーバーライドすることができます。 チャンネル権限のオーバーライド(ダッシュボード)
アプリの設定からオーバーライドが実行されます。 アクセス タブ チャンネルパーミッションのボタン(盾のアイコン)をクリックしてください。ユーザーに隣接してください。 Organization — チャンネルパーミッションのオーバーライド
視覚的なウォークスルーを参照してください。
オーバーライド可能なパーミッション| セクション | パーミッション | 説明 |
|---|---|---|
| デフォルトの動作 | Read | アプリロールから継承 |
| 履歴 | チャンネルでのバンドルの割り当て履歴を表示 | アプリロールから継承 |
| バンドルを関連付け | チャンネルに表示されているバンドルを設定または変更 | アプリロールから継承 |
各権限を次のように設定できます
- デフォルト — アプリロールから継承 (デフォルト)
- 許可 — アプリロールのロールとは無関係に明示的に許可
- 許可 — 例外的にブロックする、どのアプリロールにもかかわらず
これにより、たとえば、App Reader に bundle を関連付ける権限を与えることができます。 staging チャンネル
しかし、App Developer に昇格することはできません。
役割階層セクションのタイトル “役割階層” 役割は階層を形成します。親ロールは すべての権限を継承します 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)実際の動作について
- 1 組織レベルでの管理者 組織レベルでの管理者は、組織内のすべてのアプリで、アプリ管理者ができることをすべて実行できます。 1 アプリ管理者
- アプリ管理者は、指定されたアプリ内のすべてのチャンネルで、チャンネル管理者ができることをすべて実行できます。 2 アプリ管理者 アプリ管理者は、指定されたアプリ内のすべてのチャンネルで、チャンネル管理者ができることをすべて実行できます。 2
- An App Developer アプリケーション開発者 can do everything an アプリケーションアップローダー
can, plus more. The hierarchy only flows downward channel_admin — a
never gains org-level permissions, even if they also hold an app-level role.
グループグループのセクション "Groups" です。 グループ グループに役割を割り当てることができます。グループのメンバー全員が自動的にその役割を継承します。
グループのしくみ
「グループのしくみ」- グループは 1 つの組織に属します 組織をまたいだグループは作成できません。
- グループは 任意のスコープで役割のバインディングを保持できます組織、またはアプリ、チャンネル、またはバンドル 例えば、グループはアプリ A に "アプリ開発者" の役割を割り当てることができます。 アプリ A に "アプリ開発者" の役割を割り当てることができます。 チャンネル管理者 アプリケーション B の
stagingチャンネルの - 権限の評価の際、ユーザーのグループのメンバーシップは透明に解決されます。グループのいずれかが必要な権限を付与している場合、許可が与えられます。
- ユーザーは 複数のグループに属することができます、そして、すべてのグループから付与された権限は加算されます。
- グループベースの権限は ユーザープリンシパル — API keys do not inherit group roles.
__CAPGO_KEEP_0__ キーはグループロールを継承しません。
グループの使用時期| シナリオ | グループなし | グループあり |
|---|---|---|
| 5人のQAエンジニアが3つのアプリに開発者アクセス権を必要とする | 15個の個別のロールバインディング | 1つのグループ + 3つのロールバインディング |
| QAチームに新メンバーが加わる | 3つのロールバインディングを手動で追加する | グループに追加する |
| QAチームからメンバーが退職する | 3つのロールバインディングを手動で削除する | グループから削除する |
Managing groups via API
Section titled “Managing groups via API”すべてのグループエンドポイントは認証が必要であり、以下のURLで提供されます。 /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 権限 (最高管理者 または Capacitorライブアップデートの代替).
Capacitorライブアップデートの代替
Capacitorライブアップデートの代替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”グループのUUID
メンバーの一覧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>カスタムロール
「カスタムロール」カスタムロールの作成は将来の計画ですが、チームの構造が標準のロールでカバーできない場合、カスタムロールの作成が必要な場合は、ご連絡ください。 Capgoにご連絡くださいご利用のケースは、この機能の優先順位を直接決定します。
Access Control Referenceから続けてください
セクション名:Access Control Referenceから続けてくださいCapgoを使用している場合 Access Control Reference ダッシュボードとAPIの運用計画に利用している場合、API Overviewと接続してください API Overview API Overviewの実装詳細について 導入 導入の実装詳細について API Keys API キーの実装詳細について デバイス __CAPGO_KEEP_0__ キー、デバイス、および バンドル __CAPGO_KEEP_0__ キーの実装詳細についてバンドル。