Administra el acceso a través de IAM

Según la configuración predeterminada, solo los propietarios y editores pueden crear, actualizar, borrar o invocar funciones. A fin de otorgar a otros usuarios o grupos la capacidad de realizar esta acciones, puedes usar Cloud Identity and Access Management (IAM) y asignar funciones a diferentes miembros.

Controla el acceso en una función individual

Si deseas controlar el acceso con base en cada función, puedes usar IAM por función.

Agrega usuarios

Console

  1. Ve a Google Cloud Platform Console:

    Ir a Google Cloud Platform Console

  2. Selecciona la función a la que deseas agregar 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 requieran acceso a tu función.

  5. Selecciona una función (o funciones) del menú desplegable Seleccionar 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 de gcloud beta functions add-iam-policy-binding:

gcloud beta functions add-iam-policy-binding FUNCTION_NAME \
  --member=MEMBER_TYPE \
  --role=ROLE

donde FUNCTION_NAMEes el nombre de la función, MEMBER_TYPE es el tipo de miembro y ROLE es la función.

A fin de obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de Cloud IAM. A fin de obtener una lista de valores aceptables para ROLE, consulta la página de referencia de funciones IAM de Cloud Functions.

Haz pública una función

Puedes hacer que una función sea accesible de forma pública con solo agregar el tipo de miembro especial allUsers a una función y otorgarle la función roles/cloudfunctions.invoker:

  gcloud beta functions add-iam-policy-binding FUNCTION_NAME \
    --member="allUsers" \
    --role="roles/cloudfunctions.invoker"

Esto se incluye en gcloud beta functions deploy con el marcador --allow-unauthenticated:

gcloud beta functions deploy FUNCTION_NAME ... --trigger-http --allow-unauthenticated

Las implementaciones posteriores que no tengan el marcador --allow-unauthenticated no cambiarán la política de IAM.

Implementar una función en segundo plano con la función --allow-unauthenticated provocará un error. Las funciones en segundo plano son siempre privadas y no pueden hacerse públicas.

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.

Quita usuarios

Console

  1. Ve a Google Cloud Platform Console:

    Ir a Google Cloud Platform Console

  2. Selecciona la función de la que deseas quitar 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. Haz clic en borrar con el ícono de papelera que aparece junto al tipo de miembro en la función para quitársela.

GCloud

Usa el comando de gcloud beta functions remove-iam-policy-binding:

  gcloud beta functions remove-iam-policy-binding FUNCTION_NAME \
    --member=MEMBER_TYPE \
    --role=ROLE

donde FUNCTION_NAMEes el nombre de la función, MEMBER_TYPE es el tipo de miembro y ROLE es la función.

A fin de obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de Cloud IAM. A fin de obtener una lista de valores aceptables para ROLE, consulta la página de referencia de funciones IAM de Cloud Functions.

Agrega o quita usuarios de forma masiva

Console

  1. Ve a Google Cloud Platform Console:

    Ir a Google Cloud Platform Console

  2. Selecciona la función a la que deseas agregar usuarios o de la que los quitarás.

  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 a tu función.

  2. Selecciona una función (o funciones) del menú desplegable Seleccionar 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. Haz clic en borrar con el ícono de papelera que aparece junto al tipo de miembro en la función para quitársela.

GCloud

Crea una política de IAM.

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

Usa el comando de gcloud beta functions set-iam-policy:

gcloud beta functions set-iam-policy FUNCTION_NAME policy.json

A fin de obtener una lista de valores aceptables para MEMBER_TYPE, consulta la página de conceptos de Cloud IAM. A fin de obtener una lista de valores aceptables para ROLE, consulta la página de referencia de funciones IAM de Cloud Functions.

Visualiza usuarios

Console

  1. Ve a Google Cloud Platform Console:

    Ir a Google Cloud Platform Console

  2. Selecciona la función en la que deseas consultar 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 otorgada.

GCloud

Usa el comando de gcloud beta functions get-iam-policy:

gcloud beta functions get-iam-policy FUNCTION_NAME

Controla el acceso en todas las funciones de un proyecto

Si deseas otorgar funciones a miembros en todas las funciones de un proyecto, puedes usar IAM a nivel de proyecto.

Próximos pasos

Aprende cómo autenticar desarrolladores, funciones y usuarios finales de forma segura para las funciones que acabas de proteger.

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

Enviar comentarios sobre...

Documentación de Cloud Functions