Configura el acceso a los recursos de Cloud Build

De forma predeterminada, solo el creador de un proyecto de Google Cloud tiene acceso al proyecto y a sus recursos. Para otorgar acceso a otros usuarios, puedes otorgar funciones de administración de identidades y accesos (IAM) en el proyecto o en un recurso específico de Cloud Build.

En esta página, se describen las formas en que puedes configurar el control de acceso para tus recursos de Cloud Build.

Antes de comenzar

Otorga funciones en el proyecto

Console

  1. Abre la página de IAM en Cloud Console.

    Abrir la página IAM

  2. Selecciona tu proyecto y haz clic en Continuar.

  3. Haga clic en Agregar.

  4. Ingresa la dirección de correo electrónico del usuario o de la cuenta de servicio.

  5. Selecciona la función deseada en el menú desplegable. Las funciones de Cloud Build se encuentran en Cloud Build.

  6. Haga clic en Save.

gcloud

Para otorgar una función a una principal, ejecuta el comando add-iam-policy-binding:

gcloud group add-iam-policy-binding resource \
    --member=principal --role=role-id

Aquí:

  • group: El grupo de herramientas de gcloud del recurso que deseas actualizar. Por ejemplo, puedes usar proyectos u organizaciones.

  • resource: el nombre del recurso.

  • principal: Es un identificador para la principal, que suele tener el siguiente formato: principal-type:id. Por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos de principales o miembros, consulta la referencia sobre la vinculación de políticas.

  • role-id: El nombre de la función

Por ejemplo, para otorgarle la función de visualizador de Cloud Build al usuario my-user@example.com en el proyecto my-project, ejecuta este comando:

gcloud projects add-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

Otorga permisos para ejecutar comandos de gcloud

Para ejecutar los comandos gcloud builds, los usuarios que solo tengan funciones de cloudbuild.builds.viewer o cloudbuild.builds.editor también requieren el permiso serviceusage.services.use. Para otorgarle este permiso al usuario, otórgale la función serviceusage.serviceUsageConsumer.

El usuario con funciones de editor de propietario puede ejecutar comandos gcloud builds sin el permiso serviceusage.services.use adicional.

Revoca funciones en el proyecto

Console

  1. Abre la página de IAM en Cloud Console.

    Abrir la página IAM

  2. Selecciona tu proyecto y haz clic en Continuar.

  3. En la tabla de permisos, busca el ID de correo electrónico del principal y haz clic en el ícono de lápiz.

  4. Borra la función que deseas revocar.

  5. Haga clic en Save.

gcloud

Para revocar una función de un usuario, ejecuta el comando remove-iam-policy-binding:

gcloud group remove-iam-policy-binding resource \
    --member=principal --role=role-id

Aquí:

  • group: El grupo de herramientas de gcloud del recurso que deseas actualizar. Por ejemplo, puedes usar proyectos u organizaciones.

  • resource: el nombre del recurso.

  • principal: Es un identificador para la principal, que suele tener el siguiente formato: principal-type:id. Por ejemplo, user:my-user@example.com. Para obtener una lista completa de los tipos de principales o miembros, consulta la referencia sobre la vinculación de políticas.

  • role-id: El nombre de la función

Por ejemplo, para revocar la función de visualizador de Cloud Build desde el usuario my-user@example.com en el proyecto my-project, ejecuta este comando:

gcloud projects remove-iam-policy-binding my-project \
    --member=user:my-user@example.com --role=roles/cloudbuild.builds.viewer

Visualiza funciones en el proyecto

Console

  1. Abre la página de IAM en Cloud Console.

    Abrir la página IAM

  2. Selecciona tu proyecto y haz clic en Continuar.

  3. En Ver por, haz clic en Funciones.

  4. Para ver los principales con una función en particular, expande el nombre de la función.

gcloud

Para ver todos los usuarios a los que se les otorgó una función en particular en un proyecto de Cloud, ejecuta el siguiente comando:

gcloud projects get-iam-policy project-id \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:role-id"

Aquí:

  • project-id es el ID del proyecto.

  • role-id es el nombre de la función para la que deseas ver los principales.

Por ejemplo, para ver todos los principales en un proyecto al que se le otorga la función de visualizador del proyecto de Cloud, ejecuta el siguiente comando:

gcloud projects get-iam-policy my-project \
    --flatten="bindings[].members" \
    --format="table(bindings.members)" \
    --filter="bindings.role:roles/cloudbuild.builds.viewer"

Crea funciones de IAM personalizadas

Para los usuarios que desean definir sus propias funciones que contienen paquetes de permisos que especifican, IAM ofrece funciones personalizadas. Si deseas obtener instrucciones para crear y usar funciones personalizadas de IAM, consulta Crea y administra funciones personalizadas.

¿Qué sigue?