コンテンツにスキップ

アクセス制御の参照

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_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バンドルを削除

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

__CAPGO_KEEP_0____CAPGO_KEEP_0____CAPGO_KEEP_0__
チャンネル管理者channel_admin1つのチャンネルの全権限: 設定、バンドルプロモート/ロールバック、強制デバイス管理。
チャンネルビューア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 Viewerbundle_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に staging App 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>

組み込みロールはほとんどのチーム構造をカバーしています。カスタムロールの作成は、開発計画の優先順位に影響するため、カスタムロールを作成する必要があるチームは、 私たちに連絡してください。あなたの用途は、この機能の優先順位に直接影響します。