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 权限。您可以通过为用户、群组或服务账号授予角色来分配权限。除了 Viewer、Editor、Owner 这些基本角色之外,您还可以向您项目的用户授予 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 权限。 |
dns.managedZoneOperations.list |
对包含托管区域的项目拥有 dns.managedZoneOperations.list 权限。 |
dns.managedZones.create |
对包含托管区域的项目拥有 dns.managedZones.create 权限。如果要创建专用区域,则您还需要对每个具有获授权访问该区域的 VPC 网络的项目拥有 如果要创建具有 GKE 集成的专用区域,则您还需要拥有 |
dns.managedZones.delete |
对包含托管区域的项目拥有 dns.managedZones.delete 权限。 |
dns.managedZones.get |
对包含托管区域的项目拥有 |