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

Google Cloud

2024.9.13

Topics

はじめに

こんにちは、Shunです!
本記事では、Google Cloud の組織ポリシーについて解説をします!

組織ポリシーとは

組織ポリシー概要

Google Cloud の組織ポリシーは、組織内のリソースを一元管理するためのポリシーです。管理者は組織ポリシーを用いて、組織階層全体の制約を構成できます。組織ポリシーを使用することで、セキュリティ、コンプライアンス、ガバナンスを強化し、組織のリソースの使用方法を効果的に管理できます。

参考: 組織ポリシー サービスの概要

組織ポリシーのメリット

組織ポリシーのメリットとしては、以下があります。

  • 集中管理された制限の構成:
    組織ポリシーは、組織内のすべてのリソースのポリシーを一元管理することができます。これにより、異なるチーム/異なるプロジェクトがそれぞれのポリシーを適用することを防ぐことができます。
  • コンプライアンスの強化:
    組織ポリシーは、特定の要件や社内ポリシーを満たすために必要な制約を定義し、適用することができます。これにより、開発/セキュリティチームはコンプライアンス違反を防ぐことができます。
  • 迅速な行動を促進:
    組織ポリシーにより、プロジェクトオーナーとチームは、コンプライアンス違反を心配することなく、迅速に行動できます。

組織ポリシーのユースケース

以下に、一般的な組織ポリシーの活用例を挙げます。

  • ドメインに基づいたリソース共有の制限:
    特定のドメインに属するユーザーのみが特定のリソースにアクセスできるように、組織ポリシーを使用して共有を制限できます。これにより、機密データへの不正アクセスを防ぎ、セキュリティを強化できます。

  • サービスアカウントの使用制限:
    組織ポリシーを使用することで、特定のプロジェクトまたはサービスアカウントで作成できるサービスアカウントの種類を制限できます。これにより、セキュリティ上のリスクを軽減し、アクセス制御を強化できます。

  • 新しく作成されるリソースの物理的なロケーション制限:
    組織ポリシーを使用して、新しいリソースの作成が許可されるリージョンやゾーンを制限できます。これにより、データの地理的配置に関する規制要件を満たすことができます。また、レイテンシーを最適化できます。

組織ポリシーの仕組み

組織ポリシーの構成要素

組織ポリシーは、1つ以上の Google Cloud サービスに対する制限を定義する制約から構成されています。
制約は、組織、フォルダ、またはプロジェクトレベルで設定され、そのリソースとその子リソースに適用されます。

制約には、オン/オフで制約を設定する方法、もしくは条件を指定するルールが含まれます。たとえば、特定のタグが付与されたリソースにのみ制約を適用すること、特定のサービスへのアクセスを制限することが可能です。

制約

制約には、リスト型とブール型の2種類があります。

  • リスト型制約:
    指定された許可値または拒否値のリストを使用して制約を評価します。たとえば、仮想マシンに接続できる IP アドレスを制限する制約を定義できます。
  • ブール型制約:
    特定のリソースに対して適用されるかされないかに基づいて、特定の動作を決定します。たとえば、外部サービスアカウントの作成を許可または拒否する制約を定義できます。

タグを使用した条件付き制約

タグを活用することで、特定のタグが付加されているかどうかに基づいて、条件付きで制約を適用できます。
これにより、階層内のリソースをより細かく管理できます。

たとえば、environment=developmentというタグが付けられたリソースの Cloud Logging を無効にする制約を定義できます。これにより、開発環境でのログを無効にし、本番環境でのログは有効なままにすることができます。

継承

フォルダなどのリソースに組織ポリシーが設定されている場合、フォルダ以下のフォルダ/プロジェクトは、その組織ポリシーを継承します。つまり、組織リソースで組織ポリシーを設定するとそのポリシーで定義された制限はすべてのフォルダ、プロジェクト、サービスリソースに適用されます。

違反

違反とは、Google Cloud サービスが組織ポリシーの制限に反して動作している状況を指します。通常、Google Cloud のリソースは制約を適用して違反を防ぎますが、新しい組織ポリシーの適用は遡及的ではありません。

すでに発生しているサービスの動作や状態に対して新しい組織ポリシーにより制限が設定された場合、ポリシー違反状態とみなされますが、サービスは元の動作を停止しないので、注意が必要です。

組織ポリシーとIAMの違い

組織ポリシーはしばしば IAM と混同されることがあります。
本章では、2つのリソースの違いを解説します。

IAM は、Google Cloud リソースへのアクセスを制御するための仕組みです。IAM は、ユーザー、グループ、サービスアカウントなどのアイデンティティに、特定のリソースに対する特定の権限を付与します。つまり、IAM で重要なのは「誰であるか」ということです。

組織ポリシーは、Google Cloud リソースの構成を制限するための仕組みです。組織ポリシーでは、特定のリソースに対してどのような構成が可能かを制限できます。たとえば、特定のプロジェクトで作成できる Compute Engine の種類を制限したり、特定のリージョンで新しいリソースを作成することを禁止したりできます。つまり、組織ポリシーで重要なのは「何であるか」ということです。

以下は、IAMと組織ポリシーの違いをまとめた表です。

特性 IAM 組織ポリシー
目的 リソースへのアクセスを制御する リソースの構成を制限する
対象 アイデンティティ (ユーザー、グループ、サービスアカウント) リソース (プロジェクト、フォルダ、組織)
制御対象 権限 (読み取り、書き込み、削除) 構成 (リージョン、ゾーン、サービスアカウントの種類)
適用範囲 特定のリソースまたはリソースグループ 組織、フォルダ、プロジェクトレベル

IAM と組織ポリシーは、どちらも Google Cloud リソースを管理するための仕組みです。
IAM は、リソースへのアクセスを制御し、組織ポリシーは、リソースの構成を制限します。これらのツールを組み合わせることで、組織のセキュリティとコンプライアンスを強化することができます。

デフォルトで適応される組織ポリシー

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 全体のセキュリティ、コンプライアンス、ガバナンスを強化することができます。
事前定義されている組織ポリシーは膨大な数があるので、おすすめの組織ポリシーを紹介する記事を別途執筆できればと思います!

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

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

Shun

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

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら