Control de acceso

En Google Cloud Platform, se incluye la administración de identidades y accesos (IAM), que te permite brindar un acceso más detallado a recursos específicos de Google Cloud Platform y evitar 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 IAM.

IAM te permite adoptar el principio de seguridad de menor privilegio, 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 DNS. Por lo tanto, puedes darle 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 conjuntos de registros de recursos (cuáles). 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 una función /roles/dns.reader.

Permisos y funciones

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 lector, puedes asignar funciones de 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 administrada Si creas una zona privada, también necesitarás dns.networks.bindPrivateDNSZone y dns.networks.targetWithPeeringZone para cada proyecto que contenga cada red de VPC a la que le des acceso a la zona.
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 dns.networks.bindPrivateDNSZone y dns.networks.targetWithPeeringZone para cada proyecto que contenga cada red de VPC a la que le des acceso a la zona.
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.networks.bindPrivateDNSPolicy para cada proyecto que contenga cada red de VPC.
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.networks.bindPrivateDNSPolicy para cada proyecto que contenga cada red de VPC.
dns.policies.patch dns.policies.patch para el proyecto que contiene la política
dns.projects.get dns.projects.get para el proyecto
dns.resourceRecordSets.list dns.resourceRecordSets.list para el proyecto que contiene la zona administrada

Funciones

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. Ten en cuenta que cada permiso es aplicable a un tipo de recurso específico.

Los cambios en el DNS también se pueden realizar a través de funciones básicas.

Función Título Descripción Permisos Recurso más bajo
roles/dns.admin Administrador de DNS Proporciona acceso de lectura y escritura a todos los recursos de 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
Proyecto
roles/dns.peer Intercambio de tráfico de DNS Acceso a las redes objetivo con zonas de intercambio de tráfico de DNS
  • dns.networks.targetWithPeeringZone
roles/dns.reader Lector de DNS Proporciona acceso de solo lectura a todos los recursos de 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
Proyecto

Control de acceso a través de Cloud Console

Puede usar Cloud Console para administrar el control de acceso a tus temas y proyectos.

Para configurar los controles de acceso a nivel de proyecto, sigue estos pasos:

  1. Abre la página IAM en Google Cloud Console.
  2. Selecciona tu proyecto en el menú desplegable superior.
  3. Haz clic en Agregar.
  4. Ingresa la dirección de correo electrónico de un miembro nuevo.
  5. Selecciona la función que deseas en el menú desplegable.
  6. Haz clic en Agregar.
  7. Verifica que el miembro aparezca en la lista con la función que le otorgaste.

Próximos pasos