権限
権限は、チームロールとは別に、プロジェクトとそのプロジェクトに属するステージの操作権限を管理する仕組みです。権限は、チーム単位で管理し、プロジェクト毎に設定します。
権限詳細
プロジェクトおよびそのプロジェクトに属するステージの操作権限は、プロジェクトロール、ステージロールおよびステージタイプで決まります。
プロジェクトロール
権限によるプロジェクトの操作権限は、プロジェクトロールで決まります。プロジェクトロールには、reader
/ admin
/ owner
の 3 種類があります。
操作 | reader | admin | owner |
---|---|---|---|
プロジェクトの読み込み | ○ | ○ | ○ |
プロジェクトの更新 | ○ | ○ | |
クライアントバージョンの参照 | ○ | ○ | ○ |
クライアントバージョンの登録 | ○ | ○ | |
クライアントバージョンの更新 | ○ | ○ | |
クライアントバージョンの削除 | ○ | ||
ステージの登録 | ○ | ○ | |
ステージの削除 | ○ |
ステージロール
権限によるステージの操作権限は、ステージロールで決まります。ステージロールには、read
/ read_write
の 2 種類があります。
操作 | read | read_write |
---|---|---|
ステージの読み込み | ○ | ○ |
ステージの更新 | ○ | |
イメージ、Worker、コンテナ、Cloud SQL の読み込み | ○ | ○ |
イメージ、Worker、コンテナ、Cloud SQL の登録 | ○ | |
イメージ、Worker、コンテナ、Cloud SQL の更新 | ○ | |
イメージ、Worker、コンテナ、Cloud SQL の削除 | ○ |
ステージタイプ
ステージロールの適用対象ステージは、権限で指定するステージタイプによって決まります。
権限 ステージタイプ |
development ステージ 適用可否 |
staging ステージ 適用可否 |
production ステージ 適用可否 |
---|---|---|---|
development | ○ | ||
staging | ○ | ○ | |
production | ○ | ○ | ○ |
デフォルト | ○ | ○ | ○ |
権限規則
- チーム毎に複数の権限を保有できます。
- 権限は、プロジェクト毎に設定します。
- プロジェクトロールは、
reader
/admin
/owner
の 3 種類です。 - ステージロールは、
read
/read_write
の 2 種類です。 - ステージタイプは、
development
/staging
/production
/ デフォルトの 4 種類です。- デフォルトは、ユーザは設定できません。自動登録された権限時にのみ設定されています。
- アカウント新規登録時は、1 つの権限が登録されています。
- 対象プロジェクト: DefaultProject1
- プロジェクトロール: owner
- ステージロール: read_write
- ステージタイプ: デフォルト
Trial プラン制限事項
制限事項 | 制限内容 | 備考 |
---|---|---|
チーム毎に保有できる権限数 | 1 | プロジェクト数 1 の制限があるため |
利用例
権限利用の基本は、チームを作成して、関係するプロジェクト毎に権限を設定します。 ここでは、1 つのプロジェクトに、権限を設定する例を 2 つのシナリオで紹介します。
シナリオ 1
開発はしないが情報の参照だけをする人(マネージャ)を参画させたい。情報の参照は、すべてのステージを対象とする。
- チーム
チーム設定 | 値 | シナリオ |
---|---|---|
チームロール | reader | 組織、プロジェクト、チームの更新系作業なし |
- 権限
権限設定 | 値 | シナリオ |
---|---|---|
プロジェクトロール | reader | プロジェクトに関する情報の参照 |
ステージロール | read | ステージに関する情報の参照 |
ステージタイプ | production | すべてのステージを参照 |
シナリオ 2
外部の人に開発を手伝ってもらうがステージング環境や本番環境は触らせたくない。
- チーム
チーム設定 | 値 | シナリオ |
---|---|---|
チームロール | reader | 組織、プロジェクト、チームの更新系作業なし |
- 権限
権限設定 | 値 | シナリオ |
---|---|---|
プロジェクトロール | admin | クライアントバージョンの登録・更新 |
ステージロール | read_write | Worker や Cloud SQL の登録・更新 |
ステージタイプ | development | 開発環境のステージのみで開発 |
magellan-cli を使った権限の操作
magellan-cli
コマンドラインツールを使ってできる権限の操作は、magellan-cli authority
に集約されています。
どのような操作ができるかは、magellan-cli authority help
とすることで確認することができます。
$ magellan-cli authority help
Commands:
magellan-cli authority list # authorities の一覧を表示します
magellan-cli authority show [ID] # IDで指定されたauthorityの詳細を表示します
magellan-cli authority select ID # ID を指定してauthorityを選択します
magellan-cli authority deselect # authorityの選択を解除します
magellan-cli authority update ATTRIBUTES # 選択したauthorityの属性を指定したATTRIBUTESで更新します
magellan-cli authority create PROJECT_ROLE STAGE_ROLE STAGE_TYPE # PROJECT_ROLE STAGE_ROLE STAGE_TYPE を指定してauthorityを登録します
magellan-cli authority delete ID # ID を指定してauthorityを削除します
magellan-cli authority help [COMMAND] # 利用可能なコマンドの一覧か特定のコマンドの説明を表示します
Options:
-v, [--version], [--no-version] # バージョンを表示します
-V, [--verbose], [--no-verbose] # 追加のログ情報を表示します
-D, [--dryrun], [--no-dryrun] # 登録や削除などのシステムには反映させずにアクションを実行します
以下では、権限の登録、権限の一覧および権限の削除について、使い方を簡単に紹介します。詳しくは、Reference を参照してください。
権限の登録
権限を登録したいときは、magellan-cli authority create
コマンドを使います。コマンドの引数に、プロジェクトロール、ステージロール、ステージタイプを指定します。
権限を登録するときは、登録先のチームと権限を設定するプロジェクトを事前に選択しておく必要があります。
例えば、プロジェクトロール owner
、ステージロール reader_write
、ステージタイプ production
で権限を登録したいときは、次のように使います。
$ magellan-cli team select Owners
$ magellan-cli project select DefaultProject1
$ magellan-cli authority create owner read_write production
$
実行後、何もメッセージが表示されなければ、チームの登録に成功しています。
権限の一覧
権限の一覧を確認したいときは、magellan-cli authority list
コマンドを使います。
$ magellan-cli authority list
+---+------+-----------------+--------+--------------+------------+----------------------------------+
| | id | project | team | project_role | stage_role | stage_type |
+---+------+-----------------+--------+--------------+------------+----------------------------------+
| | 8262 | DefaultProject1 | Owners | owner | read_write | development, staging, production |
+---+------+-----------------+--------+--------------+------------+----------------------------------+
Total: 1
権限の削除
権限を削除したいときは、magellan-cli authority delete
コマンドを使います。コマンド引数には、ID(権限の一覧の id
欄)を指定します。例えば、ID が 8262
の権限を削除したいときは、次のように使います。
$ magellan-cli authority delete 8262
OK
権限の削除に成功した場合は、OK
のメッセージが表示されます。