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

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 OCI Functions 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 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 de Oracle Cloud Infrastructure Registry El compartimento propietario del 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 Cómo almacenar y ver 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 permitida, 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 OCI Functions 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 dicho 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 OCI Functions.

Sentencia de política para proporcionar a los usuarios de OCI Functions acceso a los recursos de registro
Objetivo: Crear en: Sentencia:
Proporciona a los usuarios acceso a 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 acceso a los grupos 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á los recursos de registro

Declaración 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 apliquen 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 pertenecen los usuarios acceso al compartimento al que pertenece el NSG. Tenga en cuenta que el NSG puede pertenecer a un compartimento diferente a 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 a los usuarios del servicio OCI Functions y OCI Functions acceso a recursos de rastreo
Objetivo: Crear en: Sentencia:
Otorga acceso al servicio OCI Functions a los recursos de rastreo Compartimento propietario de los recursos de rastreo o del compartimento raíz

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

Proporciona a los usuarios acceso a recursos de rastreo Compartimento propietario de los recursos de rastreo o del 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 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 OCI Functions 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 a OCI Functions acceso 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 a recursos de rastreo en el compartimento o en todo el arrendamiento. Si desea permitir a los usuarios crear nuevos dominios de APM (y suprimir dominios de APM), especifique manage apm-domains en lugar de 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 a los usuarios del servicio OCI Functions y OCI Functions acceso a los recursos de Oracle Vault
Objetivo: Crear en: Sentencia:
Otorga acceso al servicio OCI Functions para verificar las claves de cifrado maestras en Oracle Cloud Infrastructure Vault Compartimento propietario del almacén y/o la clave de cifrado maestra o del 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 los ejemplos a continuación)

Otorga al servicio OCI Functions 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 propietario del almacén y/o la clave de cifrado maestra o del 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 los ejemplos a continuación)

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 y llamada de funciones basadas en imágenes de Oracle Cloud Infrastructure Registry que hayan sido firmadas por claves de cifrado maestras concretas.

Para crear una política de verificación de firmas y para 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, OCI Functionsservice también debe tener acceso a 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 imágenes de función y la verificación de firmas. 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 Signing Function Images and Enforcing the Use of Signed Images from Registry.