アクセス制御の参照
__CAPGO_KEEP_0__のセットアップコマンドとインストールステップ、そしてこのプラグインのフルマークダウンガイドをコピーしてください。
Capgo uses __CAPGO_KEEP_0__ 各チームメンバーが行うことができることを管理する。ロールは組織全体から、単一のパッケージまでの範囲で組織化されています。 __CAPGO_KEEP_0__ スコープ
管理メンバーのビジュアルウォークスルーについては、ダッシュボードを参照してください。 組織.
ロールスコープ
ロールスコープ各ロールは、リソースへのアクセスを許可するスコープに属します。
| __CAPGO_KEEP_1__ | 適用対象 | 例えば、組織 |
|---|---|---|
| スコープ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ staging __CAPGO_KEEP_0__ |
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
メンバーは、 1 つのスコープ対象ごとに 1 つの役割を保持することができます。 — たとえば、1 つの組織役割、App A の 1 つの役割、App B の異なる役割など。
組織役割
「組織役割」というセクションメンバーに招待する際に割り当てられるこれらの役割は、組織全体へのアクセスを許可します。
| 役割 | 内部名 | 説明 |
|---|---|---|
| スーパーアドミン | org_super_admin | オーナーに相当する。組織を削除することや請求管理、App を転送する権限を含む完全な制御。組織を作成したユーザーに自動的に割り当てられます。 |
| __CAPGO_KEEP_0__ | org_admin | 全体管理 — メンバー、アプリ、チャンネルの管理。組織を削除、請求設定を更新、アプリを移行、Super Adminに昇格することはできません。 |
| 請求管理者 | org_billing_admin | 請求管理者専用アクセス:請求情報、請求書、請求アクセスログの表示と更新。アプリやメンバーへのアクセスはありません。 |
| メンバー | org_member | 組織とそのすべてのアプリへの読み取り専用アクセス。 |
組織の権限マトリックス
「組織の権限マトリックス」| 権限 | 説明 | スーパーアドミン | 管理者 | 請求管理者 | メンバー |
|---|---|---|---|---|---|
org.read | __CAPGO_KEEP_0__を表示 | ✅ | ✅ | ✅ | ✅ |
org.update_settings | __CAPGO_KEEP_0__の名前、ロゴ、管理メールを編集 | ✅ | ✅ | ❌ | ❌ |
org.delete | __CAPGO_KEEP_0__を永久に削除 | ✅ | ❌ | ❌ | ❌ |
org.read_members | メンバーの一覧を表示 | ✅ | ✅ | ❌ | ✅ |
org.invite_user | 新しいメンバーを招待 | ✅ | ✅ | ❌ | ❌ |
org.update_user_roles | メンバーの役割を変更 (管理者はスーパーアドミンに昇格できません — ロール階層によりブロックされます) | ✅ | ✅ | ❌ | ❌ |
org.read_billing | 請求情報と現在のプランを表示 | ✅ | ✅ | ✅ | ❌ |
org.update_billing | 支払い方法とプランを更新 | ✅ | ❌ | ✅ | ❌ |
org.read_invoices | 請求書を表示 | ✅ | ✅ | ✅ | ❌ |
org.read_audit | __CAPGO_KEEP_0__の活動ログを表示 | ✅ | ✅ | ❌ | ❌ |
org.read_billing_audit | 請求関連の監査ログを表示 | ✅ | ✅ | ✅ | ❌ |
__CAPGO_KEEP_0__
__CAPGO_KEEP_0____CAPGO_KEEP_0__
| 役割 | __CAPGO_KEEP_0__ | 説明 |
|---|---|---|
| アプリ管理者 | app_admin | 1 つのアプリの全権限 — チャネル、デバイス、ユーザー ロールの管理。アプリの削除または転送は組織レベルでの操作です。 |
| アプリ開発者 | app_developer | バンドルをアップロード、デバイスを管理、ネイティブ ビルドをトリガー、チャネル設定を更新。削除、設定変更、チャネル作成は行えません。 |
| アップローダー | app_uploader | 読み取り権限 + 新しいバンドル バージョンをアップロード |
| 読み取り専用 — 統計、バンドル、チャネル、ログ、デバイス | app_reader | アプリ許可マトリックス |
__CAPGO_KEEP_0__
アプリ許可マトリックスのセクション| 許可 | 説明 | アプリ管理者 | アプリ開発者 | アプリアップローダー | アプリリーダー |
|---|---|---|---|---|---|
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 | バンドルを削除 | ✅ | ❌ | ❌ | ❌ |
チャンネルロール
チャンネルロールというセクション特定のリリースチャンネルにスコープされている。特定のリリースチャンネルにターゲットされたアクセスを与えるのに役立ちます。
| __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
|---|---|---|
| チャンネル管理者 | channel_admin | 1つのチャンネルの全権限: 設定、バンドルプロモート/ロールバック、強制デバイス管理。 |
| チャンネルビューア | channel_reader | 読み取り専用 — 現在のバンドル、履歴、強制デバイス、監査ログ。 |
チャンネル権限マトリックス
__CAPGO_KEEP_0__| __CAPGO_KEEP_0__ | 権限 | チャンネル管理者 | チャンネルビューア |
|---|---|---|---|
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 Viewer | bundle_reader | __CAPGO_KEEP_0__ |
特定のバンドルの読み取り専用アクセス。
チャネル権限のオーバーライド (ダッシュボード)デフォルトでは、ダッシュボード内でチャネルのアクセス権はユーザーのアプリロールによって決定されます。より細かい制御が必要な場合は、 ユーザーまたはグループごとに特定のチャネル権限をオーバーライドできます。 アプリの
アクセス タブから、ユーザーに隣接するチャネル権限のボタン(盾のアイコン)をクリックしてオーバーライドを設定します。 Organization — Overriding channel permissions https://capgo.com/docs/organization-overriding-channel-permissions https://capgo.com/docs/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__ | チャンネルでアクティブなバンドルを設定または変更します。 | アプリロールから継承 |
各許可は次のいずれかに設定できます。
- デフォルト — アプリロールから継承 (デフォルト)
- 許可 — アプリロールに関係なく明示的に許可
- 拒否 — アプリロールに関係なく明示的に拒否
この機能を使用すると、たとえば、App Reader にチャンネル上のバンドルを関連付ける能力を与えながら、App Developer に昇格させる必要がなくなる。 staging ロール階層
この機能を使用すると、たとえば、App Reader にチャンネル上のバンドルを関連付ける能力を与えながら、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)コピー
- 実際の動作の例: 組織レベルで は、 App Admin 組織内の全てのアプリに対して、
- An 特定のアプリのApp Adminは全ての Channel Admin アプリ内の全てのチャネルに対して、 An
- App Developer App Uploaderが実行できる全ての App Uploader App Uploaderが実行できる機能に加えて、さらに多くの機能を実行できる。 __CAPGO_KEEP_0__
階層は下方のみ流れます 下方向 — channel_admin 組織レベルの権限を得ることはなく、グループメンバーがアプリレベルロールを持っている場合でも。
グループ
「グループ」ユーザーごとにロールを割り当てるのではなく、グループを作成してロールをグループに割り当てることができます。グループのメンバー全員が自動的にロールを継承します。 グループのしくみ 「グループのしくみ」
グループは
__CAPGO_KEEP_0__- __CAPGO_KEEP_0__ 1つの組織 — 1つの組織を超えてはなりません。
- グループは、 任意のスコープ:組織、 アプリ、 チャンネル、 またはバンドル。 例えば、グループはアプリAに
stagingApp Developer - の役割を割り当て、
- アプリBのチャンネルに 複数のグループ, すべてのグループから権限が加算されます。
- グループベースの権限は、 ユーザープリンシパル — 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" }'グループを削除
グループを削除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>" }'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" }'CLIを使用したロールの割り当て
CLIを使用したロールの割り当て組織の一覧
組織の一覧npx @capgo/cli organization list --apikey <API_KEY>メンバーの一覧
ターミナル画面npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>カスタムロール
「カスタムロール」のセクション組み込みロールはほとんどのチーム構造をカバーしています。カスタムロールの作成は、開発計画の優先順位に影響するため、カスタムロールを作成する必要があるチームは、 私たちに連絡してください。あなたの用途は、この機能の優先順位に直接影響します。