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 は、プロジェクト レベルと個々の DNS ゾーンレベルの IAM 権限をサポートしています。デフォルトの権限はプロジェクト レベルです。個々の DNS ゾーン(またはリソース)レベルで権限を構成するには、特定の IAM 権限を持つゾーンを作成するをご覧ください。
権限とロール
すべての Cloud DNS API メソッドにおいて、呼び出し元は必要な IAM 権限を持っている必要があります。権限は、ロールをユーザーやグループ、サービス アカウントに付与することで割り当てられます。基本ロールであるオーナー、編集者、閲覧者に加えて、Cloud DNS API のロールをプロジェクトのユーザーに付与できます。
権限
発信者が各メソッドを呼び出す際に必要となる権限のリストを次の表に示します。
| メソッド | 必要な権限 |
|---|---|
dns.changes.create |
リソース レコードを作成するには、レコードセットを含むプロジェクトで dns.changes.create と dns.resourceRecordSets.create の両方を設定します。リソース レコードを更新するには、レコードセットを含むプロジェクトで リソース レコードを削除するには、レコードセットを含むプロジェクトに対する |
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。 |