コンテンツにジャンプ

Access Control Reference

Capgoは ロールベースのアクセス制御(RBAC)を使用して 各チームメンバーが何ができるかを管理します。ロールは 範囲 — 組織全体から単一のバンドルまで

For a visual walkthrough of managing members in the dashboard, see 組織.


すべてのロールは、権限範囲によって決まるリソースにアクセスできるものです。

権限範囲適用対象使用例
組織全体の組織とすべてのアプリ共同創業者はSuper Admin、会計士はBilling Managerを割り当てます
アプリ__CAPGO_KEEP_0____CAPGO_KEEP_0__
__CAPGO_KEEP_0____CAPGO_KEEP_0____CAPGO_KEEP_0__ staging __CAPGO_KEEP_0__
__CAPGO_KEEP_0__1つのアプリとそのチャンネル1つのアプリに取り組むコントラクターはApp Developerを取得します

チャンネル 1つのアプリ内にある単一のチャンネル QAエンジニアは、チャンネルのみを管理します


組織ロール

組織ロール

メンバーを招待する際に割り当てられるロールです。組織全体へのアクセスを許可します。

ロール内部名説明
スーパーアドミン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管理者app_admin__CAPGO_KEEP_0__
アプリ開発者app_developer__CAPGO_KEEP_0__
アプリアップローダapp_uploader__CAPGO_KEEP_0__
アプリ読み取り者app_reader__CAPGO_KEEP_0__

アプリ権限マトリックス

__CAPGO_KEEP_0__
権限説明App管理者App開発者AppアップローダーAppリーダー
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__CAPGO_KEEP_0__リストを表示
app.build_native__CAPGO_KEEP_0__のネイティブクラウドビルドをトリガー
app.read_audit__CAPGO_KEEP_0__のアプリレベルアクティビティログを表示
app.update_user_roles__CAPGO_KEEP_0__のアプリスコープロール割り当てを管理
bundle.delete__CAPGO_KEEP_0__を削除

1つのチャンネルにスコープされている。特定のリリースチャンネルへのターゲットされたアクセスを与えるのに役立ちます。

ロール内部名概要
チャンネル管理者channel_admin__CAPGO_KEEP_0__
チャンネルビューアchannel_reader読み取り専用 — 現在のバンドル、履歴、強制デバイス、監査ログ。

チャンネル権限マトリックス

権限
概要チャンネル管理者チャンネルビューアチャンネルとその現在のバンドルを表示します。
channel.read__CAPGO_KEEP_0__
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 — Overriding channel permissions を参照してください。

オーバーライド可能な許可

許可
許可概要デフォルトの動作
読む__CAPGO_KEEP_0__とその現在のバンドルを表示__CAPGO_KEEP_1__から継承
履歴__CAPGO_KEEP_0__のバンドル割り当て履歴を表示__CAPGO_KEEP_1__から継承
__CAPGO_KEEP_0__を関連付け__CAPGO_KEEP_0__を__CAPGO_KEEP_0__に設定または変更__CAPGO_KEEP_1__から継承

各権限を次のいずれかに設定できます

  • Default
  • Allow — explicitly grant, regardless of the app role
  • Deny — explicitly block, regardless of the app role

This lets you, for example, give an App Reader the ability to associate bundles on the staging channel without promoting them to App Developer.


Roles form a hierarchy. A parent role inherits all permissions の子どもたち。 これは、 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)

実際の動作:

  • An 管理者 組織レベルで ができることを意味します。 アプリ管理者
  • ができることを意味します。 すべてのアプリに。 App Admin 特定のアプリで一切のことができる Channel Admin そのアプリ内のすべてのチャネルで一切のことができる
  • An アプリ開発者は App Uploader ができることの他にさらに多くのことができる 階層は下方のみ流れます

— a __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ channel_admin __CAPGO_KEEP_0__が組織レベルの権限を取得することはなく、Appレベルロールを保持している場合でも。


ユーザーごとにロールを割り当てるのではなく、グループを作成してロールをグループに割り当てることができます。グループのメンバー全員が自動的にロールを継承します。 グループのしくみ セクション「グループのしくみ」

グループは1つの組織に属します

— 複数の組織を跨ぐことはできません。
  • グループはロールバインディングを保持できます Groups Section titled “Groups”
  • Instead of assigning roles to each user individually, you can create 任意のスコープ: org, app, channel, or bundle. 例えば、グループは App A に "App Developer" の役割と App B の "channel" に "Channel Admin" の役割を割り当てることができます。 アプリ開発者 チャネル管理者 権限が評価される際、ユーザーのすべてのグループメンバーシップは透明性を持って解決されます。必要な権限がユーザーのグループのいずれかで許可されている場合、許可されます。 ユーザーは staging 複数のグループ
  • に属することができ、すべてのグループからの権限は加算されます。
  • グループベースの権限は にのみ適用されます
  • Group-based permissions only apply to ユーザー原理者 — API キーはグループロールを継承しません。
シナリオグループなしグループあり
5人のQAエンジニアが3つのアプリに開発者アクセスが必要15個の個別ロールバインディング1つのグループ + 3つのロールバインディング
QAチームに新メンバーが加わりました3つのロールバインディングを手動で追加グループに追加する
QAチームから誰かが去った__CAPGO_KEEP_0__を使用してグループを手動で3つのロールバインディングを削除するグループから削除する

APIを使用してグループを管理する

「APIを使用してグループを管理する」

すべてのグループエンドポイントは認証が必要であり、Cloudflareで提供される /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"
}'

__CAPGO_KEEP_0__の許可された値 invite_type:

__CAPGO_KEEP_0__割り当てられたロール
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 ダッシュボードとAPIの操作を計画している場合、 API Overview APIの実装詳細についての概要 概要 __CAPGO_KEEP_0__のキー API Keysの実装詳細について for the implementation detail in API Keys, __CAPGO_KEEP_0__の実装詳細についてのデバイス バンドル __CAPGO_KEEP_0__の実装詳細についてのバンドル ページを編集