マネージド ゾーンの IAM ポリシーを設定、管理する

このページでは、同じプロジェクトの異なるマネージド ゾーンで、特定の読み取り、書き込み、管理者の Identity and Access Management(IAM)権限を設定する方法について説明します。

IAM ポリシーの詳細については、許可ポリシーについてをご覧ください。IAM ポリシー API の詳細については、Policy をご覧ください。マネージド ゾーンで使用できる IAM カスタムロールを作成する方法については、IAM のカスタムロールについてをご覧ください。

このタスクを実行するには、次の権限または次の IAM のロールが付与されている必要があります。

権限

  • setIamPolicy メソッドの dns.managedZones.setIamPolicy
  • getIamPolicy メソッドの dns.managedZones.getIamPolicy
  • testIamPermission メソッドの dns.managedZones.list

ロール

  • roles/iam.securityAdmin
  • roles/dns.admin

この手順では、プロジェクトにマネージド ゾーンを作成していることを前提としています。マネージド ゾーンの作成方法については、ゾーンの作成、変更、削除をご覧ください。

マネージド ゾーンの IAM ポリシーを設定する

特定のマネージド ゾーンに IAM ポリシーを設定するには、次の手順に沿って操作します。

コンソールgcloudAPI
  1. Google Cloud コンソールで Cloud DNS の [ゾーン] ページに移動します。

    Cloud DNS の [ゾーン] に移動

  2. アクセス制御の権限を追加するゾーンを 1 つ以上選択します。

  3. リソースの権限ページで、[プリンシパルを追加] をクリックします。

  4. リソースにアクセス権を付与するページの [新しいプリンシパル] で、新しいプリンシパルとして追加するユーザー、グループ、ドメイン、またはサービス アカウントのメールアドレスを追加します。

  5. [ロールを割り当てる] リストから、プリンシパルに割り当てるロールを選択します。

  6. 他のロールを割り当てるには、[別のロールを追加] をクリックします。

  7. [保存] をクリックします。

gcloud dns managed-zones set-iam-policy コマンドを実行します。

gcloud dns managed-zones set-iam-policy NAME \
  --policy-file=POLICY-FILE

以下を置き換えます。

  • NAME: IAM 権限を設定するマネージド ゾーンの名前
  • POLICY-FILE: マネージド ゾーンに指定する IAM ポリシーを含むファイル。ポリシー ファイルの例については、ポリシーをご覧ください。

このコマンドが正常に実行されると、IAM ポリシーが返されます。エラーがある場合は、エラーを説明するエラー メッセージが返されます。

managedZone.setIamPolicy メソッドを使用して、POST リクエストを送信します。

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE:setIamPolicy

以下を置き換えます。

  • PROJECT_ID: プロジェクトの名前または ID
  • MANAGED_ZONE: IAM 権限を設定するマネージド ゾーンの名前

この API 呼び出しの詳細については、IAM Policy API ページのバインディングをご覧ください。

マネージド ゾーンの IAM ポリシーを取得する

特定のマネージド ゾーンの IAM ポリシーを取得するには、次の手順に沿って操作します。

gcloudAPI

gcloud dns managed-zones get-iam-policy コマンドを実行します。

gcloud dns managed-zones get-iam-policy NAME

NAME は、IAM ポリシーを取得するマネージド ゾーンの名前に置き換えます。

このコマンドが正常に実行されると、IAM ポリシーが返されます。エラーがある場合は、エラーを説明するエラー メッセージが返されます。

managedZone.getIamPolicy メソッドを使用して、POST リクエストを送信します。

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ManagedZone:getIamPolicy

以下を置き換えます。

  • PROJECT_ID: プロジェクトの名前または ID
  • MANAGED_ZONE: IAM 権限を設定するマネージド ゾーンの名前

マネージド ゾーンの IAM 権限を確認する

managedZone.testIamPermissions メソッドを使用して、POST リクエストを送信します。

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ManagedZone:testIamPermissions

以下を置き換えます。

  • PROJECT_ID: プロジェクトの名前または ID
  • MANAGED_ZONE: IAM 権限を確認するマネージド ゾーンの名前

次のステップ