メインコンテンツへスキップ

ネットワークアクセス

送信元 IP アドレス​

一部の DoiT プラットフォーム連携では、DoiT のインフラストラクチャからお客様の環境やクラウドプロバイダの API への送信接続が行われます。これらの接続は Google Cloud VPC と Cloud NAT を経由してルーティングされ、次の IP アドレスから発信されます。

34.9.10.28
34.10.151.130
34.44.47.236
34.60.197.212
34.69.217.183
34.72.143.128
34.121.183.173
34.134.111.192
34.134.157.59
35.192.89.77

お客様の環境で送信元 IP アドレスによる受信アクセス制限(ファイアウォールルールや API アクセスリストなど)を行っている場合は、これらすべてのアドレスを許可リストに追加してください。

VPC Service Controls​

Google Cloud 環境の保護に VPC Service Controls を使用している場合、サービス境界はデフォルトで DoiT のリクエストをブロックします。このセクションでは、それらのリクエストを許可する方法について説明します。

DoiT は、お客様がGoogle Cloud アカウントを接続した際に作成したサービスアカウント(例:doit-cmp@PROJECT_ID.iam.gserviceaccount.com)をなりすまし、組織内の Google Cloud API を呼び出します。お客様のリソースへのすべてのリクエストはそのサービスアカウントとして認証されますが、発信元はサービス境界の外側にある DoiT のインフラストラクチャです。VPC Service Controls はリクエストのアイデンティティと発信元の両方を評価するため、境界の内側のプロジェクトに属するサービスアカウントを使用していても、境界の外からのリクエストは拒否されます。

DoiT を許可する方法は 2 つあります。

  • オプション 1 はアイデンティティによる許可であり、お客様自身の DoiT サービスアカウントからのすべての発信元のリクエストを許可します。付与範囲が最小で、推奨されるオプションです。お客様ご自身で設定できます。
  • オプション 2 は発信元による許可であり、DoiT の VPC ネットワークからのリクエストを許可します。アイデンティティのみのルールを許可しないポリシーの場合に選択してください。このオプションでは、設定の保存に DoiT 側の権限が必要となるため、開始前にサポートチケットが必要です。

以下の例では、POLICY_ID はアクセスポリシーの数値 ID、PERIMETER_NAME はサービス境界の名前、PROJECT_ID は DoiT サービスアカウントを作成したプロジェクト、ORG_ID はお客様の Google Cloud 組織 ID を表します。

オプション 1:DoiT サービスアカウントを許可する​

ステップ 1:DoiT サービスアカウント用のインバウンドルールを追加する​

このルールでは、お客様自身のサービスアカウントとして認証された、すべての送信元からのリクエストをすべてのサービスに対して許可します。ただし、サービスアカウントに既に付与されている権限以上のものは付与されません。アクセス可能な範囲は、付与した IAM ロールによって引き続き制御されます。DoiT の機能が利用する API は時間とともに変化するため、サービスの一覧ではなく「すべてのサービス」を許可してください。

注意

サービスアカウントのメールアドレスは、DoiT コンソールの Google Cloud 設定ページ で確認できます。個別の BigQuery データセットを接続した場合、サービスアカウント名にはサフィックスが付きます(例:doit-cmp-IDENTIFIER@PROJECT_ID.iam.gserviceaccount.com)。作成した各サービスアカウントを追加してください。

  1. VPC Service Controls に移動し、サービス境界を開きます。

  2. Ingress policies を選択し、Add rule を選択します。

  3. FROM で Identities & groups を選択し、DoiT 用に作成したサービスアカウントのメールアドレスを入力します。Source を All sources に設定します。

  4. TO で DoiT がアクセスするプロジェクトを選択し、Services で All services を選択します。

  5. ルールを保存します。

ステップ 2:ログシンクライター用のインバウンドルールを追加する​

サービス境界で BigQuery API を制限していない場合は、このステップをスキップしてください。

BigQuery Intelligence は、組織レベルのログシンクを作成し、お客様のプロジェクト内のデータセットに書き込みます。このシンクは組織内の Google 管理 ID([email protected])を使用します。

  1. サービス境界で Ingress policies を選択し、Add rule を選択します。

  2. FROM で Identities & groups を選択し、[email protected] を入力します。Source を All sources に設定します。

  3. TO で DoiT サービスアカウントを作成したプロジェクトを選択し、API operations で BigQuery API と All methods を選択します。

  4. ルールを保存します。

ステップ 3:DoiT サービスアカウントのトークン生成を許可する​

サービス境界で IAM Service Account Credentials API(iamcredentials.googleapis.com)を制限していない場合は、このステップをスキップしてください。

DoiT がサービスアカウントとして動作する前に、IAM Service Account Credentials API を通じて、そのサービスアカウント用の短期トークンを要求します。サービス境界は、このリクエストの呼び出し元として DoiT 本番サービスアカウントを評価し、API に対する送信(エグレス)ルールと受信(インバウンド)ルールの両方を必要とします。

このステップを実行するすべての DoiT 本番サービスアカウントは、Google グループ [email protected] のメンバーです。個々のサービスアカウントではなくこのグループを参照することで、DoiT がサービスを追加または置き換えた場合でもルールが有効なままになります。

  1. サービス境界で Egress policies を選択し、Add rule を選択します。

  2. FROM で Identities & groups を選択し、[email protected] を入力します。

  3. TO で Resources を All resources に設定し、API operations で IAM Service Account Credentials API と All methods を選択します。

  4. ルールを保存します。

  5. 続けて Ingress policies を選択し、Add rule を選択します。

  6. FROM で Identities & groups を選択し、[email protected] を入力します。Source を All sources に設定します。

  7. TO で DoiT サービスアカウントを作成したプロジェクトを選択し、API operations で IAM Service Account Credentials API と All methods を選択します。

  8. ルールを保存します。

オプション 2:DoiT の VPC ネットワークを許可する​

このオプションでは、DoiT の VPC ネットワークからのリクエストと一致するアクセスレベルを作成し、それをサービス境界ルールの送信元として使用します。

注意

別の組織内の VPC ネットワークを参照するアクセスレベルを保存するには、そのネットワークのプロジェクトに対する compute.networks.get 権限が必要です。この権限がない場合、保存は Permission 'compute.networks.get' denied on resource というエラーで失敗します。開始前に、件名を VPC Service Controls: network access level として サポートチケット を作成し、次の情報を含めてください。

  • アクセスレベルを作成および管理する Google グループ(推奨)または Google アカウント
  • お客様の Google Cloud 組織 ID
  • オプション 1 が利用できない理由の簡単な説明

DoiT は、指定されたグループまたはアカウントに権限を付与し、チケット内で確認します。その確認を受け取ってから作業を続行してください。

ステップ 1: アクセスレベルを作成する​

サポートチケットで指定した Google アカウント、またはそのグループのメンバーを使用します。

  1. Access Context Manager に移動します。求められた場合は、組織を選択します。

  2. 次の設定で基本アクセスレベルを作成します。

    1. Access level title フィールドに、DoiT Platform Access などの名前を入力します。

    2. Basic mode を選択します。

    3. When condition is met, return オプションで TRUE を選択します。

    4. Conditions セクションで Add attribute、IP Subnetworks を選択し、Private IP を選択します。

    5. Select VPC networks を選択し、Import options リストで Manually enter VPC network address を選択し、//compute.googleapis.com/projects/me-doit-intl-com/global/networks/doit-vpc-ca4b552 を入力します。

    6. もう一度 Add VPC network を選択し、//compute.googleapis.com/projects/doitintl-shared-vpc-host/global/networks/shared-vpc を入力し、サブネット範囲 10.0.240.0/20 と 10.124.0.0/14 の両方を指定します。

    7. 設定を保存します。

注意

以前に me-doit-intl-com/doit-vpc-ca4b552 ネットワークのみを含む DoiT アクセスレベルを設定している場合は、既存のアクセスレベルに doitintl-shared-vpc-host/shared-vpc ネットワーク条件を追加してください。

ステップ 2: アクセスレベルを perimeter に追加する​

サービス perimeter で Access level ペインを開き、今作成したアクセスレベルを追加します。

ステップ 3: DoiT のネットワークからのトークン生成を許可する​

perimeter が IAM Service Account Credentials API (iamcredentials.googleapis.com) を制限していない場合は、このステップをスキップします。

アクセスレベルは、DoiT がお客様のリソースに対して行う呼び出しをカバーしますが、その前段のトークンリクエストは対象外です。DoiT がお客様のサービスアカウントとして動作する前に、IAM Service Account Credentials API を通じて、そのサービスアカウント用の短命トークンをリクエストします。perimeter は、そのリクエストを DoiT の本番サービスアカウントを呼び出し元として評価し、この API には egress ルールと ingress ルールの両方が必要です。このステップを実行するすべての DoiT 本番サービスアカウントは、Google グループ [email protected] のメンバーです。

以下のルールは、両方の条件を組み合わせたものです。呼び出し元がグループのメンバーであり、かつリクエストが DoiT のネットワーク(ステップ 1 のアクセスレベル)から送信されている必要があります。それ以外の発信元からのリクエストは一切許可されません。

  1. サービス perimeter で Egress policies を選択し、Add rule を選択します。

  2. FROM の下で Identities & groups を選択し、[email protected] を入力します。Restrict sources を有効にし、ステップ 1 のアクセスレベルを選択します。

  3. TO の下で Resources を All resources に設定し、API operations で IAM Service Account Credentials API と All methods を選択します。

  4. ルールを保存します。

  5. Ingress policies を選択し、Add rule を選択します。

  6. FROM の下で Identities & groups を選択し、[email protected] を入力します。Source では、ステップ 1 のアクセスレベルを選択します。

  7. TO の下で、DoiT サービスアカウントを作成したプロジェクトを選択し、API operations で IAM Service Account Credentials API と All methods を選択します。

  8. ルールを保存します。

ステップ 4: ログシンクライター用の ingress ルールを追加する​

perimeter が BigQuery API を制限していない場合は、このステップをスキップします。

オプション 1 のステップ 2 を完了してください。BigQuery Intelligence のログシンクは、DoiT のネットワークからではなく、お客様自身の組織内の Google 管理 ID から書き込みを行うため、このルールはどちらのオプションでも ID ベースのルールになります。