ロールと権限

このページでは、接続テストの実施に必要な Identity and Access Management(IAM)のロールと権限について説明します。

ユーザーまたはサービス アカウントに権限または事前定義ロールを付与することも、指定した権限を使用するカスタムロールを作成することもできます。

IAM 権限は、先頭が networkmanagement で始まるものを使用します。

IAM ポリシーを取得または設定するか、Network Management API を使用して IAM 権限をテストするには、アクセス ポリシーの管理をご覧ください。

役割

このセクションでは、接続テストの権限を付与するときに、事前定義ロールとカスタムロールを使用する方法について説明します。

各権限の説明については、権限テーブルをご覧ください。

プロジェクト ロールと Google Cloud リソースの詳細については、次のドキュメントをご覧ください。

事前定義ロール

接続テストには、次の事前定義ロールがあります。

  • networkmanagement.admin には、テストリソースに対してすべての操作を行う権限があります。
  • networkmanagement.viewer には、特定のテストリソースを一覧表示または取得する権限があります。

次の表に、事前定義ロールと、各ロールに適用される権限を示します。

Role Permissions

(roles/networkmanagement.admin)

Full access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.*

  • networkmanagement.connectivitytests.create
  • networkmanagement.connectivitytests.delete
  • networkmanagement.connectivitytests.get
  • networkmanagement.connectivitytests.getIamPolicy
  • networkmanagement.connectivitytests.list
  • networkmanagement.connectivitytests.rerun
  • networkmanagement.connectivitytests.setIamPolicy
  • networkmanagement.connectivitytests.update
  • networkmanagement.locations.get
  • networkmanagement.locations.list
  • networkmanagement.operations.cancel
  • networkmanagement.operations.delete
  • networkmanagement.operations.get
  • networkmanagement.operations.list
  • networkmanagement.vpcflowlogsconfigs.create
  • networkmanagement.vpcflowlogsconfigs.delete
  • networkmanagement.vpcflowlogsconfigs.get
  • networkmanagement.vpcflowlogsconfigs.list
  • networkmanagement.vpcflowlogsconfigs.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/networkmanagement.viewer)

Read-only access to Network Management resources.

Lowest-level resources where you can grant this role:

  • Project

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.locations.*

  • networkmanagement.locations.get
  • networkmanagement.locations.list

networkmanagement.operations.get

networkmanagement.operations.list

networkmanagement.vpcflowlogsconfigs.get

networkmanagement.vpcflowlogsconfigs.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

カスタムロール

接続テストの権限の表から権限のリストを選択して、カスタムロールを作成できます。

たとえば、reachabilityUsers という名前でロールを作成し、このロールに listgetrerun の権限を付与できます。このロールを持つユーザーは、既存の接続テストを再び実施し、最新のネットワーク構成に基づいて更新されたテスト結果を表示できます。

プロジェクトの役割

プロジェクト ロールを使用して、Google Cloud リソースへの権限を設定できます。接続テストには、テストを実行する Virtual Private Cloud(VPC)ネットワーク内の Google Cloud リソース構成に対する読み取りアクセス権が必要なため、リソースに対してテストを実行しているユーザーまたはサービス アカウントに、少なくとも Compute ネットワーク閲覧者ロールroles/compute.networkViewer)を付与する必要があります。任意のユーザーにカスタムロールを作成するか、前述のロールに関連付けられた権限を一時的に付与することもできます。

または、Google Cloud プロジェクトに対して事前に定義された次のロールのいずれかをユーザーまたはサービス アカウントに付与できます。

権限

このセクションでは、接続テストの権限と、さまざまな種類のネットワーク構成をテストする際にこの権限を使用する方法について説明します。

接続テストの権限

接続テストには次の IAM 権限があります。

権限 説明
networkmanagement.connectivitytests.list 指定したプロジェクトで構成されているすべてのテストをリストします。
networkmanagement.connectivitytests.get 特定のテストの詳細を取得します。
networkmanagement.connectivitytests.create テスト用に指定したデータを使用して、指定したプロジェクトに新しいテスト オブジェクトを作成します。この権限には、テストを更新、再実施、削除する権限が含まれます。
networkmanagement.connectivitytests.update 既存のテストの 1 つ以上のフィールドを更新します。
networkmanagement.connectivitytests.delete 指定したテストを削除します。
networkmanagement.connectivitytests.rerun 指定したテストに対して 1 回限りのネットワーク到達性検証を再び実施します。

テストを作成または更新する権限を付与されていない場合、対応するボタンは無効になります。それらのボタンには、[接続テストを作成] ボタン、[接続テストの詳細] ページの [編集] ボタンなどが該当します。いずれの場合も、非アクティブなボタンの上にポインタを置くと、接続テストによって必要な権限を説明するメッセージが表示されます。

テストを実行する権限

テストを実行するには、次のロールと権限が必要です。

  • 接続テスト リソースを含むプロジェクトに対する networkmanagement.connectivitytests.create 権限(または networkmanagement.connectivitytests.rerun)。
  • トレースパスに含まれるすべてのプロジェクトに対する Compute ネットワーク閲覧者ロールroles/compute.networkViewer)または以前の閲覧者ロールroles/viewer)。

さまざまなタイプの接続性のオプションについて、次の点に注意してください。

VPC ネットワーク ピアリング、Network Connectivity Center、または Cloud VPN 接続

トレースパスに、別のプロジェクトのネットワークへの VPC ネットワーク ピアリング、Network Connectivity Center、または Cloud VPN 接続が含まれている場合、そのネットワークのパケットパスは、そのプロジェクトに対する権限がある場合にのみシミュレートされます。そうでない場合は、不完全なテスト結果が返されます(転送最終状態で終わるトレースなど)。

共有 VPC プロジェクト

送信元または宛先エンドポイント(仮想マシン(VM)インスタンスなど)が共有 VPC を使用する場合は、ホスト プロジェクトとサービス プロジェクトの両方にアクセスする権限が必要です。

  • ホスト プロジェクトとサービス プロジェクトの両方にアクセスする権限がある場合、トレース情報には関連するすべてのリソースの詳細が含まれます。
  • いずれかのプロジェクトにアクセスする権限がない場合、このプロジェクトで定義されたリソースに関する情報はトレースでは非表示になります。権限エラーが表示されます。
  • VM インスタンス プロジェクト(サービス プロジェクト)にはアクセスできますが、そのネットワーク プロジェクト(ホスト プロジェクト)にはアクセスできません。この VM インスタンスをソースとしてテストを実行する場合(名前で指定)、ホスト プロジェクトに関連するステップ(ファイアウォールやルートの適用など)は非表示になります。

  • ネットワーク プロジェクト(ホスト プロジェクト)にはアクセスできますが、VM プロジェクト(サービス プロジェクト)にはアクセスできません。この VM インスタンスをソースとしてテストを実行する場合(IP アドレスで指定)、サービス プロジェクトに関連付けられたステップ(VM インスタンスの詳細を含むステップなど)は非表示になります。

Private Service Connect 公開サービス

パケットが Private Service Connect 公開サービスに(Private Service Connect エンドポイントまたは Private Service Connect バックエンド経由で)送信される場合、プロデューサー プロジェクト内のトレースの一部は、アクセス権がある場合にのみ表示されます。それ以外の場合、トレースは、PSC プロデューサー プロジェクトにパケットが配信されましたPSC プロデューサー プロジェクト内でパケットがドロップされましたなどの一般的な最終状態に終了します。

Google マネージド サービス

パケットが Google マネージド サービス(Cloud SQL など)に関連付けられた Google マネージド ネットワークとの間で送受信される場合、Google マネージド プロジェクト内のステップは表示されません。一般的な開始手順または最終手順が表示されます。

Google Cloud リソースのパブリック IP アドレス

テストの送信元または宛先として、プロジェクトのリソースに割り当てられたパブリック IP アドレスを指定しても、このアドレスのリソースが定義されているプロジェクトに対する権限がない場合、この IP アドレスはインターネット IP アドレスと見なされます。このリソースに到達した後の基盤となるリソースまたはパケットパスの詳細は表示されません。

テスト結果を表示する権限

テスト結果を表示するには、次の点に注意してください。

  • 2024 年 10 月以降に作成または更新されたテストの結果を表示するには、テストリソースを表示する権限(networkmanagement.connectivitytests.get)のみが必要です。トレースパスに含まれるリソースとプロジェクトに対する権限は必要ありません。
  • 2024 年 10 月より前に実行されたテストの結果を表示するには、トレースパスに含まれるすべてのプロジェクトに対して Compute ネットワーク閲覧者ロールまたは以前の閲覧者ロールroles/viewer)が必要です。

階層型ファイアウォール ポリシー

表示する権限がユーザーに付与されていない階層型ファイアウォール ポリシーが、トレースに含まれている場合があります。ただし、ポリシーの詳細情報を表示する権限を付与されていない場合でも、VPC ネットワークに適用されるポリシールールを確認できます。詳細については、「階層型ファイアウォール ポリシー」の概要で IAM ロールをご覧ください。

次のステップ