こんにちは、京セラコミュニケーションシステム 石関 (@kccs_daisuke-ishizeki)です。
以前こちらの記事で 企業が Google Cloud を使い始める際は、Google Workspace(または Cloud Identity) を利用して Google アカウントを作成・管理することが推奨されている旨ご紹介しました。
この記事では組織で Google Cloud を使い始めた際に発生しやすい課題とその対処法についてご紹介します。
記事中のhoge.com
は架空の組織(ドメイン)です。
この記事の対象者
- Google Cloud を使い始めた方
- 会社や部門のIT管理者
デフォルトの組織ロールとは
まず、デフォルトの組織ロールとは?ですが赤枠で囲った IAM 設定を指します。
ポイントはプロジェクトの IAM ではなく、組織に対する IAM 設定である点です。
対象画面には以下の操作で辿り着けます。
-
Google Cloud Console からページ上部にある [組織の選択] プルダウンリストで組織(この例では
hoge.com
)を選択 - ナビゲーションメニューより [IAM と管理] - [IAM] を開く
放置するとどうなるか
無数の My First Project が生まれる😇
これ以外のプロジェクト名がついたプロジェクトも多数作成され、そのほとんどが使われていないプロジェクトと推測できる状況かと思います。
こうなると不要なプロジェクトをシャットダウン(削除)して整理したくなりますが、プロジェクトの利用者に確認したり、シャットダウンを依頼することになるため、ちょっと面倒です。
無数の 請求先アカウント が生まれる😇
おそらくほとんどが、Google Cloud を無料トライアルした際に作成された、個人のクレジットカードが登録された請求先アカウントです。先ほどの My First Project などのプロジェクトにリンクしているものと想像できます。
これ自体が良いのかどうかは会社のポリシーによってさまざまだと思いますが、個々人が個別に経費精算する状況が望ましくないケースもあるかと思います。
組織のすべての請求先アカウントを list するには、組織リソースに対し請求先アカウント閲覧者などのロールが割り当てられている必要があります。
組織の管理者ロールのみでは組織の請求先アカウントを list できませんのでご注意ください。
どうしてこうなるの?
デフォルトで組織リソースに対し、組織(ドメイン)のすべてのユーザーに権限があり、自由に作成できるためです。
ドキュメント1に以下の記載があります。
デフォルトでは、組織リソースを作成すると、ドメインのすべてのユーザーに請求先アカウント作成者とプロジェクト作成者のロールが付与されます。
このデフォルトのロールは、ユーザーがすぐに Google Cloud の使用を開始できるようにするためのものであり、組織リソースの通常運用での使用を意図したものではありません。
文字だけではイメージしにくいかなと思うので、具体例で示します。
ポイントは左下赤丸の hoge.com となっている箇所です。
これが組織(ドメイン)のすべてのユーザーを表しています。タイプのアイコンもドメイン
になってますね。
この例では(イメージ図記載のとおりですが)以下の設定になっています。
-
hoge.com
というリソースに対し -
hoge.com (ドメイン)すべてのユーザー
に -
プロジェクト作成者
、請求先アカウント作成者
ロールを割り当てる
どうすれば良いか
やることは単純で、
- 組織リソースに対し、組織(ドメイン)に割り当てられているデフォルトロール(
プロジェクト作成者
、請求先アカウント作成者
)を削除する
をすれば先ほどの状況は回避できます。
ただ、これだけでは利用したい人がセルフでプロジェクトを作成できなくなるため、会社のポリシーに合わせどのように利用させるか検討が必要です。
以下、設定の一例です。
- 例:管理部門がプロジェクトの作成を担うケース
- 管理部門メンバーの Google アカウントなどのプリンシパル2に
- 組織リソースに対し、
プロジェクト作成者
を割り当てる - プロジェクトをリンクさせる請求先アカウントに対し、
請求先アカウントユーザー
を割り当てる
- 組織リソースに対し、
- 管理部門メンバーの Google アカウントなどのプリンシパル2に
- 例:プロジェクトの作成を利用者に委譲するケース
- 対象メンバーが所属する Google グループなどのプリンシパル2に
- 特定のフォルダリソースに対し、
プロジェクト作成者
を割り当てる - プロジェクトをリンクさせる請求先アカウントに対し、
請求先アカウントユーザー
を割り当てる
- 特定のフォルダリソースに対し、
- 対象メンバーが所属する Google グループなどのプリンシパル2に
Cloud Build などからプロジェクトの作成を行いたい場合は、上記プリンシパルをサービスアカウントに置き換えることで実現できます。