Administra el acceso mediante IAM

De forma predeterminada, solo los propietarios y editores de proyectos pueden crear, actualizar, borrar o invocar servicios, y solo los propietarios de proyectos y los administradores de Cloud Run pueden modificar las políticas de administración de identidades y accesos (IAM), por ejemplo, un servicio público. Obtén más información sobre las funciones de IAM de Cloud Run.

Para otorgar a otros usuarios o grupos la capacidad de realizar estas acciones, puedes usar IAM para otorgar funciones a diferentes miembros.

Controla el acceso en un servicio individual

Si deseas controlar el acceso según el servicio, puedes usar IAM por servicio.

Haz público un servicio

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Selecciona el servicio que deseas hacer público.

  3. Haz clic en Mostrar panel de información en la esquina superior derecha para que aparezca la pestaña Permisos.

  4. En el campo Agregar miembros, allUsers, haz lo siguiente:

  5. Selecciona la función Invocador de Cloud Run del menú desplegable Selecciona una función.

  6. Haz clic en Agregar.

gcloud

Puedes hacer que un servicio sea accesible de forma pública mediante el agregado del tipo de miembro especial allUsers a un servicio y mediante el otorgamiento de la función roles/run.invoker:

  gcloud run services add-iam-policy-binding [SERVICE_NAME] \
    --member="allUsers" \
    --role="roles/run.invoker"

Además, cuando implementas el servicio con el comando gcloud run deploy, puedes especificar que el servicio sea de acceso público si lo deseas:

gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated

Cuando creas un servicio nuevo, se te preguntará si deseas “permitir el acceso no autenticado”. Si respondes que sí, se realizarán las acciones anteriores para que el servicio esté disponible de forma pública. Si respondes “no”, el servicio permanecerá privado.

Uso compartido restringido al dominio

Si el proyecto está sujeto a la política de la organización de uso compartido de dominio restringido, no podrás crear servicios públicos. Te recomendamos que crees todos los proyectos en una carpeta que no esté sujeta a esta restricción y que la quites en los proyectos existentes mediante el restablecimiento de la restricción predeterminada en el proyecto.

Agrega usuarios

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Selecciona el servicio al que deseas agregar los usuarios.

  3. Haz clic en Mostrar panel de información en la esquina superior derecha para que aparezca la pestaña Permisos.

  4. En el campo Agregar miembros, ingresa una o más identidades que necesiten acceder al servicio.

  5. Elige una función (o funciones) del menú desplegable Selecciona una función. Las funciones que seleccionas aparecen en el panel con una descripción breve del permiso que otorgan.

  6. Haz clic en Agregar.

gcloud

Usa el comando gcloud run services add-iam-policy-binding:

gcloud run services add-iam-policy-binding SERVICE_NAME \
  --member=MEMBER_TYPE \
  --role=ROLE

En el ejemplo anterior, se ilustra lo siguiente: SERVICE_NAME es el nombre del servicio, MEMBER_TYPE es el tipo de miembro (p. ej., user:email@domain.com) y ROLE es la función.

Para obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de IAM. Para obtener una lista de valores aceptables para ROLE, consulta Funciones de IAM de Cloud Run.

Quita usuarios

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Selecciona el servicio del que deseas quitar los usuarios.

  3. Haz clic en Mostrar panel de información en la esquina superior derecha para que aparezca la pestaña Permisos.

  4. Busca el usuario que deseas quitar o expande una función que tenga el usuario.

  5. Para quitarle la función a un miembro, desplázate hacia el tipo de miembro en la función y haz clic en el ícono de la papelera que aparece al lado, con el cual se realiza la acción de borrar.

gcloud

Usa el comando gcloud run services remove-iam-policy-binding:

  gcloud run services remove-iam-policy-binding SERVICE_NAME \
    --member=MEMBER_TYPE \
    --role=ROLE

En el ejemplo anterior, se ilustra lo siguiente: SERVICE_NAME es el nombre del servicio, MEMBER_TYPE es el tipo de miembro (p. ej., user:email@domain.com) y ROLE es la función.

Para obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de IAM. Para obtener una lista de valores aceptables para ROLE, consulta Funciones de IAM de Cloud Run.

Agrega o quita usuarios de forma masiva

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Selecciona el servicio al que deseas agregar usuarios o del que deseas quitarlos.

  3. Haz clic en Mostrar panel de información en la esquina superior derecha para que aparezca la pestaña Permisos.

Haz lo siguiente si deseas agregar usuarios:

  1. En el campo Agregar miembros, ingresa varias identidades que requieran acceso al servicio.

  2. Elige una función (o funciones) del menú desplegable Selecciona una función. Las funciones que seleccionas aparecen en el panel con una descripción breve del permiso que otorgan.

  3. Haz clic en Agregar.

Haz lo siguiente si quieres quitar usuarios:

  1. Busca el usuario que deseas quitar o expande una función que tenga el usuario.

  2. Para quitarle la función a un miembro, desplázate hacia el tipo de miembro en la función y haz clic en el ícono de la papelera que aparece al lado, con el cual se realiza la acción de borrar.

gcloud

Crea una política de IAM como en el ejemplo:

cat <<EOF > policy.json
{
  "bindings": [
    {
      "role": ROLE,
      "members": [
        MEMBER_TYPE
      ]
    }
  ]
}
EOF

Usa el comando gcloud run services set-iam-policy:

gcloud run services set-iam-policy SERVICE_NAME policy.json

Para obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de IAM. Para obtener una lista de valores aceptables para ROLE, consulta Funciones de IAM de Cloud Run.

Visualiza usuarios

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Selecciona el servicio en la que deseas visualizar usuarios y funciones.

  3. Haz clic en Mostrar panel de información en la esquina superior derecha para que aparezca la pestaña Permisos.

  4. Se mostrarán todos los usuarios agrupados por función asignada.

gcloud

Usa el comando gcloud run services get-iam-policy:

gcloud run services get-iam-policy SERVICE_NAME

Controla el acceso en todos los servicios de un proyecto

Si deseas otorgar funciones a los miembros en todos los servicios de un proyecto, puedes usar IAM a nivel de proyecto.

IU de Console

  1. Ve a Google Cloud Console:

    Ir a Google Cloud Console

  2. Busca el usuario al que deseas otorgar una función en todo el proyecto.

  3. Haz clic en el lápiz de edición en el lado derecho de la fila del usuario.

  4. Haz clic en Agregar otra función y elige la función deseada.

  5. Haz clic en Guardar.

gcloud

Usa el comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member=MEMBER_TYPE \
  --role=ROLE

En el ejemplo anterior, se ilustra lo siguiente: MEMBER_TYPE es el tipo de miembro (p. ej., user:email@domain.com) y ROLE es la función (p. ej. roles/run.admin).

Próximos pasos

Aprende a autenticar desarrolladores, servicios y usuarios de forma segura en los servicios que acabas de proteger.