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%)以上 ESSENTIALLIGHTCOMPREHENSIVE
0.5(50%)以上 LIGHTCOMPREHENSIVE
1.0(100%) COMPREHENSIVE

VPC Flow Logs 制約を構成する

コンソール

Google Cloud コンソールを使用して制約を構成する方法については、リスト型制約のポリシーのカスタマイズをご覧ください。

  1. Google Cloud コンソールの [VPC Flow Logs に対して、事前定義されたポリシーが必須] ページに移動します。

    組織のポリシーに移動

  2. [EDIT] をクリックします。

  3. [編集] ページで、[適用先] の値を選択します。

    • 親のポリシーを継承する: プロジェクトまたはフォルダのポリシーを構成すると、親スコープのポリシーが継承されます。組織のポリシーを構成しても、ポリシーは有効になりません。

    • Google で管理されるデフォルト値: 親スコープで有効になっていても、ポリシーを無効にします。

    • カスタマイズ: 現在のスコープ内のすべてのサブネットに対してポリシーを有効にして構成できます。

  4. [ポリシーの適用] で、[置換] を選択します。

    VPC Flow Logs の場合、[親と結合する] オプションは使用できません。

  5. [ルール] セクションで、[ルールを追加] をクリックします。

  6. [ポリシーの値] で [カスタム] を選択します。

    その他の値は、VPC Flow Logs に使用できません。

  7. [ポリシーの種類] で [許可] を選択します。

  8. [カスタム値] セクションで、構成するサンプリング レートを表す値を入力します。

    必要なサンプリング レートを構成するために複数の値を指定する必要がある場合は、[新しいポリシーの値] をクリックして次の値を入力します。3 つ目の値を指定する必要がある場合は、上記の手順を繰り返します。

  9. [保存] をクリックします。

gcloud

Google Cloud CLI を使用して制約を構成する方法については、組織リソースに対する適用を設定するをご覧ください。

  1. describe コマンドを使用して、組織リソースに関する現在のポリシーを取得します。このコマンドを実行すると、このリソースに直接適用されたポリシーが返されます。ポリシーが設定されていない場合は、NOT_FOUND エラーが返されます。

    gcloud org-policies describe \
        compute.requireVpcFlowLogs \
        [ --organization=ID | --folder=ID | --project=ID ]
    

    次のように置き換えます。

    • ID: 制約を適用する組織、フォルダ、またはプロジェクトの ID。
  2. set-policy コマンドを使用して、組織にポリシーを設定します。このコマンドを実行すると、現在リソースに適用されているポリシーが上書きされます。

    1. ポリシーを保存する一時ファイル /tmp/policy.yaml を作成します。

       name: RESOURCE_TYPE/ID/policies/compute.requireVpcFlowLogs
       spec:
         rules:
         - values:
             allowedValues:
             - POLICY_VALUES
       

      次のように置き換えます。

      • RESOURCE_TYPE: ポリシーを適用するリソースのタイプ。有効なオプションは organizationsfoldersprojects です。

      • 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
      
    2. set-policy コマンドを実行します。

       gcloud org-policies set-policy /tmp/policy.yaml
       

  3. 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 が有効になり、ポリシーで必要な最小サンプリング レートでサブネットが作成されます。たとえば、ポリシーの値が LIGHTCOMPREHENSIVE で構成されている場合、サンプリング レートは 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 が有効になり、ポリシーで定義された最小サンプリング レートでサブネットが作成されます。たとえば、ポリシーの値が LIGHTCOMPREHENSIVE で構成されている場合、サンプリング レートは 0.5(50%)に設定されます。

次のステップ