コンテキスト: Capgo マーケティング ウェブサイト。役割: ウェブサイト コピーの文。見つける場所: component doc/SignupCta.astro, component Hero.astro。メッセージ キー `hero_subtitle_v2` (Hero Subtitle V2)。
このプラグインのインストール手順と全てのマークダウン ガイドを含むセットアップの質問をコピーします。
Capgo を使用します ロールベースのアクセス制御 (RBAC) 各チームメンバーが何ができるかを管理するには 範囲 組織全体から、単一のバンドルまでの範囲
ダッシュボードでメンバーを管理するための視覚的なウォークスルーについては、 組織.
ロールの範囲
ロールの範囲各ロールは、どのリソースにアクセスできるかを決定する範囲に属します。
| 範囲 | 適用 | 使用例 |
|---|---|---|
| 組織 | 組織全体とそのすべてのアプリ | 共同創業者はSuper Admin、会計士はBilling Manager |
| アプリ | 単一のアプリとそのチャンネル | 1つのアプリに従事する契約者はApp Developer |
| チャンネル | 単一のチャンネル | チャンネル staging バンドル |
| 単一のバンドルバージョン | __CAPGO_KEEP_0__ | リリースの読み取り権限を持つレビュアーが1つ必要です。 |
a member can hold 一つのスコープごとに一つの役割 one role per scope target — for example, one org role, one role on App A, and a different role on App B.
Organization roles
| Role | Role | Internal name |
|---|---|---|
| Description | org_super_admin | Super Admin |
| 管理者 | 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 | 請求書のためのアカウントロギングを表示 | ✅ | ✅ | ✅ | ❌ |
アプリロール
アプリロールアプリ固有の権限。チームメンバーが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アプリプレビュー
アプリプレビュー app_preview アプリレベル許可のみを付与します:
| 許可 | 許可 |
|---|---|
app.read | 選択したアプリを読み取る |
app.read_bundles | アップロードしたバンドルを読み取る |
app.upload_bundle | バンドルをアップロードする |
app.create_channel | チャンネルを作成する |
アプリプレビュー キーがチャンネルを作成した場合、Capgo はそのキーの子として自動的にチャンネルを作成します。 channel_preview チャンネルを作成する許可
| 許可 | 許可 |
|---|---|
channel.read | キーの作成したチャンネルを読み取る |
channel.promote_bundle | そのチャンネルにアップロードしたバンドルをキー自身で設定する |
channel.delete | そのチャンネルを削除する |
なぜなら app_preview 保持する app.read、選択したアプリでチャンネルメタデータを列挙できる可能性があるため。自動子オブジェクトのバインディングは、キーが作成しなかったチャンネルに対してライフサイクル変化を許可しない 管理 boundary: そのチャンネルを作成しないキーに対してライフサイクル変化を許可しない。
Capgo records the preview key that created each channel and uploaded each bundle. Therefore an App Preview key can create each non-public preview channel it needs, promote its own bundle, and atomically delete that channel and bundle with channel delete --delete-bundle、デバイスまたはロールの管理
、強制デバイス管理、または汎用 app.update_settings,デバイスまたはロール管理 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 | 特定のバンドルの読み取り専用 |
チャンネル権限のオーバーライド(ダッシュボード)
チャンネル権限のオーバーライド(ダッシュボード)デフォルトでは、ダッシュボードでチャンネルへのアクセスはユーザーのアプリロールによって決定されます。より細かい制御が必要な場合は、 ユーザーまたはグループごとに特定のチャンネル権限をオーバーライドできます。 アプリの
オーバーライドは、アプリの アクセス チャンネルパーミッションをクリックしてください (シールドアイコン)。詳細は 組織 — チャンネルパーミッションのオーバーライド を参照してください。
オーバーライド可能なパーミッション
セクション名 “オーバーライド可能なパーミッション”| パーミッション | 説明 | デフォルトの動作 |
|---|---|---|
| 読み取り | チャンネルとその現在のバンドルを表示します。 | アプリロールから継承 |
| 歴史 | チャンネルに割り当てられたバンドルの履歴を表示 | アプリロールから継承 |
| バンドルを関連付け | チャンネルに現在使用中のバンドルを設定または変更 | アプリロールから継承 |
各権限を次のように設定できます
- デフォルト — アプリロールから継承 (デフォルト)
- 許可 — アプリロールを無視して明示的に許可
- 拒否 — まったくブロックします。アプリロールに関係なく
これにより、たとえば、App Reader にバンドルを関連付ける権限を与え、App Developer に昇格させるのではなく staging ロール階層
「ロール階層」のセクション
ロールは階層を形成します。親ロールはすべての権限を継承します 子ロールの は、すべての権限を持つことができます。これは、さらに 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)実際の運用方法:
- 組織 組織レベルで アプリ アプリ アプリ
- 組織 アプリ チャンネル チャンネル アプリ内で
- 組織 アプリ開発者 すべてのアプリ開発者ができること アプリアップローダー アプリアップローダーはさらに多くのことができる。
階層は下方のみ流れ、上方には昇ることはない 下方のみ — channel_admin 組織レベルの権限を得ることはない
グループ
グループグループの代わりに、各ユーザーに役割を割り当てるのではなく、グループを作成できます グループ グループに役割を割り当てます。グループのメンバー全員が自動的にその役割を継承します。
グループのしくみ
「グループのしくみ」- グループは 1 つの組織に属します — 1 つの組織をまたいだりはできません。
- グループは 任意のスコープ:組織、 アプリ、 チャンネル、 またはバンドルで、 例えば、グループはアプリAに App Developer の役割を割り当て、チャンネルAに App Bのチャンネル内での
stagingApp Bのチャンネル内での - ユーザーの権限評価時、グループのメンバーシップは透過的に解決されます。グループのいずれかが必要な権限を付与している場合、許可が与えられます。
- ユーザーは 複数のグループに所属することができます、グループから得られるすべての権限は合計されます。
- グループベースの権限は ユーザープリンシパル — API キーはグループロールを継承しません。
— __CAPGO_KEEP_0__ キーはグループロールを継承しません。
グループの使用時期| Scenario | グループなし | グループあり |
|---|---|---|
| 5人のQAエンジニアが3つのアプリに開発者権限を必要とする | 15個の個別のロールバインディング | 1つのグループ + 3つのロールバインディング |
| QAチームに誰かが参加する | 3つのロールバインディングを手動で追加する | グループに追加する |
| QAチームから誰かが退会する | 3つのロールバインディングを手動で削除する | グループから削除する |
グループの管理は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 権限 (最高管理者 または 管理者).
グループを更新
グループを更新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で割り当てる
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>" }'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:
| 値 | 割り当てられた役割 |
|---|---|
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" }'Assigning roles via CLI
ロールの割り当てを CLI として「ロールの割り当てを __CAPGO_KEEP_0__ として」のセクション
組織の一覧表示npx @capgo/cli organization list --apikey <API_KEY>メンバーの一覧
「メンバーの一覧」のセクションnpx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>カスタムロール
「カスタムロール」のセクション標準ロールはほとんどのチーム構成をカバーしています。カスタムロールの作成は今後の計画ですが、チームがこれを必要としている場合は、ご連絡ください。 Copy to clipboardあなたの利用シナリオは、この機能の優先順位を直接助けるでしょう。
Access Control Referenceから続けてください。
セクション名:Access Control Referenceから続けてください。あなたが利用している アクセス制御リファレンス あなたがダッシュボードとAPIの実行を計画するために利用している場合、API Overviewと接続してください。 API まとめ API Overviewの実装詳細について 導入 導入の実装詳細について API キー API Keysの実装詳細について デバイス デバイスの実装詳細について バンドル バンドルの実装詳細について