メインコンテンツにジャンプ

アクセス制御の参考資料

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


Role

Internal nameDescriptionSuper Admin
Owner-equivalent. Full control including deleting the org, managing billing, and transferring apps. Automatically granted to the org creator.org_super_adminOwner-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_auditView billing-specific audit log

1つのアプリにスコープされている。チームのメンバーが組織全体ではなく、1つのアプリのみで作業する場合に使用します。

役割内部名説明
アプリ管理者app_admin1つのアプリに対してフルコントロール — チャネル、デバイス、ユーザーロールの設定。アプリを削除または移行することはできません (それらは組織レベルの操作です)。
アプリ開発者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_admin1つのチャンネルの完全な制御: 設定、バンドルをプロモート/ロールバック、強制デバイスの管理。
チャンネルビューア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チャンネル活動ログを表示

Scoped to a single bundle version. Rarely needed — most teams use app-level roles instead.

RoleInternal nameDescription
Bundle Adminbundle_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 bundleSet or change the active bundle on the channelInherited 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"
}'

ターミナル画面
npx @capgo/cli organization list --apikey <API_KEY>
ターミナルウィンドウ
npx @capgo/cli organization members <ORG_ID> --apikey <API_KEY>

組み込みロールはほとんどのチーム構造をカバーしています。カスタムロールの作成は、ロードマップ上にあります — これがあなたのチームが必要な場合、 私たちに連絡してくださいあなたの用途は、この機能を優先するために私たちに直接役立ちます。

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にあります。