現在のところ、Access Context Manager にて、ユーザーまたはサービス アカウントによるアクセスを許可する設定は、Google Cloudコンソールではサポートされておりません。そのため、gcloudコマンドを利用した設定手順について、ご紹介させていただきます。
Google Cloudのリソースへのアクセスをきめ細かく制御するためのセキュリティ機能です。
簡単に言うと、「誰が、どこからアクセスしてきたら、特定のGoogle Cloudサービスにアクセスできるようにするか」 をルールとして設定できるサービスです。
Access Context Manager の概要 | Google Cloud
まず、アクセスを許可する対象(プリンシパル)を一覧化します。
この条件を記載する YAMLファイル を作成します。以下がファイルの例です。
- members:
- user:test@example.com
- serviceAccount:service@project.iam.gserviceaccount.com
上記の例では、ユーザー test@example.comとサービスアカウントservice@project.iam.gserviceaccount.comが指定されています。必要なプリンシパル分、同様に記述します。
作成したファイルは、例えば CONDITIONS.yaml という名前で保存します。
ファイル名は、ステップ2のgcloudコマンドで設定する際に、必要です。
次に、以下のコマンドを使用してアクセスレベルを作成します。
gcloud access-context-manager levels create NAME \
--title TITLE \
--basic-level-spec CONDITIONS.yaml \
--combine-function=OR \
--policy=POLICY
・NAME:作成するアクセスレベルの名前
・TITLE:アクセスレベルの説明文
・CONDITIONS.yaml:ステップ1で作成した条件ファイル
・combine-function:条件を組み合わせる方法を決定(有効な値: AND、OR。省略可)
・POLICY:組織のアクセスポリシーID(デフォルトのポリシーが設定されている場合、このパラメータは省略可)
作成済みのアクセスレベルを変更する場合は update コマンド、削除する場合は delete コマンドを使用します。
以下にそれぞれのコマンド例を示します。
[更新コマンド]
gcloud access-context-manager levels update NAME \
--basic-level-spec CONDITIONS.yaml \
--policy=POLICY
※注意点として、更新時に指定する YAML ファイルは差分ではなく全件を記載してください。
(ユーザ追加したい場合、更新しないユーザーやサービス アカウントの情報も含める必要があります)
[削除コマンド]
gcloud access-context-manager levels delete NAME \
--policy=POLICY
以上が、gcloud コマンドを利用したユーザーまたはサービス アカウントによるアクセスを許可する手順です。
ユーザーまたはサービス アカウントによるアクセスを許可する | Google Cloud
Cloud SDK | gcloud access-context-manager levels | Google Cloud
Google Cloud Consoleではできない設定も、gcloud コマンドを使用することで柔軟に対応可能です。
特にAccess Context Managerを活用することで、セキュリティポリシーに応じたアクセス制御が実現できます。
今回紹介した手順を参考に、よりセキュリティを高めたシステム運用をご検討ください。
ご参考になれば幸いです!
Google Cloud、Google Workspaceに関する お問い合わせはこちら
XIMIX®は日本情報通信株式会社が所有する登録商標です。(商標登録第6755234号)