Define el control de acceso en una configuración

Para controlar el acceso a tus recursos en Google Cloud Platform, usa la administración de identidades y accesos (IAM). Con la IAM, puedes configurar permisos que especifican quién tiene qué tipo de acceso a qué recursos de tu proyecto. Para obtener una introducción al producto, revisa la descripción general de IAM.

Cuando implementas recursos, también puedes controlar quién tiene acceso a ellos si configuras una Política de Cloud IAM con antelación. Por ejemplo, si planificas crear temas de Pub/Sub que administrarán usuarios determinados, puedes hacerlo en Deployment Manager si especificas una política de IAM en la configuración. Cuando crees o actualices la implementación, Deployment Manager llama a la API de Identity and Access Management (IAM) para configurar los permisos adecuados en el recurso.

Antes de comenzar

Usa políticas de IAM en Deployment Manager

Una política de IAM es una colección de usuarios y sus funciones. Se configura a nivel de proyecto, ya sea con funciones básicas o predeterminadas. Algunos servicios, como Cloud Pub/Sub, también son compatibles con la configuración de políticas de IAM a nivel de recurso.

Si un servicio no admite la configuración de políticas de IAM a nivel de recurso, Deployment Manager mostrará el error NO_METHOD_TO_UPDATE_ACCESS_CONTROL. Por ejemplo, Compute Engine no admite actualmente la configuración de políticas de IAM a nivel de recurso, por lo que mostrará un error si intentas configurar una en un recurso de la plataforma. Sin embargo, se pueden otorgar funciones de IAM a nivel de proyecto.

Para obtener una lista de funciones y los recursos a los que puedes asignarlas, revisa Información sobre funciones.

Otorga permiso a Deployment Manager para configurar políticas de IAM

Deployment Manager usa la cuenta de servicio de las API de Google para llamar a otras API de Google y administrar los recursos de Google Cloud Platform en tu nombre. Debes otorgar la función básica roles/owner a tu cuenta de servicio de las API de Google a fin de que pueda aplicar las políticas de IAM que definas en la configuración.

  1. Ve a la página de IAM en GCP Console de tu proyecto.

    Ir a la página de IAM

  2. Si se te solicita, selecciona tu proyecto de la lista.
  3. Busca la cuenta de servicio de las API de Google, que tiene la dirección de correo electrónico en el siguiente formato:

    [PROJECT_NUMBER]@cloudservices.gserviceaccount.com
    
  4. Otorga la función roles/owner a la cuenta de servicio de las API:

    Consola

    1. En Google Cloud Platform Console, expande el menú desplegable Funciones de la cuenta de servicio de las API de Google y selecciona Proyecto > Propietario.
    2. Haz clic en Guardar para guardar los cambios.

    gcloud

    Con la herramienta de línea de comandos de gcloud, agrega un vínculo a la Política de Cloud IAM del proyecto, de la siguiente manera:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
        --member serviceAccount:[SERVICE_ACCOUNT_EMAIL] --role roles/owner

    donde:

    • [PROJECT_ID] es el ID del proyecto.
    • [SERVICE_ACCOUNT_EMAIL] es el correo electrónico de la cuenta de servicio.

    Por ejemplo:

    gcloud projects add-iam-policy-binding database-images \
        --member serviceAccount:123456789012@cloudservices.gserviceaccount.com  \
        --role roles/owner

    API

    En la API, realiza una solicitud POST a la siguiente URL, en la que [PROJECT_ID] es el ID del proyecto:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/$[PROJECT_ID]:setIamPolicy
    

    El cuerpo de la solicitud debe contener la lista de vínculos que deseas aplicar al proyecto. La función roles/owner debería ser parte del vínculo. Por ejemplo:

    {
       "policy": {
           "version": "0",
           "bindings": [
           {
               "role": "roles/owner",
               "members": [
                   "user:example@gmail.com",
                   "serviceAccount:123456789012@cloudservices.gserviceaccount.com"
               ]
           }
           ]
       }
    

    }

Establece una política de IAM en tu configuración

Puedes seguir estas instrucciones para establecer una política de IAM en tu configuración o plantilla:

  1. Agrega la sección accessControl a la configuración del nivel superior de cada recurso para el que deseas aplicar políticas de control de acceso.

  2. Especifica la gcpIamPolicy que quieres para el recurso. Cada política de IAM puede contener una lista de vínculos. Cada vínculo une a cada miembro de una lista con una función.

Por ejemplo, la siguiente sección accessControl agrega vínculos que les otorgan estas funciones a los usuarios:

User Función
alice@example.com roles/pubsub.editor
  • my-other-app@appspot.gserviceaccount.com
  • jane@example.com
roles/pubsub.publisher
resources:
- name: a-new-pubsub-topic
  type: pubsub.v1.topic
  properties:
    ...

  accessControl:
    gcpIamPolicy:
      bindings:
      - role: roles/pubsub.editor
        members:
        - "user:alice@example.com"
      - role: roles/pubsub.publisher
        members:
        - "user:jane@example.com"
        - "serviceAccount:my-other-app@appspot.gserviceaccount.com"

Para obtener más información sobre las políticas de IAM, lee la documentación de IAM.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Cloud Deployment Manager Documentation