監査マネージャー用に VPC Service Controls を構成する

Google Cloud VPC Service Controls を使用すると、データ漏洩を防ぐためのサービス境界を設定できます。Audit Manager がサービス境界外のリソースとサービスにアクセスできるように、VPC Service Controls を使用して Audit Manager を構成します。

始める前に

  1. 組織レベルで VPC Service Controls を構成するために必要なロールがあることを確認します。
  2. Audit Manager でリソースを登録するか、監査を実行するかに応じて、次の情報を確認してください。
    1. 監査用にリソースを登録する場合: Audit Manager の設定時に指定した Google Cloud ユーザー アカウント。
    2. 監査を実行する場合: 監査用にリソースを登録したときに自動的に作成された Audit Manager サービス エージェント

制限事項

  • 境界を使用して、フォルダレベルまたは組織レベルの監査マネージャー リソースを保護することはできません。フォルダレベルまたは組織レベルで監査マネージャーの権限を管理するには、IAM を使用することをおすすめします。詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

上り(内向き)ルールと下り(外向き)ルールを構成する

サービス境界の構成に基づいて、上り(内向き)ルールと下り(外向き)ルールを構成します。詳細については、サービス境界の概要をご覧ください。

次の操作を行う場合は、上り(内向き)ルールと下り(外向き)ルールを構成する必要があります。

  1. 監査用にリソースを登録する
  2. 監査を実行する

リソースを監査に登録するときに上り(内向き)ルールと下り(外向き)ルールを構成する

Audit Manager で組織、フォルダ、プロジェクトを監査のリソースとして登録できます。

次のいずれかのリソースが同じサービス境界内にない場合は、上り(内向き)ルールまたは下り(外向き)ルールを構成する必要があります。

  • Audit Manager サービス エージェント
  • 監査データを保存する宛先として構成された Cloud Storage バケット
  • 監査プロセスに関与するサービス

次のサンプルでは、Cloud Storage メソッドが必要です。次の上り(内向き)ルールと下り(外向き)ルールの例は、ビジネス要件に合わせて調整できます。

監査マネージャーの設定時に指定した Google Cloud ユーザー アカウントに対して、次のタスクを完了します。

  1. 次の上り(内向き)ルールを構成します。

    - ingressFrom:
        identities:
        - user: USER_EMAIL_ADDRESS
        sources:
            - accessLevel: "*"
      ingressTo:
        operations:
          - serviceName: storage.googleapis.com
            methodSelectors:
              - method: google.storage.buckets.getIamPolicy
              - method: google.storage.buckets.testIamPermissions
              - method: google.storage.objects.getIamPolicy
              - method: google.storage.buckets.setIamPolicy
              - method: google.storage.objects.setIamPolicy
              - method: google.storage.objects.create
              - method: google.storage.objects.get
        resources: "*"
    

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

    • USER_EMAIL_ADDRESS: Audit Manager の設定時に指定したメールアドレス
  2. 次の下り(外向き)ルールを構成します。

    - egressFrom:
       identities:
        - user: USER_EMAIL_ADDRESS
          sources:
            - accessLevel: "*"
      egressTo:
        operations:
          - serviceName: storage.googleapis.com
            methodSelectors:
              - method: google.storage.buckets.getIamPolicy
              - method: google.storage.buckets.testIamPermissions
              - method: google.storage.objects.getIamPolicy
              - method: google.storage.buckets.setIamPolicy
              - method: google.storage.objects.setIamPolicy
              - method: google.storage.objects.create
              - method: google.storage.objects.get
      resources: "*"
    

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

    • USER_EMAIL_ADDRESS: Audit Manager の設定時に指定したメールアドレス

監査の実行時に上り(内向き)ルールと下り(外向き)ルールを構成する

事前定義またはカスタムのコンプライアンス フレームワークに対して監査を実行できます。

監査対象のフォルダまたはプロジェクトと、登録された Cloud Storage バケットが異なるサービス境界にある場合は、次の上り(内向き)ルールまたは下り(外向き)ルールを構成します。

次のサンプルでは、Cloud Storage メソッドが必要です。次の上り(内向き)ルールと下り(外向き)ルールの例は、ビジネス要件に合わせて調整できます。

フォルダの監査を実行するときに上り(内向き)ルールを構成する

フォルダの監査を実行し、登録された Cloud Storage バケットまたはフォルダ内のプロジェクトのいずれかが境界内にある場合は、次の上り(内向き)ルールを構成します。

このタスクは、監査マネージャーのサービス アカウントに対して完了します。

- ingressFrom:
    identities:
    - serviceAccount: SA_EMAIL_ADDRESS
    - user: USER_EMAIL_ADDRESS
    sources:
        - accessLevel: "*"
  ingressTo:
    operations:
        - serviceName: "*"
    resources: "*"

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

  • SA_EMAIL_ADDRESS: Audit Manager サービス アカウントのメールアドレス
  • USER_EMAIL_ADDRESS: Audit Manager の設定時に指定したメールアドレス

登録された Cloud Storage バケットがサービス境界内にある場合に上り(内向き)ルールを構成する

プロジェクトの監査が実行され、登録された Cloud Storage バケットがサービス境界内にある場合は、次の上り(内向き)ルールを構成します。

このタスクは、監査マネージャーのサービス アカウントに対して完了します。

- ingressFrom:
    identities:
    - serviceAccount: SA_EMAIL_ADDRESS
    - user: USER_EMAIL_ADDRESS
    sources:
        - accessLevel: "*"
  ingressTo:
    operations:
        - serviceName: storage.googleapis.com
          methodSelectors:
            - method: google.storage.buckets.getIamPolicy
            - method: google.storage.buckets.testIamPermissions
            - method: google.storage.objects.getIamPolicy
            - method: google.storage.buckets.setIamPolicy
            - method: google.storage.objects.setIamPolicy
            - method: google.storage.objects.create
            - method: google.storage.objects.get
  resources: "*"

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

  • SA_EMAIL_ADDRESS: Audit Manager サービス アカウントのメールアドレス
  • USER_EMAIL_ADDRESS: Audit Manager の設定時に指定したメールアドレス

登録された Cloud Storage バケットがサービス境界外にある場合の下り(外向き)ルールを構成する

監査がサービス境界内のプロジェクトに対して実行され、登録された Cloud Storage バケットが境界の外側にある場合は、次の下り(外向き)ルールを構成します。

Cloud Storage バケットを含むプロジェクトに対してこのタスクを完了します。

- egressFrom:
   identities:
      - serviceAccount: SA_EMAIL_ADDRESS
        - user: USER_EMAIL_ADDRESS
      sources:
        - accessLevel: "*"
  egressTo:
    operations:
        - serviceName: storage.googleapis.com
          methodSelectors:
            - method: google.storage.buckets.getIamPolicy
            - method: google.storage.buckets.testIamPermissions
            - method: google.storage.objects.getIamPolicy
            - method: google.storage.buckets.setIamPolicy
            - method: google.storage.objects.setIamPolicy
            - method: google.storage.objects.create
            - method: google.storage.objects.get
    resources: "*"

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

  • SA_EMAIL_ADDRESS: Audit Manager サービス アカウントのメールアドレス
  • USER_EMAIL_ADDRESS: Audit Manager の設定時に指定したメールアドレス

VPC Service Controls で問題が発生した場合は、VPC Service Controls 違反分析ツールを使用して問題をデバッグして分析します。詳細については、違反分析ツールの一意の ID を使用してアクセス拒否の原因を特定するをご覧ください。

次のステップ