19511¶
2024-08-26 Incoming¶
お世話になっております。JWITS四方と申します。
表題の件につきましてお聞きしたく、起票させていただきました。
私はグループ会社のGoogle Cloudプロジェクトを払い出し、ガバナンス管理する部署に所属しております。 払い出したプロジェクトすべてに対し、利用者による予期しないプロジェクトの削除を防ぎたいと考えております。
以上を踏まえまして、以下教示いただきたく存じます。
①Google Cloudプロジェクトの削除保護についてのベストプラクティスはどのようなものでしょうか。
②どのユーザーもプロジェクトを削除できないといった内容のポリシーを上位の組織あるいはフォルダにアタッチし、削除保護を実装することはGoogle Cloudの仕様上可能でしょうか。仕様上可能であれば、そのポリシー内容についてもご教示いただきたいです。
②については、例えば2つのフォルダし、以下のような運用ができればと考えております。こちらについても、実現可否をお聞きしたいです。 フォルダA:プロジェクト削除保護ポリシーが付与されているグループ。このグループ内でプロジェクトを払い出す。 フォルダB:プロジェクト削除保護ポリシーは付与されていないグループ。テナントの管理者(当部署)は、削除したいプロジェクトのみBへ移動させ、プロジェクトを削除する。
以上、ご回答の程、よろしくお願いいたします。
2024-08-27 Sent¶
株式会社JR西日本ITソリューションズ 四方 様
お世話になっております、株式会社G-genサポートの高井です。 お問い合わせいただきありがとうございます。ご案内にお時間いただいており恐れ入ります。
ご質問いただいた内容について下記にご案内いたします。
①Google Cloudプロジェクトの削除保護についてのベストプラクティスはどのようなものでしょうか。
リーエンを適用しプロジェクトの保護を実施する方法[1]がございます。特定のプロジェクトに対して削除を不可能にすることが可能となっております。 また、自動的にこのリーエンを配置することも可能でございます。例えば「あるプロジェクトのサービス アカウントを他のプロジェクト内のリソースに接続できるようにすると、そのサービス アカウントが置かれているプロジェクトにリーエンが配置され、削除ができなくなる」という設定も可能となっております。
②どのユーザーもプロジェクトを削除できないといった内容のポリシーを上位の組織あるいはフォルダにアタッチし、削除保護を実装することはGoogle Cloudの仕様上可能でしょうか。仕様上可能であれば、そのポリシー内容についてもご教示いただきたいです。
こちらの場合ですと、先述のリーエンではなく IAM ロール[2]にて制御いただくのが比較的容易かと存じます。 以下、各階層に付与いただくロールの概要を記載いたします。
組織全体:
一般ユーザーに「プロジェクト移動 (
roles/resourcemanager.projectMover)」を付与
フォルダA: 2. 加えて管理者ユーザー(またはグループ)のみ「プロジェクト作成 (
roles/resourcemanager.projectCreator)」ロールを付与 3. さらに加えて、ごく一部の限られた管理者ユーザー(普段は操作しない)にのみ「プロジェクト削除 (roles/resourcemanager.projectDeleter)」ロールを付与 (誰も削除できなくなる場合を回避するため)フォルダB:
一般ユーザーに「プロジェクト移動 (
roles/resourcemanager.projectMover)」を付与加えて管理者ユーザー(またはグループ)のみ「プロジェクト削除 (
roles/resourcemanager.projectDeleter)」ロールを付与
[1] リーエンによるプロジェクトの保護 (Google Cloud Resource Manager 公式ドキュメント) https://cloud.google.com/resource-manager/docs/project-liens?hl=ja
[2] 事前定義ロールの使用 - IAM を使用したプロジェクトのアクセス制御 (Google Cloud Resource Manager 公式ドキュメント) https://cloud.google.com/resource-manager/docs/access-control-proj?hl=ja#using_predefined_roles
ご質問いただいております内容への回答は以上となりますが、認識の相違ある場合や不明点などありましたらお知らせくださいませ。 引き続きどうぞよろしくお願いいたします。
2024-08-30 Incoming¶
高井さま
ご回答ありがとうございます。
リーエンによる削除保護を検討したいのですが、追加で2点ご質問させていただきます。
① リーエンはプロジェクトにのみ付与可能な認識でよいでしょうか。 例えば、上位の組織やフォルダに付与し、配下のプロジェクトに一括適用することは不可能でしょうか。 ※リーエン以外のサービスで同様のことが実現可能であればそちらでも構いません。
② リーエンをプロジェクトに付与した場合、そのプロジェクトのオーナーはリーエンを削除できない認識でよいでしょうか。 リーエンを付与するには「プロジェクトリーエン修飾子」権限が必要ですが、こちらの権限はオーナー権限には含まれていないと考えてよいでしょうか。
以上、ご回答の程よろしくお願いいたします。
2024-09-03 Sent¶
株式会社JR西日本ITソリューションズ 四方 様
お世話になっております、株式会社G-genサポートの高井です。 ご案内にお時間いただいており恐れ入ります。追加でご質問いただいた内容について下記にご案内いたします。
① リーエンはプロジェクトにのみ付与可能な認識でよいでしょうか。 例えば、上位の組織やフォルダに付与し、配下のプロジェクトに一括適用することは不可能でしょうか。 ※リーエン以外のサービスで同様のことが実現可能であればそちらでも構いません。
このような場合ですと、以前ご案内させていただいた IAM ロールによる制御方法であれば実現可能でございます。 また、リーエンを使用して自動適用することも可能な想定でございます。 その際、同様の事例に関する情報を当サポートでは持ち合わせていないため、手順の確認にお時間をいただきますこと予めご了承くださいませ。
② リーエンをプロジェクトに付与した場合、そのプロジェクトのオーナーはリーエンを削除できない認識でよいでしょうか。 リーエンを付与するには「プロジェクトリーエン修飾子」権限が必要ですが、こちらの権限はオーナー権限には含まれていないと考えてよいでしょうか。
上記につきましては、プロジェクトに対し「オーナー」ロールが付与されていれば gcloud CLI や Cloud Shell から削除可能となっております。
ご質問いただいております内容への回答は以上となりますが、認識の相違ある場合や不明点などありましたらお知らせくださいませ。 引き続きどうぞよろしくお願いいたします。