1 つ以上の接続テストの Identity and Access Management(IAM)(アクセス制御)ポリシーを設定または取得できます。さらに、特定の接続テストに対するユーザーやサービス アカウントの権限を表示できます。
このドキュメントでは、Network Management API を使用するアクセス制御の例を示します。 Google Cloud コンソールまたは gcloud コマンドを使用してこの手順を行うには、IAM 入門ガイドをご覧ください。
以降のコマンドに記載されているポリシー バインディングと ETag については、IAM ポリシーの API リファレンスをご覧ください。
接続テストの実行に必要な IAM のロールと権限については、ロールと権限をご覧ください。
アクセス制御ポリシーを設定する
この手順では、指定された接続テストリソースにアクセス制御ポリシーを設定します。
API
networkmanagement.connectivitytests.setIamPolicy メソッドを使用して、USER、ROLE、TEST_ID のアクセス制御ポリシーを設定します。
次の例では、networkmanagement.admin のロールを mytest-1 の username@yourcompany.com にバインドするポリシーを設定します。
POST https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:setIamPolicy
{
"version": "VERSION",
"etag": "ETAG",
"bindings": [{
"role": "ROLE",
"members": [
"PRINCIPAL"
]
}]
}
次の値を置き換えます。
TEST_ID: 実行中の接続テスト オブジェクト(テスト)の IDVERSION: ポリシーの形式を指定します。有効な値は、0、1、3のいずれかです。条件付きロール バインディングに影響するオペレーションにはすべて、バージョン3を指定する必要があります。ETAG: オプティミスティック同時実行制御でポリシーの同時更新による相互上書きを防ぐために使用されます(ETag はBwWbrqiZFRs=などです)。ROLE: プリンシパルに割り当てるロール(roles/networkmanagement.adminなど)。PRINCIPAL: Google Cloud リソースへのアクセスをリクエストする ID(user:username@yourcompany.comなど)を指定します。プリンシパル(メンバー)のタイプのリストについては、IAM ポリシーの API リファレンスをご覧ください。
アクセス制御ポリシーを取得する
この手順では、指定された接続テストリソースのアクセス制御ポリシーを取得します。
API
networkmanagement.connectivitytests.getIamPolicy メソッドを使用して、PRINCIPAL、ROLE、TEST_ID のアクセス制御ポリシーを設定します。
次の例では、networkmanagement.admin のロールをmytest-1 の username@yourcompany.com にバインドするポリシーを取得します。
GET https: //networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:getIamPolicy
{
"version": "VERSION",
"etag": "ETAG",
"bindings": [{
"role": "ROLE",
"members": [
"PRINCIPAL"
]
}]
}
次の値を置き換えます。
TEST_ID: 実行中の接続テスト オブジェクト(テスト)の IDVERSION: ポリシーの形式を指定します。有効な値は、0、1、3のいずれかです。条件付きロール バインディングに影響するオペレーションにはすべて、バージョン3を指定する必要があります。ETAG: オプティミスティック同時実行制御でポリシーの同時更新による相互上書きを防ぐために使用されます(ETag はBwWbrqiZFRs=などです)。ROLE: プリンシパルに割り当てるロール(roles/networkmanagement.adminなど)。PRINCIPAL: Google Cloud リソースへのアクセスをリクエストする ID(user:username@yourcompany.comなど)を指定します。プリンシパルのタイプのリストについては、IAM ポリシーの API リファレンスをご覧ください。
IAM 権限をテストする
この手順では、接続テストリソースに対してユーザーまたはサービス アカウントが持つ権限を返します。
API
networkmanagement.connectivitytests.testIamPermissions メソッドを使用して、TEST_ID に割り当てられた権限を返します。
次の例では、username@yourcompany.com に mytest-1 に対する networkmanagement.connectivitytests.get 権限があることを確認します。
POST https://networkmanagement.googleapis.com/v1/{resource=projects/*/locations/global/connectivityTests/TEST_ID}:testIamPermissions
{
"permissions": [
"networkmanagement.connectivitytests.get"
]
}
TEST_ID を、実行中の接続テスト オブジェクト(テスト)の ID に置き換えます。