Control del acceso para llamar y gestionar funciones
Descubra cómo controlar las funciones que los usuarios pueden llamar y gestionar en OCI Functions.
Al configurar un arrendamiento para el desarrollo de funciones, especifique la siguiente sentencia de política de identidad (como se describe en Sentencias de política para proporcionar a los usuarios de OCI Functions acceso a recursos relacionados con la función):
Allow group <group-name> to manage functions-family in compartment <compartment-name>
Esta política de identidad permite a los usuarios autenticados en el grupo especificado gestionar (es decir, crear, actualizar y suprimir) funciones y aplicaciones en el compartimento con nombre, y también permite a esos usuarios llamar a funciones en el compartimento. Esta política suele cumplir los requisitos de los desarrolladores de funciones que desarrollan y prueban varias funciones en la organización.
Sin embargo, esta política de identidad podría ser demasiado permisiva para cumplir los requisitos de seguridad para controlar la llamada y la gestión de funciones en los entornos de producción. Por ejemplo, en un entorno de producción, puede que desee impedir que los usuarios llamen a funciones por completo, o bien restringir a los usuarios para que llamen solo a funciones de una aplicación específica o a una función concreta.
La especificación de una subred privada para una aplicación no impide el acceso desde Internet a los puntos finales de llamada de las funciones de la aplicación. Utilice políticas de identidad para controlar el acceso a los puntos finales de llamada de función, como se describe en este tema.
Para controlar las funciones a las que los usuarios de un grupo pueden llamar y gestionar, configure políticas de identidad:
-
Para controlar las funciones a las que un usuario puede llamar y gestionar, confirme que no están en un grupo al que se le ha otorgado el permiso
manage functions-family
. - Si desea permitir que los usuarios de un grupo puedan crear, actualizar y suprimir aplicaciones y funciones de un compartimento, pero no la capacidad de llamar a funciones, introduzca las siguientes sentencias de política:
Allow group <group-name> to manage fn-app in compartment <compartment-name>
Allow group <group-name> to manage fn-function in compartment <compartment-name>
-
Si desea permitir solo llamadas de funciones concretas o llamadas de funciones solo en aplicaciones concretas, incluya los OCID de función y aplicación adecuados en sentencias de política adecuadas. Por ejemplo:
- Para permitir que los usuarios puedan llamar a todas las funciones en una aplicación específica, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.app.id = '<application-OCID>'
- Para permitir que los usuarios puedan llamar a una función específica, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.function.id = '<function-OCID>'
- Para permitir que los usuarios puedan llamar a todas las funciones en todas las aplicaciones, excepto las funciones de una aplicación específica, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.app.id != '<application-OCID>'
- Para permitir que los usuarios puedan llamar a todas las funciones en un compartimento, excepto a una función específica, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where target.function.id != '<function-OCID>'
- Para permitir que los usuarios puedan llamar a dos funciones específicas, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where ANY {target.function.id='<function-OCID>', target.function.id='<function-OCID>'}
- Para permitir que los usuarios puedan llamar a una función específica y a todas las funciones en una aplicación específica, introduzca una sentencia de política con el siguiente formato:
Allow group <group-name> to use fn-invocation in compartment <compartment-name> where ANY {target.function.id='<function-OCID>', target.app.id='<application-OCID>'}
- Para permitir que los usuarios puedan llamar a todas las funciones en una aplicación específica, introduzca una sentencia de política con el siguiente formato:
-
Si desea permitir la llamada de funciones y las solicitudes de gestión solo desde direcciones IP particulares:
- Cree un origen de red para especificar las direcciones IP permitidas, si aún no existe un origen de red adecuado (consulte https://docs.oracle.com/iaas/Content/Identity/Tasks/managingnetworksources.htm).
-
Agregue una sentencia de política para activar solo las direcciones IP del origen de red para llamar o gestionar funciones. Por ejemplo:
-
Para permitir solo solicitudes de llamada de función desde direcciones IP definidas en un origen de red denominado
corpnet
, introduzca una sentencia de política con el siguiente formato:Allow group <group-name> to use fn-invocation in compartment <compartment-name> where request.networkSource.name='corpnet'
-
Para permitir solo solicitudes de gestión de funciones de direcciones IP definidas en un origen de red denominado
corpnet
, introduzca una sentencia de política con el siguiente formato:Allow group <group-name> to manage functions-family in compartment <compartment-name> where request.networkSource.name='corpnet'
-