組織のポリシー サービスを使用すると、組織の Cloud リソースをプログラムで一元管理できます。組織ポリシー管理者は、リソース階層全体にわたって制約を構成できます。
利点
- 組織のリソースの使用方法に関する制限を構成して集中管理できます。
- 開発チームがコンプライアンスを遵守できるように違反防止策の定義と確立ができます。
- プロジェクト オーナーとチームがコンプライアンス違反を心配せずに迅速に行動できるようになります。
一般的なユースケース
組織のポリシーを使用すると、次のことができます。
- ドメインに基づいてリソースの共有を制限する。
- Identity and Access Management サービス アカウントの使用を制限する。
- 新しく作成されるリソースの物理的なロケーションを制限する。
組織のリソースをきめ細かく制約できる制約は数多くあります。詳細については、組織ポリシー サービス制約すべての一覧をご覧ください。
Identity and Access Management との相違点
Identity and Access Management で重要なのは「誰であるか」です。管理者は、特定のリソースに対して誰がアクションを実施できるかを権限に基づいて承認します。
組織ポリシーで重要なのは「何」で、管理者は特定のリソースに対して制限を設定し、どのような構成が可能であるかを決定できます。
主なコンセプト
組織ポリシー
組織のポリシーは、1 つ以上の Google Cloud サービスを制限する単一の制約を構成します。組織のポリシーは、組織、フォルダ、またはプロジェクト リソースに対して設定され、そのリソースおよび子リソースに制約を適用します。
組織のポリシーには、制約を適用する方法と適用条件を指定するルールが 1 つ以上含まれます。たとえば、組織のポリシーに、environment=development
タグのあるリソースにのみ制約を適用するルールと、他のリソースに制約が適用されないようにするルールを含めることができます。
組織ポリシーが接続されているリソースの子孫は、組織ポリシーを継承します。組織のポリシー管理者は、組織リソースに組織のポリシーを適用することで、組織全体で組織のポリシーの適用と制限の構成を制御できます。
制約
制約は、Google Cloud サービスまたは Google Cloud サービスのリストに対する特殊な制限です。制約は、どのような行動が制御されているかを定義する青写真と考えることができます。この青写真は組織のポリシーとしてリソース階層内のリソースに適用され、これにより制約で定義されたルールが実施されます。その制約にマッピングされ、そのリソース階層ノードに関連付けられた Google Cloud サービスにより、組織のポリシー内で構成された制限が適用されます。
制約のタイプは、リストとブールのいずれかです。リスト型制約は、指定された許可値または拒否値のリストを使用して制約を評価します。たとえば、次の制約は、仮想マシンに接続できる IP アドレスを制限します。
name: organizations/ORGANIZATION_ID/policies/compute.vmExternalIpAccess
spec:
rules:
- values:
allowedValues:
- projects/PROJECT_NAME/zones/ZONE_ID/instances/INSTANCE_NAME
- projects/PROJECT_NAME/zones/ZONE_ID/instances/ANOTHER_INSTANCE_NAME
ブール制約は、特定のリソースに対して適用されるかされないかにかかわらず、特定の動作を決定します。たとえば、次の制約によって、外部サービス アカウントを作成できるかどうかが決まります。
name: organizations/ORGANIZATION_ID/policies/iam.disableServiceAccountCreation
spec:
rules:
- enforce: true
タグを使用すると、リソースに特定のタグが付加されているかどうかに基づいて、条件付きで制約を適用できます。タグを使用し、条件付きでの制約の適用を使用すると、階層内のリソースを集中管理できます。
たとえば、次の制約では、environment=development
というタグが付けられたリソースの Cloud Logging は無効になりますが、それ以外のリソースでは有効になります。
name: organizations/ORGANIZATION_ID/policies/gcp.disableCloudLogging
spec:
rules:
- condition:
expression: resource.matchTag(\"ORGANIZATION_ID/environment\", \"development\")
title: ""
enforce: true
- enforce: false
各 Google Cloud サービスは制約のタイプと値を評価して、何を制限すべきかを決定します。制約の詳細については、制約についてのページをご覧ください。
カスタムの組織のポリシー
カスタムの組織のポリシーでは、事前定義された組織のポリシーと同じ方法でリソースの作成と更新を許可または制限できますが、管理者はリクエスト パラメータやその他のメタデータに基づいて条件を構成できます。
Dataproc NodePool
リソースなど、特定のサービス リソースのオペレーションを制限する制約を使用して、カスタムの組織のポリシーを作成できます。カスタム制約をサポートするサービス リソースのリストについては、カスタム制約がサポートされるサービスをご覧ください。
カスタム組織のポリシーの使用の詳細については、カスタム組織のポリシーの作成と管理をご覧ください。
継承
リソースに組織のポリシーが設定されている場合、そのリソースのすべての子孫はデフォルトでその組織のポリシーを継承します。組織リソースで組織のポリシーを設定した場合、そのポリシーで定義されている制限の構成は、子孫であるすべてのフォルダ、プロジェクト、サービス リソースに受け継がれます。
組織ポリシー管理者の役割を持つユーザーは、子孫リソース階層ノードに対して別の組織のポリシーを設定し、この継承された制限の上書き、階層評価のルールに基づくこれらの制限内容の結合ができます。これにより、組織のポリシーが組織全体にどのように適用され、どこで例外を適用するかを正確に制御できます。
階層評価の詳細については、階層についてをご覧ください。
違反
違反とは、Google Cloud サービスがリソース階層の範囲内にある組織のポリシー制限の構成に反して動作している状況を指します。通常、GCP サービスは制約を適用して違反を防止しますが、新しい組織のポリシーの適用は遡及的ではありません。組織のポリシーの制約がさかのぼって適用されている場合は、[組織のポリシーの制約] ページでそのようなラベル付けがされます。
すでに発生しているサービスの動作や状態に対して新しい組織のポリシーにより制限が設定された場合、ポリシー違反状態とみなされますが、サービスは元の動作を停止しません。この違反には手動で対処する必要があります。この動作は新しい組織ポリシーによってビジネスの継続性が完全に損なわれるリスクを防ぐためのものです。
次のステップ
- 組織の作成と管理を読み、組織リソースを取得する方法を学ぶ
- Google Cloud Console を使用して組織のポリシーを作成および管理する方法について確認する
- 制約を使用して組織ポリシーを定義する方法を学ぶ
- 組織ポリシーの制約で実現できるソリューションを検討する