Google Cloud の組織ポリシーで有効にするべき設定一選!

Google Cloud

2024.9.13

Topics

はじめに

こんにちは、Shunです!

Google Cloud の組織ポリシーを活用して、組織の統制を図ろうとしたけど、ポリシーの数が多すぎてわからない!といったお悩みをお持ちの方もいるかと思います!
そこで、今回は組織ポリシーで有効にするべき設定を一つだけご紹介します!

組織ポリシーとは?という方は以下の記事を先に読むことをお勧めします。

関連記事
Google Cloud の組織ポリシーを解説してみた!

有効にするべき組織ポリシー一選

結論から申し上げると、公開されたサービスアカウントキーの自動無効化(Automatically disable exposed service account keys)の組織ポリシーを有効にしましょう!

「公開されたサービスアカウントキーの自動無効化」とは、Google Cloud が公開リポジトリなど、特定のサービスアカウントキーが外部に公開されている場合、その事実を検知することがあります。このリスト制約を設定することで、公開されたキーを自動的に無効化し、漏洩による悪影響を最小限に抑えることが可能になります。

参考: 公開されたサービス アカウント キーを自動的に無効にする

設定オプションと推奨事項

  • DISABLE_KEY:
    Google Cloud が公開されたキーを検出すると、そのキーを自動的に無効化します。さらに、Cloud Audit Logs イベントを作成し、プロジェクトオーナーとセキュリティ担当者に通知を送信します。この設定は、漏洩を早期に発見し、迅速に対応することで、リスクを最小限に抑えることができます。
    本設定が Google Cloud からは推奨されています。

  • WAIT_FOR_ABUSE:
    Google Cloud が公開されたキーを検出しても、自動的に無効化しません。しかし、公開されたキーが悪用されていると Google Cloud 側で判断された場合、キーは無効化されます。またDISABLE_KEYと同様に、WAIT_FOR_ABUSE の設定でも Cloud Audit Logs イベントを作成し、プロジェクトオーナーとセキュリティ担当者に通知を送信します。
    この設定は、漏洩に気づかず悪用されてしまうリスクがあるので、非推奨です。

2024年6月16日以降は、デフォルトでDISABLE_KEYのとなっています。

組織ポリシーの有効化手順

ここからは実際に、公開されたサービスアカウントキーの自動無効化(Automatically disable exposed service account keys)を有効化します。Google Cloud から推奨されている DISABLE_KEY を組織ポリシーに適用します。

Google Cloud コンソールから [IAMと管理] > [組織のポリシー] に移動します。

組織ポリシーの一覧から、[Service account key exposure response]を選択します。

[ポリシーを管理]を選択します。

以下の設定を適用します。

  • [ポリシーのソース]: 親のポリシーをオーバーライドする
  • [ポリシーの適用]: 置き換える

  • [ポリシーの値]: カスタム
  • [ポリシーの種類]: 許可
  • [カスタム値]: DISABLE_KEY

これで[ポリシーの設定]をクリックすると設定は完了です。

参考: リスト型制約のポリシーの更新

デフォルトで有効な組織ポリシー

参考までにデフォルトで有効な組織ポリシーについても、記載します。

2024年5月3日以降に作成されたすべての組織には、これらのデフォルトポリシーが適用されています。
2024年2月から2024年4月の間に作成された組織の一部にも、これらのデフォルトポリシーが適用されている場合があります。

組織ポリシー名 組織ポリシーの制約 説明 違反措置の影響
サービスアカウントキー作成を無効にする iam.disableServiceAccountKeyCreation ユーザーがサービスアカウントの永続キーを作成できないようにします。 サービスアカウントの認証情報が漏洩するリスクが軽減します。
サービスアカウントキーのアップロードを無効にする iam.disableServiceAccountKeyUpload サービスアカウントへの外部公開鍵のアップロードを禁止します。 サービスアカウントの認証情報が漏洩するリスクが軽減します。
デフォルトのサービスアカウントへの自動的なロール付与を無効にする iam.automaticIamGrantsForDefaultServiceAccounts デフォルトのサービスアカウントの作成時に、過剰な権限の IAM ロール Editor を受け取らないようにします。 Editor ロールはほとんどの Google Cloud のリソースを作成および削除できるため、サービスアカウントが不正使用された場合に脆弱性が発生します。
ドメイン別に ID を制限する iam.allowedPolicyMemberDomains リソース共有を、特定の組織リソースに属する ID に限定します。 組織リソースを公開してお客様自身以外のドメインを持つアクターがアクセスできる状態にしておくと、脆弱性が発生します。
ドメイン別に連絡先を制限する essentialcontacts.allowedContactDomains 重要な連絡先を制限して、選択したドメイン内の管理対象ユーザーIDのみがプラットフォーム通知を受信できるようにします。 別のドメインの不正な行為者が重要な連絡先として追加され、セキュリティ状態が侵害される可能性があります。
均一なバケットレベルのアクセス storage.uniformBucketLevelAccess Cloud Storage バケットがオブジェクトごとのACL(IAMポリシーとは別のシステム)を使用してアクセスを提供することができないようにします。 アクセス管理と監査により一貫性を実現します。
デフォルトでゾーンDNSを使用する compute.setNewProjectDefaultToZonalDNSOnly アプリケーションデベロッパーがCompute Engine インスタンスのグローバルDNS設定を選択できないよう制限します。 グローバルDNS設定は、ゾーンDNS設定よりもサービスの信頼性が低いものです。

引用: デフォルトで安全な組織リソースの管理

まとめ

本記事では、Google Cloud で有効にするべき組織ポリシー一選として、公開されたサービスアカウントキーの自動無効化(Automatically disable exposed service account keys)をご紹介しました。

これにより、サービスアカウントキーの漏洩に対するセキュリティ対策を強化することができます。
セキュリティリスクを軽減し、組織の安全性を高めるためにも、この設定は不可欠です。

この機会に是非設定してみてください!

最後までお読みいただきありがとうございます!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

Shun

週8バスケしたいです。Google Cloud11冠、2024 AWS All Cert

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら