Creación de políticas para controlar el acceso a recursos relacionados con funciones y redes

Descubra cómo crear políticas para controlar el acceso de usuarios y el servicio OCI Functions a recursos relacionados con la red y la función.

Para que los usuarios puedan empezar a utilizar Funciones de OCI para crear y desplegar funciones, como administrador de arrendamiento debe crear una serie de sentencias de política de Oracle Cloud Infrastructure para otorgar acceso a los recursos de red y relacionados con la función.

Utilice Policy Builder para crear una política adecuada, seleccionando Functions como Caso de uso de política y, a continuación, seleccionando la plantilla de política Permitir a los usuarios crear, desplegar y gestionar funciones y aplicaciones. Esa plantilla de política contiene todas las sentencias de política necesarias para utilizar OCI Functions. Consulte Escritura de sentencias de política con el creador de políticas.

También puede crear una o más políticas que contengan las sentencias de política (siga las instrucciones de Para crear una política).

Sentencias de política

Sentencias de política para proporcionar a los usuarios de OCI Functions acceso a repositorios de Oracle Cloud Infrastructure Registry
Objetivo: Crear en: Sentencia:
Permite a los usuarios obtener la cadena de espacio de nombres de Object Storage del arrendamiento Compartimento raíz Allow group <group-name> to read objectstorage-namespaces in tenancy
Proporciona a los usuarios acceso a repositorios en Oracle Cloud Infrastructure Registry. compartimento que posee el repositorio o el compartimento raíz Allow group <group-name> to manage repos in tenancy|<compartment-name>

Cuando los usuarios de OCI Functions trabajan con funciones, tienen que acceder a los repositorios de Oracle Cloud Infrastructure Registry. Los usuarios solo pueden acceder a los repositorios a los que pueden acceder los grupos a los que pertenecen. Para permitir que los usuarios accedan a un repositorio, las sentencias de política deben otorgar a los grupos acceso a dicho repositorio.

La sentencia de política Allow group <group-name> to read objectstorage-namespaces in tenancy permite a los usuarios obtener la cadena de espacio de nombres de Object Storage generada automáticamente del arrendamiento, que es necesaria para conectarse a Oracle Cloud Infrastructure Registry. Esta sentencia de política también proporciona acceso a los logs de las funciones almacenados en un cubo de almacenamiento en Oracle Cloud Infrastructure Object Storage (consulte Almacenamiento y visualización de logs de funciones).

Si utiliza la sentencia de política Allow group <group-name> to manage repos in tenancy para otorgar a los usuarios acceso a los repositorios de Oracle Cloud Infrastructure Registry, tenga en cuenta que esta sentencia de política otorga al grupo permiso para gestionar todos los repositorios del arrendamiento. Si considera que es demasiado permisiva, puede restringir los repositorios a los que el grupo tiene acceso incluyendo una cláusula where en la sentencia manage repos. Tenga en cuenta que si incluye una cláusula where, también debe incluir una segunda sentencia en la política para permitir que el grupo inspeccione todos los repositorios del arrendamiento (al utilizar la consola). Por ejemplo, las siguientes sentencias de política limitan que el grupo acceda solo a repositorios con nombres que empiecen por "acme-web-app", pero también permiten que el grupo inspeccione todos los repositorios del arrendamiento:

Allow group acme-functions-developers to inspect repos in tenancy
Allow group acme-functions-developers to manage repos in tenancy where all {target.repo.name=/acme-web-app*/ }
Sentencias de política para proporcionar a los usuarios de OCI Functions acceso a recursos relacionados con la función
Objetivo: Crear en: Sentencia:
Proporciona a los usuarios acceso a recursos relacionados con la función Compartimento que posee los recursos relacionados con la función Allow group <group-name> to manage functions-family in compartment <compartment-name>
Proporciona a los usuarios acceso a las métricas emitidas por Funciones de OCI Compartimento que posee los recursos relacionados con la función Allow group <group-name> to read metrics in compartment <compartment-name>

Cuando los usuarios de OCI Functions crean funciones y aplicaciones, tienen que especificar un compartimento para los recursos relacionados con la función (incluido para las métricas emitidas por OCI Functions). Los usuarios solo pueden especificar un compartimento para el que se haya otorgado acceso a los grupos a los que pertenecen. Para permitir que los usuarios especifiquen un compartimento, las sentencias de política deben otorgar a los grupos acceso a ese compartimento.

La sentencia de política Allow group <group-name> to manage functions-family in compartment <compartment-name> proporciona a los usuarios acceso a recursos relacionados con la función.

La sentencia de política Allow group <group-name> to read metrics in compartment <compartment-name> proporciona a los usuarios acceso a las métricas emitidas por Funciones de OCI.

Sentencia de política para proporcionar a los usuarios de OCI Functions acceso al registro de recursos
Objetivo: Crear en: Sentencia:
Proporciona a los usuarios acceso a los recursos de registro. Compartimento raíz

Allow group <group-name> to manage logging-family in compartment <compartment-name>

Cuando los usuarios de OCI Functions definen una aplicación, pueden activar el registro para almacenar y ver los logs de las funciones en el servicio Oracle Cloud Infrastructure Logging. Los usuarios solo pueden ver los logs a los que pueden acceder los grupos a los que pertenecen. Para permitir a los usuarios almacenar y ver logs de las funciones en el servicio Oracle Cloud Infrastructure Logging, una sentencia de política debe otorgar a los grupos acceso a los recursos de registro.

La sentencia de política Allow group <group-name> to manage logging-family in compartment <compartment-name> proporciona a los usuarios acceso completo a los recursos de registro en el compartimento que poseerá recursos de registro

Sentencia de política para proporcionar a los usuarios de OCI Functions acceso a los recursos de red
Objetivo: Crear en: Sentencia:
Proporciona a los usuarios acceso a los recursos de red Compartimento que posee los recursos de red Allow group <group-name> to use virtual-network-family in compartment <compartment-name>

Cuando los usuarios de OCI Functions crean una función o una aplicación, tienen que especificar una VCN y una subred en la que crearlas. Los usuarios solo pueden especificar VCN y subredes en compartimentos a los que los grupos a los que pertenecen tienen acceso. Para permitir que los usuarios especifiquen una VCN y una subred, una sentencia de política debe otorgar a los grupos acceso al compartimento.

Cuando los usuarios de OCI Functions desean definir reglas de entrada y salida que se aplican a todas las funciones de una aplicación concreta mediante un NSG, pueden agregar la aplicación a ese NSG. Para agregar una aplicación a un NSG, una sentencia de política similar debe otorgar a los grupos a los que los usuarios pertenecen acceso al compartimento al que pertenece el NSG. Tenga en cuenta que el NSG puede pertenecer a un compartimento diferente de la subred de la función. Para obtener más información, consulte Adición de aplicaciones a grupos de seguridad de red (NSG).

Sentencias de política para proporcionar acceso al servicio OCI Functions y a los usuarios de OCI Functions a recursos de rastreo
Objetivo: Crear en: Sentencia:
Proporciona al servicio OCI Functions acceso al rastreo de recursos Compartimento que posee recursos de rastreo o el compartimento raíz

Allow service faas to use apm-domains in tenancy|compartment <compartment-name>

Proporciona a los usuarios acceso al rastreo de recursos Compartimento que posee recursos de rastreo o el compartimento raíz

Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name>

Cuando los usuarios de OCI Functions desean investigar por qué una función no se ejecuta o funciona como se esperaba, pueden utilizar el rastreo para depurar problemas de ejecución y rendimiento. Para utilizar el rastreo, los usuarios tienen que activar el rastreo para la aplicación que contiene la función y, a continuación, activar el rastreo para una o más funciones. A continuación, los usuarios pueden ver los rastreos de funciones en el explorador de rastreo de Application Performance Monitoring (APM). Para obtener más información, consulte Rastreo distribuido para funciones.

Los usuarios solo pueden activar el rastreo si el grupo al que pertenecen puede acceder a los dominios de APM existentes (o crear nuevos dominios de APM) y si Funciones de OCI puede acceder a los dominios de APM. Para permitir a los usuarios activar el rastreo y ver rastreos, las sentencias de política deben otorgar al grupo y acceso de Funciones de OCI a los dominios de APM.

La sentencia de política Allow group <group-name> to use apm-domains in tenancy|compartment <compartment-name> proporciona a los usuarios acceso al rastreo de recursos en el compartimento o en todo el arrendamiento. If you want to enable users to create new APM domains (and delete APM domains), specify manage apm-domains instead of use apm-domains.

La sentencia de política Allow service faas to use apm-domains in tenancy|compartment <compartment-name> proporciona a OCI Functions acceso a los dominios de APM en el compartimento o en todo el arrendamiento.

Sentencias de política para proporcionar al servicio OCI Functions y a los usuarios de OCI Functions acceso a los recursos de Oracle Vault
Objetivo: Crear en: Sentencia:
Proporciona acceso al servicio Funciones OCI para verificar las claves de cifrado maestras en Oracle Cloud Infrastructure Vault Compartimento que posee la clave de cifrado maestra y/o del almacén, o el compartimento raíz

Allow service faas to {KEY_READ} in tenancy|compartment <compartment-name> where request.operation='GetKeyVersion'

Allow service faas to {KEY_VERIFY} in tenancy|compartment <compartment-name> where request.operation='Verify'

(si necesita sentencias de política más restrictivas, consulte a continuación para ver ejemplos)

Proporciona al servicio Funciones de OCI acceso a imágenes firmadas en Oracle Cloud Infrastructure Registry Compartimento raíz

Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'

Proporciona a los usuarios acceso a almacenes y claves de cifrado maestras en Oracle Cloud Infrastructure Vault Compartimento que posee la clave de cifrado maestra y/o del almacén, o el compartimento raíz

Allow group <group-name> to read vaults in tenancy|compartment <compartment-name>

Allow group <group-name> to use keys in tenancy|compartment <compartment-name>

(si necesita sentencias de política más restrictivas, consulte a continuación para ver ejemplos)

Proporciona a los usuarios acceso a imágenes firmadas en Oracle Cloud Infrastructure Registry. Compartimento raíz

Allow group <group-name> to read repos in tenancy

Los usuarios pueden configurar aplicaciones de OCI Functions para permitir solo la creación, actualización, despliegue e invocación de funciones basadas en imágenes de Oracle Cloud Infrastructure Registry firmadas por claves de cifrado maestras concretas.

Para crear una política de verificación de firmas y crear y desplegar imágenes de funciones firmadas, los usuarios deben tener acceso a claves de cifrado maestras en almacenes definidos en Oracle Cloud Infrastructure Vault. Del mismo modo, para aplicar una política de verificación de firmas definida para una aplicación, el servicio Funciones de OCI también debe tener acceso a las claves de cifrado maestras definidas en Oracle Cloud Infrastructure Vault.

Puede restringir las claves de cifrado maestras que se pueden utilizar para la firma de la imagen de función y la verificación de la firma. Por ejemplo, mediante políticas como:

Allow service faas to {KEY_READ} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'GetKeyVersion'
Allow service faas to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'
Allow group <groupname> to {KEY_READ} in compartment <compartment-name> where ALL {target.key.id = '<ocid-of-key-in-verification-policy>', ANY {request.operation = 'GetKey', request.operation = 'GetKeyVersion'}}
Allow group <groupname> to {KEY_VERIFY} in compartment <compartment-name> where target.key.id = '<ocid-of-key-in-verification-policy>' and request.operation = 'Verify'

Para obtener más información y ejemplos, consulte Firma de imágenes de función y aplicación del uso de imágenes firmadas del registro.