Google Cloud ofrece la función de administración de identidades y accesos (IAM), que te permite brindar acceso más detallado a recursos específicos de Google Cloud y evita el acceso no deseado a otros recursos. En esta página, se describen las funciones de la API de Cloud DNS. Para obtener una descripción detallada de IAM, consulta la documentación de administración de identidades y accesos.
La IAM te permite adoptar el principio de seguridad de privilegio mínimo, de manera que solo otorgues el acceso necesario a tus recursos.
IAM te permite controlar quién tiene qué permisos para cuáles recursos mediante la configuración de políticas de IAM. Las políticas de IAM asignan funciones específicas a un usuario, lo que le otorga ciertos permisos. Por ejemplo, quizás un usuario en particular necesite crear y modificar recursos de registros del sistema de nombres de dominio (DNS). Luego, debes otorgar a ese usuario (quién) la función /roles/dns.admin
, que incluye los permisos dns.changes.create
y dns.resourceRecordSets.create
(qué) para que pueda crear y actualizar los conjuntos de registros de recursos (qué). Por otro lado, es posible que las personas de un departamento de asistencia solo necesiten ver los conjuntos de registros de recursos existentes, por lo que obtendrán un rol de /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 individual (o recurso), consulta Crea una zona con permisos de IAM específicos.
Permisos y roles
Cada método de API de Cloud DNS requiere que el emisor tenga los permisos de IAM necesarios. Los permisos se asignan mediante el otorgamiento de funciones a un usuario, grupo o cuenta de servicio. Además de las funciones básicas de propietario, editor y visualizador, puedes otorgar funciones de la API de Cloud DNS a los usuarios de tu proyecto.
Permisos
En la siguiente tabla, se enumeran los permisos que debe tener el emisor para llamar a cada método.
Método | Permisos necesarios |
---|---|
dns.changes.create para crear un conjunto de registros de recursos. |
dns.changes.create y dns.resourceRecordSets.create en el proyecto que contiene el conjunto de registros |
dns.changes.create para actualizar un conjunto de registros de recursos. |
dns.changes.create y dns.resourceRecordSets.update en el proyecto que contiene el conjunto de registros |
dns.changes.create para borrar un conjunto de registros de recursos. |
dns.changes.create y dns.resourceRecordSets.delete en el proyecto que contiene el conjunto de registros |
dns.changes.get |
dns.changes.get para el proyecto que contiene la zona administrada |
dns.changes.list |
dns.changes.list para el proyecto que contiene la zona administrada |
dns.dnsKeys.get |
dns.dnsKeys.get para el proyecto que contiene la zona administrada |
dns.dnsKeys.list |
dns.dnsKeys.list para el proyecto que contiene la zona administrada |
dns.managedZoneOperations.get |
dns.managedZoneOperations.get para el proyecto que contiene la zona administrada |
dns.managedZoneOperations.list |
dns.managedZoneOperations.list para el proyecto que contiene la zona administrada |
dns.managedZones.create |
dns.managedZones.create para el proyecto que contiene la zona administradaSi creas una zona privada, también necesitarás Si creas una zona privada con integración en GKE, también necesitas |
dns.managedZones.delete |
dns.managedZones.delete para el proyecto que contiene la zona administrada |
dns.managedZones.get |
dns.managedZones.get para el proyecto que contiene la zona administrada |
dns.managedZones.list |
dns.managedZones.list para el proyecto que contiene la zona administrada |
dns.managedZones.update |
dns.managedZones.update para el proyecto que contiene la zona administrada
Si creas una zona privada, también necesitarás Si vinculas una zona privada con un clúster de GKE, también necesitas |
dns.policies.create |
dns.policies.create para 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 para el proyecto que contiene la política |
dns.policies.get |
dns.policies.get para el proyecto que contiene la política |
dns.policies.list |
dns.policies.list para el proyecto que contiene la política |
dns.policies.update |
dns.policies.update para el proyecto que contiene la política
Si la política se actualiza para estar en una red de VPC, también necesitas |
dns.projects.get |
dns.projects.get para el proyecto |
dns.resourceRecordSets.create |
dns.resourceRecordSets.create para el proyecto que contiene el conjunto de registros |
dns.resourceRecordSets.delete |
dns.resourceRecordSets.delete para el proyecto que contiene el conjunto de registros |
dns.resourceRecordSets.get |
dns.resourceRecordSets.get para el proyecto que contiene el conjunto de registros |
dns.resourceRecordSets.list |
dns.resourceRecordSets.list para el proyecto que contiene la zona administrada |
dns.resourceRecordSets.update |
dns.resourceRecordSets.update para el proyecto que contiene el conjunto de registros |
dns.responsePolicies.create |
dns.responsePolicies.create para el proyecto que contiene la política de respuesta
También necesitas Si deseas crear una política de respuesta adjunta a un clúster de GKE, necesitas
|
dns.responsePolicies.delete |
dns.responsePolicies.delete para el proyecto que contiene la política de respuesta |
dns.responsePolicies.get |
dns.responsePolicies.get para el proyecto que contiene la política de respuesta |
dns.responsePolicies.list |
dns.responsePolicies.list para el proyecto |
dns.responsePolicies.update |
dns.responsePolicies.update para el proyecto que contiene la política de respuesta
También necesitas Si deseas crear una política de respuesta adjunta a un clúster de GKE, necesitas
|
dns.responsePolicyRules.create |
dns.responsePolicyRules.create para el proyecto que contiene la regla de política de respuesta |
dns.responsePolicyRules.delete |
dns.responsePolicyRules.delete para el proyecto que contiene la regla de política de respuesta |
dns.responsePolicyRules.get |
dns.responsePolicyRules.get para el proyecto que contiene la regla de política de respuesta |
dns.responsePolicyRules.list |
dns.responsePolicyRules.list para el proyecto que contiene la política de respuesta |
dns.responsePolicyRules.update |
dns.responsePolicyRules.update para el proyecto que contiene la regla de política de respuesta |
Roles
En la siguiente tabla, se enumeran las funciones de IAM de la API de Cloud DNS con la lista correspondiente de todos los permisos que se incluyen en cada función. Cada permiso se puede aplicar a un tipo de recurso específico.
También puedes usar funciones básicas para hacer cambios de DNS.
Role | Permissions |
---|---|
DNS Administrator( Provides read-write access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
compute.networks.get compute.networks.list dns.changes.*
dns.dnsKeys.*
dns.gkeClusters.*
dns.managedZoneOperations.*
dns.managedZones.create dns.managedZones.delete dns.managedZones.get dns.managedZones.getIamPolicy dns.managedZones.list dns.managedZones.update dns.networks.*
dns.policies.create dns.policies.delete dns.policies.get dns.policies.getIamPolicy dns.policies.list dns.policies.update dns.projects.get dns.resourceRecordSets.*
dns.responsePolicies.*
dns.responsePolicyRules.*
resourcemanager.projects.get resourcemanager.projects.list |
DNS Peer( Access to target networks with DNS peering zones |
dns. |
DNS Reader( Provides read-only access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
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.get dns.resourceRecordSets.get dns.resourceRecordSets.list dns.responsePolicies.get dns.responsePolicies.list dns.responsePolicyRules.get dns.responsePolicyRules.list resourcemanager.projects.get resourcemanager.projects.list |
Administra el control de acceso
Puedes usar la consola de Google Cloud para administrar el control de acceso a tus temas y proyectos.
Para configurar los controles de acceso a nivel de proyecto, sigue estos pasos.
Consola
En la consola de Google Cloud, ve a la página IAM.
Selecciona tu proyecto en el menú desplegable superior.
Haga clic en Agregar.
En Principales nuevas, ingresa la dirección de correo electrónico de un principal nuevo.
Selecciona la función deseada en el menú desplegable.
Haz clic en Guardar.
Verifica que la principalaparezca en la lista con la función que le otorgaste.
¿Qué sigue?
- Para comenzar a usar Cloud DNS, consulta la Guía de inicio rápido: Configura registros DNS para un nombre de dominio con Cloud DNS.
- Para encontrar soluciones a problemas habituales que podrías tener cuando usas Cloud DNS, consulta Solución de problemas.