Skip to content

Access Control Reference

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

メンバーを管理するダッシュボードのビジュアルウォーカスソースを参照してください 組織.


役割スコープ

役割スコープ

すべての役割は、リソースへのアクセスを許可するスコープに属します。

スコープ適用対象例えば
組織組織全体とすべてのアプリ共同創業者はSuper Admin、会計士はBilling Manager
アプリ単一のアプリとそのチャネル__CAPGO_KEEP_0__は1つのアプリに取り組む契約者に__CAPGO_KEEP_1__開発者を与えます
__CAPGO_KEEP_0____CAPGO_KEEP_0____CAPGO_KEEP_0__のQAエンジニアは、__CAPGO_KEEP_0__を管理するのみです staging __CAPGO_KEEP_0__
__CAPGO_KEEP_2____CAPGO_KEEP_0__の1つのバージョン__CAPGO_KEEP_3__は1つの特定のリリースにアクセスする必要があるレビュアーに必要です

__CAPGO_KEEP_4__は__CAPGO_KEEP_0__の1つの役割を保持できます __CAPGO_KEEP_0__の1つの役割を__CAPGO_KEEP_5__に、__CAPGO_KEEP_6__の1つの役割を__CAPGO_KEEP_7__に、__CAPGO_KEEP_8__の1つの役割を__CAPGO_KEEP_9__に保持できます。 __CAPGO_KEEP_10__の役割


__CAPGO_KEEP_11__の役割

組織ロール

__CAPGO_KEEP_0__は組織に招待されたときに割り当てられます。これらは組織全体へのアクセスを提供します。

ロール内部名説明
スーパーアドミンorg_super_adminオーナーに相当する。組織を削除、請求管理、アプリを転送するなど、全ての制御権限が付与されます。組織を作成したユーザーに自動的に付与されます。
管理者org_adminフル管理権限 — メンバー、 アプリ、 チャンネルを管理できます。組織を削除、請求管理を更新、 アプリを転送、 ユーザーをスーパーアドミンに昇格することはできません。
請求管理者org_billing_admin請求管理のみアクセス:請求情報、請求書、請求アクセスログを表示および更新できます。アプリまたはメンバーへのアクセスはありません。
メンバーorg_member__CAPGO_KEEP_0__の読み取り専用アクセスとすべてのアプリ
権限説明スーパーアドミン管理者請求管理者メンバー
org.read組織を表示
org.update_settings組織名、ロゴ、管理メールの編集
org.delete組織を永久に削除
org.read_membersView the member list
org.invite_userInvite new members
org.update_user_rolesChange member roles (Admin cannot promote to Super Admin — blocked by role hierarchy)
org.read_billingView billing info and current plan
org.update_billingUpdate payment method and plan
org.read_invoicesView invoices
org.read_auditView organization activity log
org.read_billing_auditView billing-specific audit log

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

ロール内部名説明
アプリ管理者app_admin1アプリの完全な管理権限 — チャネル、デバイス、ユーザーロール。
App Developerapp_developerバンドルアップロード、デバイス管理、ネイティブビルドトリガー、チャネル設定の更新。削除、設定変更、チャネル作成は不可。
App Uploaderapp_uploader読み取り権限 + 新バンドルバージョンのアップロード。
App Readerapp_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_nativeCloudflareのネイティブクラウドビルドをトリガーする
app.read_auditアプリレベルアクティビティログを表示する
app.update_user_rolesアプリスコープロール割り当てを管理する
bundle.deleteバンドルを削除する

チャネルロール

Channel rolesのセクション

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

役割内部名説明
チャンネル管理者channel_adminチャンネルの設定、バンドルをアップグレード/ロールバック、強制デバイスを管理する権限
チャンネルビューアchannel_reader読み取り専用 — 現在のバンドル、履歴、強制デバイス、監査ログ

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

チャンネル権限マトリックス
権限説明チャンネル管理者チャンネルビューア
channel.readチャンネルとその現在のバンドルを表示
channel.update_settingsチャンネルの設定を編集 (プラットフォームの切り替え、更新ポリシー…)
channel.delete__CAPGO_KEEP_0__を削除する
channel.read_history__CAPGO_KEEP_1__のバンドル割り当て履歴を表示する
channel.promote_bundle__CAPGO_KEEP_2__チャンネルにアクティブなバンドルを設定する
channel.rollback_bundle__CAPGO_KEEP_3__に戻す
channel.manage_forced_devices__CAPGO_KEEP_4__チャンネルに特定のデバイスを強制する
channel.read_forced_devices__CAPGO_KEEP_5__に強制されているデバイスの一覧を表示する
channel.read_audit__CAPGO_KEEP_6__チャンネルの活動ログを表示する

__CAPGO_KEEP_7__

__CAPGO_KEEP_7__

__CAPGO_KEEP_8__

RoleInternal nameDescription
Bundle Adminbundle_adminRead, update metadata, and delete a specific bundle.
Bundle Viewerbundle_readerRead-only access to a specific bundle.

Channel permission overrides (Dashboard)

Internal name

ダッシュボード内では、デフォルトではユーザーのアプリロールによってチャンネルへのアクセスが決定されます。より細かい制御が必要な場合は、 __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_0__
読み込む__CAPGO_KEEP_1__とその現在のバンドルを表示__CAPGO_KEEP_2__から継承
履歴__CAPGO_KEEP_1__のバンドル割り当て履歴を表示__CAPGO_KEEP_2__から継承
__CAPGO_KEEP_3____CAPGO_KEEP_4__または__CAPGO_KEEP_3__を__CAPGO_KEEP_1__に設定または変更__CAPGO_KEEP_2__から継承

__CAPGO_KEEP_5__は次のいずれかになります:

  • __CAPGO_KEEP_0__ — アプリロールから継承する (デフォルト)
  • 許可 — アプリロールに関係なく、明示的に許可
  • 拒否 — アプリロールに関係なく、明示的に拒否

この機能を使用すると、たとえば、App Reader にチャンネルでバンドルを関連付ける能力を与えることができますが、App Developer に昇格することはできません。 staging ロール階層


子ロールのすべての権限を継承します。 つまり、親ロールの権限が子ロールに自動的に適用されるということです。 親ロールの権限が子ロールに自動的に適用されるということです。 org_admin すべてのことができる app_admin can、つまりすべてのことができる channel_admin can、そしてそれ以降

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)

実際の動作:

  • A 組織レベルでAdminはすべてのことができる App Admin can、組織内のすべてのアプリで A
  • App Admin can、すべてのアプリで On a specific app can do everything a __CAPGO_KEEP_0__ can, on every channel in that app. Channel __CAPGO_KEEP_0__ can do everything an __CAPGO_KEEP_1__ can, plus more.
  • The hierarchy only flows __CAPGO_KEEP_2__ — a __CAPGO_KEEP_3__ never gains org-level permissions, even if they also hold an app-level role. App __CAPGO_KEEP_4__ can do everything a __CAPGO_KEEP_5__ can, on every channel in that app. An __CAPGO_KEEP_6__ can do everything a __CAPGO_KEEP_5__ can, on every channel in that app. App __CAPGO_KEEP_7__

can do everything a __CAPGO_KEEP_5__ can, plus more. The hierarchy only flows __CAPGO_KEEP_2__ — a __CAPGO_KEEP_3__ never gains org-level permissions, even if they also hold an app-level role. App __CAPGO_KEEP_4__ channel_admin can do everything a __CAPGO_KEEP_5__ can, on every channel in that app.


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

  • 複数の組織を跨ぐことはできません。 グループは 任意のスコープでロールバインディングを保持できます
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__: グループ、 アプリ、 チャネル、 または バンドル。 例えば、グループはアプリ A に "App Developer" の役割と、アプリ B のチャネルに "Channel Admin" の役割を割り当てることができます。 アプリ開発者 ロール チャネル管理者 ユーザーのパーミッションの評価時、すべてのグループのメンバーシップが透過的に解決されます。 そのグループが必要なパーミッションを付与している場合、許可が与えられます。 staging ユーザーは複数のグループに所属することができます。
  • すべてのグループのパーミッションは加算されます。
  • グループベースのパーミッションはユーザープリンシパルにのみ適用されます。 __CAPGO_KEEP_0____CAPGO_KEEP_0__
  • __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ — API キーはグループロールを継承しません。

グループを使用するタイミング

グループを使用するタイミングのセクション
シナリオグループを使用しないグループを使用する
5人のQAエンジニアが3つのアプリに開発者アクセスが必要です15個の個別のロールバインディング1つのグループ + 3つのロールバインディング
QAチームに誰かが参加する3つのロールバインディングを手動で追加するグループに追加する
QAチームから誰かが去る手動で3つのロールバインディングを削除するグループから彼らを削除する

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

__CAPGO_KEEP_1__

グループを削除
__CAPGO_KEEP_2__
curl -X DELETE "https://api.capgo.app/private/groups/<GROUP_ID>" \
-H "authorization: <API_KEY>"

グループを削除すると、そのグループに関連付けられているすべてのロールのバインドも削除されます。組織のメンバーは削除されません。

グループメンバーの一覧

__CAPGO_KEEP_3__
グループメンバーの一覧
curl -X GET "https://api.capgo.app/private/groups/<GROUP_ID>/members" \
-H "authorization: <API_KEY>"

グループにメンバーを追加

__CAPGO_KEEP_3__
ターミナルウィンドウ
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>"

ターミナル画面
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:

__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>

カスタムロール

カスタムロール

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

アクセス制御リファレンスから続けて

アクセス制御リファレンス

を使用している場合、ダッシュボードと__CAPGO_KEEP_0__の操作の計画に利用している場合、 __CAPGO_KEEP_0__オーバービュー を接続してください。APIオーバービュー には、APIの実装詳細が含まれています。 for the implementation detail in API Overview, Introduction Introductionの実装詳細について API Keys API Keysの実装詳細について Devices Devicesの実装詳細について Bundles Bundlesの実装詳細について