Roles y permisos

Google Cloud ofrece Gestión de Identidades y Accesos (IAM), que te permite conceder un acceso más granular a recursos Google Cloud específicos e impide el acceso no deseado a otros recursos. En esta página se describen los roles de la API Service Directory. Para obtener una descripción detallada de IAM, consulta la documentación de IAM.

IAM te permite adoptar el principio de seguridad de privilegio mínimo, por lo que solo concedes 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 IAM conceden roles específicos a un usuario, lo que le otorga determinados permisos.

Permisos y funciones

Todos los métodos de la API Service Directory requieren que el llamador cuente con los permisos de gestión de identidades y accesos necesarios. Puedes asignar permisos 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 conceder roles de la API Service Directory a los usuarios de tu proyecto.

Permisos

Puedes consultar los permisos necesarios para cada método en la documentación de referencia de la API de Service Directory.

Roles

Role Permissions

(roles/servicedirectory.admin)

Full control of all Service Directory resources and permissions.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.*

  • servicedirectory.endpoints.create
  • servicedirectory.endpoints.delete
  • servicedirectory.endpoints.get
  • servicedirectory.endpoints.getIamPolicy
  • servicedirectory.endpoints.list
  • servicedirectory.endpoints.setIamPolicy
  • servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.*

  • servicedirectory.namespaces.associatePrivateZone
  • servicedirectory.namespaces.create
  • servicedirectory.namespaces.delete
  • servicedirectory.namespaces.get
  • servicedirectory.namespaces.getIamPolicy
  • servicedirectory.namespaces.list
  • servicedirectory.namespaces.setIamPolicy
  • servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.*

  • servicedirectory.services.bind
  • servicedirectory.services.create
  • servicedirectory.services.delete
  • servicedirectory.services.get
  • servicedirectory.services.getIamPolicy
  • servicedirectory.services.list
  • servicedirectory.services.resolve
  • servicedirectory.services.setIamPolicy
  • servicedirectory.services.update

(roles/servicedirectory.editor)

Edit Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.networkAttacher)

Gives access to attach VPC Networks to Service Directory Endpoints

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.attach

(roles/servicedirectory.pscAuthorizedService)

Gives access to VPC Networks via Service Directory

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.networks.access

(roles/servicedirectory.serviceAgent)

Give the Service Directory service agent access to Cloud Platform resources.

container.clusters.get

gkehub.features.get

gkehub.gateway.delete

gkehub.gateway.generateCredentials

gkehub.gateway.get

gkehub.gateway.patch

gkehub.gateway.post

gkehub.gateway.put

gkehub.locations.*

  • gkehub.locations.get
  • gkehub.locations.list

gkehub.memberships.get

gkehub.memberships.list

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.create

servicedirectory.endpoints.delete

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.endpoints.update

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.associatePrivateZone

servicedirectory.namespaces.create

servicedirectory.namespaces.delete

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.namespaces.update

servicedirectory.networks.attach

servicedirectory.services.bind

servicedirectory.services.create

servicedirectory.services.delete

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

servicedirectory.services.update

(roles/servicedirectory.viewer)

View Service Directory resources.

resourcemanager.projects.get

resourcemanager.projects.list

servicedirectory.endpoints.get

servicedirectory.endpoints.getIamPolicy

servicedirectory.endpoints.list

servicedirectory.locations.*

  • servicedirectory.locations.get
  • servicedirectory.locations.list

servicedirectory.namespaces.get

servicedirectory.namespaces.getIamPolicy

servicedirectory.namespaces.list

servicedirectory.services.get

servicedirectory.services.getIamPolicy

servicedirectory.services.list

servicedirectory.services.resolve

Control de acceso mediante la consola Google Cloud

Puedes usar la consola para gestionar el control de acceso de tu registro. Google Cloud

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

Consola

  1. En la consola, ve a la página IAM. Google Cloud

    Ir a IAM

  2. Selecciona tu proyecto en el menú desplegable de la parte superior.

  3. Haz clic en Añadir.

  4. En Principales nuevas, introduce la dirección de correo de un nuevo principal.

  5. En el menú desplegable, selecciona el rol que quieras asignar: servicedirectory.admin, servicedirectory.editor o servicedirectory.viewer.

  6. Haz clic en Guardar.

  7. Comprueba que el principal aparece con el rol que le has concedido.

Las zonas de Directorio de servicios anulan las restricciones de IAM

Cuando se asigna un espacio de nombres a una zona de Directory de servicios, los nombres de los servicios se hacen visibles para todos los clientes de las redes que tengan autorización para consultar la zona privada. No hay control de acceso de IAM para DNS, ya que el protocolo DNS no proporciona funciones de autenticación.

Siguientes pasos