Protege Cloud Functions

En esta página, se proporciona una descripción general de alto nivel de las formas en las que puedes controlar las interacciones mediante tus recursos de Cloud Functions.

Control de acceso

Existen dos enfoques para controlar el acceso a Cloud Functions:

Protege el acceso con identidad

Una forma de controlar el acceso a Cloud Functions es mediante lo siguiente:

  • Evaluar las credenciales que presenta la entidad para asegurarse de que es quien dice ser (Authentication)
  • Permitir que esa entidad acceda a tus recursos según los permisos que se le otorgaron (Authorization)

Cloud Functions admite dos tipos de autenticación y autorización: Identity and Access Management (IAM) y OAuth 2.0.

Usa Identity and Access Management

IAM es el tipo de control de acceso que se usa con más frecuencia en Cloud Functions. Funciona con dos tipos de identidades:

  • Cuentas de servicio: Estas son cuentas especiales que actúan como la identidad de una persona que no es una persona, como una función, una aplicación o una VM. Te brindan una forma de autenticar a las personas que no son personas y darles permiso para hacer algo, como llamar a una API.
  • Cuentas de usuario: Estas cuentas representan personas, ya sea como titulares de Cuentas de Google individuales o como parte de una entidad controlada por Google, como un Grupo de Google.

Durante la configuración, debes otorgar la función adecuada a la identidad solicitante. La función define qué permisos tiene la identidad en el contexto del recurso. Para obtener más información sobre cómo se configura este proceso, consulta Autoriza el acceso a través de IAM.

A través de OAuth 2.0.

OAuth 2.0 es un estándar abierto para la autorización. Se puede usar en situaciones en las que no es posible usar IAM o, en algunos casos, no es adecuado. Consulta Prácticas recomendadas para usar y administrar cuentas de servicio a fin de obtener más información sobre cómo elegir entre los dos métodos.

Con Google Cloud Console, debes crear un ID de cliente de OAuth 2.0 (y, en algunos casos, un secreto del cliente) para tu aplicación cliente, que funciona como la credencial.

La aplicación cliente envía esta credencial al servidor de autorización de Google, que proporciona un access token. Este token permite el acceso al recurso. Los permisos se basan en un valor llamado scope, en lugar de una función, como en IAM.

Control de acceso basado en la red

También puedes limitar el acceso si especificas la configuración de red para funciones individuales. Esto permite un control preciso sobre la entrada y salida de la red hacia y desde sus funciones.

Aislamiento y zona de pruebas

De forma interna, las instancias de función se aíslan unas de otras mediante la plataforma de zona de pruebas gVisor. Por su diseño, una función no puede acceder a los entornos operativos de otras funciones.