Autenticar para invocar
En este documento se proporciona información adicional sobre cómo invocar funciones creadas con la API Cloud Functions v2, por ejemplo, mediante gcloud functions
, la API REST o Terraform. Para obtener información detallada y ejemplos, consulta las guías Autenticar solicitudes de Cloud Run. Los temas que se tratan en las guías de Cloud Run también se aplican a las funciones creadas con la API de Cloud Functions v2, ya que las funciones de la versión 2 también usan el rol de invocador de Cloud Run (roles/run.invoker
).
Para invocar una función autenticada, el principal subyacente debe cumplir los siguientes requisitos:
- Tener permiso para invocar la función.
- Proporciona un token de ID cuando invoca la función.
Cloud Run Functions admite dos tipos de identidades, también llamadas principales:
- Cuentas de servicio: son cuentas especiales que sirven como identidad de una entidad que no es una persona, como una función, una aplicación o una VM. Te permiten autenticar a estas entidades no personales.
- Cuentas de usuario: estas cuentas representan a personas, ya sea como titulares de cuentas de Google individuales o como parte de una entidad controlada por Google, como un grupo de Google.
Consulta la descripción general de IAM para obtener más información sobre los conceptos básicos de IAM.
Para invocar una función autenticada, la entidad debe tener el permiso de IAM invoker:
run.routes.invoke
. Normalmente, esto se hace mediante el rol Invocador de Cloud Run. Este permiso debe asignarse al recurso de servicio de Cloud Run.
Para conceder estos permisos, sigue los pasos que se indican en la guía Autenticar de servicio a servicio de Cloud Run.
Para tener permiso para crear, actualizar o realizar otras acciones administrativas en una función, la entidad debe tener un rol adecuado. Los roles incluyen permisos que definen las acciones que puede realizar la entidad de seguridad. Para obtener más información, consulta Usar gestión de identidades y accesos para autorizar el acceso.
Las funciones basadas en eventos solo pueden invocarse mediante la fuente de eventos a la que estén suscritas. Sin embargo, las funciones HTTP se pueden invocar mediante diferentes tipos de identidad procedentes de distintos lugares, como un desarrollador que prueba la función u otro servicio que la usa. Las identidades deben proporcionar un token de ID para la autenticación. La cuenta que se esté usando también debe tener los permisos adecuados.