VPC Flow Logs の組織のポリシーに関する制約を構成する
このページでは、VPC Flow Logs に構成できる組織のポリシーの制約について説明します。
管理者は VPC Flow Logs を有効または無効にできます。デフォルトでは、VPC Flow Logs の有効化と無効化に制約は適用されていません。
組織のポリシー管理者は、constraints/compute.requireVpcFlowLogs
制約を使用することで、ポリシーのスコープ内のすべてのサブネットに対し、指定したサンプリング レートで VPC Flow Logs を有効にできます。このポリシーは、サブネットの作成時またはサブネットの VPC Flow Logs 構成の更新時に適用されます。VPC Flow Logs の構成が更新されていない場合、既存のサブネットに影響はありません。
始める前に
IAM の権限
制約を作成するプリンシパルには、組織のポリシー管理者のロール(roles/orgpolicy.policyAdmin
)が必要です。
制約を表示するプリンシパルには、適切なリソースに対する orgpolicy.policy.get
権限が必要です。たとえば、組織のポリシー閲覧者のロール(roles/orgpolicy.policyViewer
)には orgpolicy.policy.get
権限が含まれています。
組織のポリシーの背景
組織のポリシーの制約に関する作業を初めて行う場合は、次のページをご覧ください。
制約を計画する
制約は、リソース階層の次のレベルで作成できます。
- 組織
- フォルダ
- プロジェクト
デフォルトでは、ノードに作成された制約はすべての子ノードに継承されます。ただし、特定のフォルダが親フォルダから継承するかどうかについては、対象フォルダの組織のポリシー管理者に決定権があるため、継承は自動化されません。詳細については、「階層評価について」の継承をご覧ください。
VPC Flow Logs のサンプリング レート
constraints/compute.requireVpcFlowLogs
制約を使用して、サブネットに次のサンプルレートを構成できます。
ポリシーの値 | サンプルレート |
---|---|
ESSENTIAL |
0.1(10%)以上、0.5(50%)未満 |
LIGHT |
0.5(50%)以上、1.0(100%)未満 |
COMPREHENSIVE |
1.0(100%) |
これらのポリシー値は組み合わせることができます。次の表に例を示します。
サンプルレート | 制約に含める値 |
---|---|
0.1(10%)以上 | ESSENTIAL 、LIGHT 、COMPREHENSIVE |
0.5(50%)以上 | LIGHT と COMPREHENSIVE |
1.0(100%) | COMPREHENSIVE |
VPC Flow Logs 制約を構成する
コンソール
Google Cloud コンソールを使用して制約を構成する方法については、リスト型制約のポリシーのカスタマイズをご覧ください。
Google Cloud コンソールの [VPC Flow Logs に対して、事前定義されたポリシーが必須] ページに移動します。
[EDIT] をクリックします。
[編集] ページで、[適用先] の値を選択します。
親のポリシーを継承する: プロジェクトまたはフォルダのポリシーを構成すると、親スコープのポリシーが継承されます。組織のポリシーを構成しても、ポリシーは有効になりません。
Google で管理されるデフォルト値: 親スコープで有効になっていても、ポリシーを無効にします。
カスタマイズ: 現在のスコープ内のすべてのサブネットに対してポリシーを有効にして構成できます。
[ポリシーの適用] で、[置換] を選択します。
VPC Flow Logs の場合、[親と結合する] オプションは使用できません。
[ルール] セクションで、[ルールを追加] をクリックします。
[ポリシーの値] で [カスタム] を選択します。
その他の値は、VPC Flow Logs に使用できません。
[ポリシーの種類] で [許可] を選択します。
[カスタム値] セクションで、構成するサンプリング レートを表す値を入力します。
必要なサンプリング レートを構成するために複数の値を指定する必要がある場合は、[新しいポリシーの値] をクリックして次の値を入力します。3 つ目の値を指定する必要がある場合は、上記の手順を繰り返します。
[保存] をクリックします。
gcloud
Google Cloud CLI を使用して制約を構成する方法については、組織リソースに対する適用を設定するをご覧ください。
describe
コマンドを使用して、組織リソースに関する現在のポリシーを取得します。このコマンドを実行すると、このリソースに直接適用されたポリシーが返されます。ポリシーが設定されていない場合は、NOT_FOUND
エラーが返されます。gcloud org-policies describe \ compute.requireVpcFlowLogs \ [ --organization=ID | --folder=ID | --project=ID ]
次のように置き換えます。
ID
: 制約を適用する組織、フォルダ、またはプロジェクトの ID。
set-policy
コマンドを使用して、組織にポリシーを設定します。このコマンドを実行すると、現在リソースに適用されているポリシーが上書きされます。ポリシーを保存する一時ファイル
/tmp/policy.yaml
を作成します。name: RESOURCE_TYPE/ID/policies/compute.requireVpcFlowLogs spec: rules: - values: allowedValues: - POLICY_VALUES
次のように置き換えます。
RESOURCE_TYPE
: ポリシーを適用するリソースのタイプ。有効なオプションはorganizations
、folders
、projects
です。ID
: 制約を適用する組織、フォルダ、またはプロジェクトの ID。POLICY_VALUES
: 構成するサンプリング レートを表す値。複数の値を組み合わせることができます。詳細については、VPC Flow Logs のサンプリング レートをご覧ください。
この制約例では、組織レベルで少なくとも 10% のサンプリング レートが必要になります。
name: organizations/ID/policies/compute.requireVpcFlowLogs spec: rules: - values: allowedValues: - ESSENTIAL - LIGHT - COMPREHENSIVE
この制約例には、組織レベルで少なくとも 50% のサンプリング レートが必要です。
name: organizations/ID/policies/compute.requireVpcFlowLogs spec: rules: - values: allowedValues: - LIGHT - COMPREHENSIVE
この制約例では、組織レベルで 100% のサンプリング レートが必要になります。
name: organizations/ID/policies/compute.requireVpcFlowLogs spec: rules: - values: allowedValues: - COMPREHENSIVE
set-policy
コマンドを実行します。gcloud org-policies set-policy /tmp/policy.yaml
describe --effective
を使用して、現在の有効なポリシーを表示します。このコマンドを実行すると、その時点でリソース階層において継承可能と評価された組織のポリシーが返されます。gcloud org-policies describe \ compute.requireVpcFlowLogs --effective \ [ --organization=ID | --folder=ID | --project=ID ]
VPC Flow Logs の要件を設定した場合の影響
constraints/compute.requireVpcFlowLogs
制約を使用して組織ポリシーを構成した場合、サブネットを作成する際や、既存のサブネットの VPC Flow Logs 構成を更新する際に、構成がポリシーの要件を満たしていないと、エラーが発生する可能性があります。
エラーが表示された場合は、有効な構成を作成するために、制約の構成方法を確認してください。制約を表示するのに十分な IAM 権限がない場合は、組織の管理者にお問い合わせください。
ポリシーを設定する前に作成されたサブネットは、VPC Flow Logs の構成を更新しない限り、ポリシーの影響を受けません。
サブネットの作成に対する影響
ポリシーのスコープで新しいサブネットを作成する場合:
VPC Flow Logs が、ポリシーの要件を満たすサンプリング レートで明示的に有効になっている場合、VPC Flow Logs を有効にして、リクエストされたサンプリング レートでサブネットが作成されます。
ポリシーの要件を満たしていないサンプリング レートで VPC Flow Logs が明示的に有効になっている場合、エラーが返され、サブネットは作成されません。
VPC Flow Logs が明示的に無効にされている場合、エラーが返され、サブネットは作成されません。
VPC Flow Logs とサンプリング レートが設定されていない場合、VPC Flow Logs が有効になり、ポリシーで必要な最小サンプリング レートでサブネットが作成されます。たとえば、ポリシーの値が
LIGHT
とCOMPREHENSIVE
で構成されている場合、サンプリング レートは0.5
(50%)に設定されます。
サブネットの更新に対する影響
ポリシー スコープ内の既存のサブネットを更新する場合、次のことが適用されます。
更新によって VPC Flow Logs が有効になっている場合、または VPC Flow Logs がすでに有効になっていて、サンプリング レートがポリシーの要件を満たす値に設定されている場合、VPC Flow Logs が有効になり、要求されたサンプリング レートでサブネットが作成されます。
更新で VPC Flow Logs が有効になっている場合、または VPC Flow Logs がすでに有効になっていて、サンプリング レートの値がポリシーの要件を満たしていない場合、エラーが返され、サブネットは更新されません。
更新によって VPC Flow Logs が無効になると、エラーが返されます。サブネットは更新されません。
更新で VPC Flow Logs が有効または無効にされず、サンプリング レートも設定されていない場合、ポリシーは無視され、サブネットが更新されます。
自動モード VPC ネットワークの作成に対する影響
自動モードの VPC ネットワークを作成すると、各リージョンにサブネットが自動的に作成されます。ネットワークが VPC Flow Logs ポリシーのスコープ内にある場合、VPC Flow Logs が有効になり、ポリシーで定義された最小サンプリング レートでサブネットが作成されます。たとえば、ポリシーの値が LIGHT
と COMPREHENSIVE
で構成されている場合、サンプリング レートは 0.5
(50%)に設定されます。