権限

権限は、チームロールとは別に、プロジェクトとそのプロジェクトに属するステージの操作権限を管理する仕組みです。権限は、チーム単位で管理し、プロジェクト毎に設定します。

権限概念図

権限詳細

プロジェクトおよびそのプロジェクトに属するステージの操作権限は、プロジェクトロール、ステージロールおよびステージタイプで決まります。

プロジェクトロール

権限によるプロジェクトの操作権限は、プロジェクトロールで決まります。プロジェクトロールには、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
    • ステージタイプ: デフォルト

tips用アイコン

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 のメッセージが表示されます。