アクセス制御

Google Cloud には Identity and Access Management(IAM)機能があり、特定の Google Cloud リソースに対するアクセス権を詳細に設定できるため、他のリソースへの不要なアクセスを防ぐことができます。このページでは、Cloud DNS API のロールについて説明します。IAM の詳細については、Identity and Access Management のドキュメントをご覧ください。

IAM を使用すると、セキュリティに関する最小権限の原則を導入できるため、リソースに対する必要なアクセス権のみ付与できます。

IAM では、IAM ポリシーを設定して、誰に、どのリソースに対するどのアクセス権を付与するかを制御できます。IAM ポリシーは、特定のロールをユーザーに付与することで、そのユーザーに特定の権限を付与します。たとえば、特定のユーザーがドメイン ネーム システム(DNS)レコード リソースの作成と変更を行う必要があるとします。この場合、このユーザーに /roles/dns.admin ロールを付与します。このロールには、dns.changes.create 権限と dns.resourceRecordSets.create 権限が定義されているため、ユーザーはリソース レコードセットに対して作成と更新を行うことができます。一方、サポート部門の場合、必要なのは既存のリソース レコードセットの表示のみであるため、/roles/dns.reader ロールを付与します。

権限とロール

すべての Cloud DNS API メソッドにおいて、呼び出し元は必要な IAM 権限を持っている必要があります。権限は、ロールをユーザーやグループ、サービス アカウントに付与することで割り当てられます。基本ロールであるオーナー、編集者、閲覧者に加えて、Cloud DNS API のロールをプロジェクトのユーザーに付与できます。

権限

発信者が各メソッドを呼び出す際に必要となる権限のリストを次の表に示します。

メソッド 必要な権限
dns.changes.create。リソース レコードセットの作成に必要です。 レコードセットを含むプロジェクトに対する dns.changes.createdns.resourceRecordSets.create
dns.changes.create。リソース レコードセットの更新に必要です。 レコードセットを含むプロジェクトに対する dns.changes.createdns.resourceRecordSets.update
dns.changes.create。リソース レコードセットの削除に必要です。 レコードセットを含むプロジェクトに対する dns.changes.createdns.resourceRecordSets.delete
dns.changes.get マネージド ゾーンを含むプロジェクトに対する dns.changes.get
dns.changes.list マネージド ゾーンを含むプロジェクトに対する dns.changes.list
dns.dnsKeys.get マネージド ゾーンを含むプロジェクトに対する dns.dnsKeys.get
dns.dnsKeys.list マネージド ゾーンを含むプロジェクトに対する dns.dnsKeys.list
dns.managedZoneOperations.get マネージド ゾーンを含むプロジェクトに対する dns.managedZoneOperations.get
dns.managedZoneOperations.list マネージド ゾーンを含むプロジェクトに対する dns.managedZoneOperations.list
dns.managedZones.create マネージド ゾーンを含むプロジェクトに対する dns.managedZones.create

限定公開ゾーンを作成する場合は、ゾーンへのアクセスを許可する各 VPC ネットワークを含むプロジェクトごとに dns.networks.bindPrivateDNSZonedns.networks.targetWithPeeringZone も設定する必要があります。

dns.managedZones.delete マネージド ゾーンを含むプロジェクトに対する dns.managedZones.delete
dns.managedZones.get マネージド ゾーンを含むプロジェクトに対する dns.managedZones.get
dns.managedZones.list マネージド ゾーンを含むプロジェクトに対する dns.managedZones.list
dns.managedZones.update マネージド ゾーンを含むプロジェクトに対する dns.managedZones.update

限定公開ゾーンを作成する場合は、ゾーンへのアクセスを許可する各 VPC ネットワークを含むプロジェクトごとに dns.networks.bindPrivateDNSZonedns.networks.targetWithPeeringZone も設定する必要があります。

dns.policies.create ポリシーを含むプロジェクトに対する dns.policies.create

ポリシーが VPC ネットワークで作成されている場合、各 VPC ネットワークを含むプロジェクトごとに dns.networks.bindPrivateDNSPolicy も設定する必要があります。

dns.policies.delete ポリシーを含むプロジェクトに対する dns.policies.delete
dns.policies.get ポリシーを含むプロジェクトに対する dns.policies.get
dns.policies.list ポリシーを含むプロジェクトに対する dns.policies.list
dns.policies.update ポリシーを含むプロジェクトに対する dns.policies.update

ポリシーが VPC ネットワークで更新されている場合は、各 VPC ネットワークを含むプロジェクトごとに dns.networks.bindPrivateDNSPolicy も設定する必要があります。

dns.policies.patch ポリシーを含むプロジェクトに対する dns.policies.patch
dns.projects.get プロジェクトに対する dns.projects.get
dns.resourceRecordSets.list マネージド ゾーンを含むプロジェクトに対する dns.resourceRecordSets.list

ロール

次の表に、Cloud DNS API IAM のロールと、各ロールに含まれているすべての権限に対応するリストを示します。各権限は、それぞれ特定のリソースタイプを対象としています。

基本ロールを使用して DNS を変更することもできます。

役割 役職 説明 権限 最下位のリソース
roles/dns.admin DNS 管理者 すべての Cloud DNS リソースへの読み取り / 書き込みアクセス権を付与します。
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
プロジェクト
roles/dns.peer DNS ピア DNS ピアリング ゾーンを持つターゲット ネットワークへのアクセス権
  • dns.networks.targetWithPeeringZone
roles/dns.reader DNS 読み取り すべての Cloud DNS リソースへの読み取り専用アクセス権を付与します。
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • dns.resourceRecordSets.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
プロジェクト

アクセス制御の管理

Google Cloud Console を使用して、トピックやプロジェクトのアクセス制御を管理できます。

プロジェクト レベルでアクセス制御を設定するには、次の手順に従います。

Console

  1. Google Cloud Console の [IAM] ページに移動します。

    IAM ページに移動

  2. 上部にあるプルダウン メニューからプロジェクトを選択します。

  3. [追加] をクリックします。

  4. [新しいメンバー] に、新しいメンバーのメールアドレスを入力します。

  5. プルダウン メニューから目的のロールを選択します。

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

  7. 付与したロールにそのメンバーがリストされているかを確認します。

次のステップ