Google Cloud ofrece Gestión de Identidades y Accesos (IAM), que te permite dar un acceso más granular a recursos específicos Google Cloud e impide el acceso no deseado a otros recursos. En esta página se describen los roles de la API Cloud DNS. Para obtener una descripción detallada de IAM, consulta la documentación sobre la gestión de identidades y accesos.
IAM te permite adoptar el principio de seguridad de mínimos accesos para que solo concedas el acceso necesario a tus recursos.
La gestión de identidades y accesos te permite controlar quién tiene qué permisos para qué recursos mediante la configuración de políticas de gestión de identidades y accesos. Las políticas de gestión de identidades y accesos
asignan roles específicos a un usuario, lo que le otorga determinados permisos. Por ejemplo, un usuario concreto puede necesitar crear y modificar recursos de registros del sistema de nombres de dominio (DNS). A continuación, le asignarías a ese usuario (quién) el rol /roles/dns.admin, que tiene los permisos dns.changes.create y dns.resourceRecordSets.create (qué), para que pueda crear y actualizar conjuntos de registros de recursos (cuál). Por el contrario, un departamento de asistencia solo podría necesitar ver los conjuntos de registros de recursos, por lo que se le asignaría el rol /roles/dns.reader.
Cloud DNS admite permisos de IAM a nivel de proyecto y a nivel de zona DNS individual. El permiso predeterminado es a nivel de proyecto. Para configurar permisos a nivel de zona DNS (o recurso), consulta Crear una zona con permisos de gestión de identidades y accesos específicos.
Permisos y roles
Todos los métodos de la API Cloud DNS requieren que el llamador cuente con los permisos de IAM necesarios. Los permisos se asignan concediendo roles a un usuario, un grupo o una cuenta de servicio. Además de los roles básicos de propietario, editor y lector, puedes asignar roles de la API Cloud DNS a los usuarios de tu proyecto.
Permisos
En la siguiente tabla se indican los permisos que debe tener el llamante para invocar cada método.
| Método | Permisos necesarios |
|---|---|
dns.changes.create |
Para crear un registro de recursos, define dns.changes.create y dns.resourceRecordSets.create en el proyecto que contiene el conjunto de registros.
Para actualizar un registro de recurso, define Para eliminar un registro de recursos, define |
dns.changes.get |
dns.changes.get en el proyecto que contiene la zona gestionada. |
dns.changes.list |
dns.changes.list en el proyecto que contiene la zona gestionada. |
dns.dnsKeys.get |
dns.dnsKeys.get en el proyecto que contiene la zona gestionada. |
dns.dnsKeys.list |
dns.dnsKeys.list en el proyecto que contiene la zona gestionada. |
dns.managedZoneOperations.get |
dns.managedZoneOperations.get en el proyecto que contiene la zona gestionada. |
dns.managedZoneOperations.list |
dns.managedZoneOperations.list en el proyecto que contiene la zona gestionada. |
dns.managedZones.create |
dns.managedZones.create en el proyecto que contiene la zona gestionada.Si creas una zona privada, también necesitas Si vas a crear una zona privada con integración de GKE, también debes configurar un permiso de clúster de GKE en |
dns.managedZones.delete |
dns.managedZones.delete en el proyecto que contiene la zona gestionada. |
dns.managedZones.get |
dns.managedZones.get en el proyecto que contiene la zona gestionada. |
dns.managedZones.list |
dns.managedZones.list en el proyecto que contiene la zona gestionada. |
dns.managedZones.update |
dns.managedZones.update en el proyecto que contiene la zona gestionada.Si creas una zona privada, también necesitas Si vas a crear una zona privada con integración de GKE, también debes configurar un permiso de clúster de GKE en |
dns.policies.create |
dns.policies.create en el proyecto que contiene la política.
Si la política se crea en una red de VPC, también necesitas |
dns.policies.delete |
dns.policies.delete en el proyecto que contiene la política. |
dns.policies.get |
dns.policies.get en el proyecto que contiene la política. |
dns.policies.list |
dns.policies.list en el proyecto que contiene la política. |
dns.policies.update |
dns.policies.update en el proyecto que contiene la política.
Si la política se actualiza para que esté en una red de VPC, también necesitará |
dns.projects.get |
dns.projects.get en el proyecto. |
dns.resourceRecordSets.create |
dns.resourceRecordSets.create en el proyecto que contiene el conjunto de registros. |
dns.resourceRecordSets.delete |
dns.resourceRecordSets.delete en el proyecto que contiene el conjunto de registros. |
dns.resourceRecordSets.get |
dns.resourceRecordSets.get en el proyecto que contiene el conjunto de registros. |
dns.resourceRecordSets.list |
dns.resourceRecordSets.list en el proyecto que contiene la zona gestionada. |
dns.resourceRecordSets.update |
dns.resourceRecordSets.update y dns.changes.create en el proyecto que contiene el conjunto de registros. |