ロールと権限

このページでは、接続テストの実施に必要な 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.config.get
  • networkmanagement.config.startFreeTrial
  • networkmanagement.config.update
  • 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.get
  • networkmanagement.operations.list
  • networkmanagement.topologygraphs.read

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.config.get

networkmanagement.connectivitytests.get

networkmanagement.connectivitytests.getIamPolicy

networkmanagement.connectivitytests.list

networkmanagement.locations.*

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

networkmanagement.operations.*

  • networkmanagement.operations.get
  • networkmanagement.operations.list

networkmanagement.topologygraphs.read

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 回限りのネットワーク到達性検証を再び実施します。

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

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

テスト対象のネットワーク パスで Compute Engine リソースを表示する権限を付与されていない場合でも、全体的なテスト結果は確認できますが、テストされたリソースの詳細は非表示になります。

プロジェクト リソース

一般に、トレースに一覧表示されているプロジェクト リソースにアクセスするための権限を付与されていない場合は、分析結果の一部に No permission to view the resource の読み取りメッセージが表示されます。接続テストは、リソースタイプ、リソース名、その他の詳細情報を非表示にします。ただし、トレースによってリソースが関連付けられているプロジェクトが特定されます。

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

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

複数のプロジェクトにわたる権限

テスト対象のネットワーク構成が VPC ネットワーク ピアリングまたは共有 VPC を使用している場合、接続テストには、これらのネットワークが使用する複数のプロジェクトの構成にアクセスできる十分な権限が必要です。

十分な権限があれば、接続テストで、さまざまなネットワークやプロジェクトで、パケットパスの全トレースを 1 つ以上実施できます。十分な権限がない場合は、接続テストがアクセスできるのは、そのプロジェクト内の構成に限定されます。

共有 VPC ネットワークの権限

共有 VPC ネットワークのサービス プロジェクトからテストを実行するには、Compute ネットワーク閲覧者ロールroles/compute.networkViewer)、またはホスト プロジェクトに対する以前のプロジェクト閲覧者ロールroles/viewer)を付与されている必要があります。ネットワークのファイアウォールとルート構成のネットワークがホスト プロジェクトにあることからこの要件が存在しています。テストしているリソースがすべて単一のサービス プロジェクト内に存在する場合でも、これらのロールのいずれかが必要です。

共有 VPC ホスト プロジェクトからサービス プロジェクト内の仮想マシン(VM)インスタンスに対するテストを実行するには、サービス プロジェクトでこれらのロール(roles/compute.networkViewer または roles/viewer)のいずれかを付与されていることも必要です。さらに、テストを作成する際は、サービス プロジェクト ID を指定する必要があります。この ID を指定しない場合、接続テストは Unreachable 全体のネットワーク到達性の結果と unknown IP address メッセージを表示します。

VPC ネットワーク ピアリング、Cloud VPN、Cloud Interconnect の権限

VPC ネットワーク ピアリングを介して接続されたプロジェクト間のネットワーク到達性を調べる接続テストがある場合、表示される結果は権限によって異なります。

分析の結果をすべて表示するには、両方のプロジェクトで Compute ネットワーク閲覧者ロールroles/compute.networkViewer)、または以前のプロジェクト閲覧者ロールroles/viewer)を付与されていることが必要です。

ソース エンドポイントを含むネットワークに対してこれらのロールの 1 つを付与されているものの、宛先を含むネットワークに対しては付与されていない場合、分析の結果は部分的なものになります。つまり、分析結果として、パケットが VPC ネットワークのピアリング ネットワークに送信されたことは表示されますが、接続テストでは、そのネットワークについてそれ以上の情報は表示できません。

次のステップ