Cómo crear una política personalizada
Las políticas personalizadas se pueden crear como un suplemento a las políticas del sistema de FunctionGraph.
Puede crear políticas personalizadas de cualquiera de las siguientes maneras:
- Visual editor: Seleccione servicios en la nube, acciones, recursos y condiciones de solicitud. Esto no requiere conocimiento de la sintaxis de políticas.
- JSON: Edite las políticas JSON desde cero o basándose en una política existente.
Para obtener más información, consulte Creación de una política personalizada. En esta sección se presentan los ejemplos de políticas personalizadas comunes de FunctionGraph.
Ejemplo de políticas personalizadas
- Ejemplo 1: Autorizar a un usuario a consultar el código de función y la configuración
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "functiongraph:function:list", "functiongraph:function:getConfig", "funcitongraph:function:getCode" ] } ] }
- Ejemplo 2: Denegar la eliminación de funciones
Una política con solo los permisos "Denegar" debe usarse junto con otras políticas para que surtan efecto. Si ambos permisos "Permitir" y "Denegar" se asignan a un usuario, los permisos "Denegar" tienen prioridad sobre los permisos "Permitir".
Si necesita asignar permisos de la política FunctionGraph FullAccess a un usuario pero evitar que el usuario elimine funciones, cree una política personalizada para denegar la eliminación de funciones y adjunte ambas políticas al grupo al que pertenece el usuario. De esta manera, el usuario puede realizar todas las operaciones de FunctionGraph excepto la eliminación de funciones. A continuación se muestra un ejemplo de una política de denegación:
{ "Version": "1.1", "Statement": [ "Effect": "Deny", "Action": [ "functiongraph:function:delete" ] ] }
- Ejemplo 3: Configuración de permisos para recursos específicos
Puede conceder permisos de usuario de IAM para recursos específicos. Por ejemplo, para conceder permisos de usuario para la función functionname en la aplicación Default, establezca functionname en una ruta de recurso especificada que es: FUNCTIONGRAPH:*:*:function:Default/functionname.
Especificar recursos de función:
Formato: FUNCTIONGRAPH:*:*:function: application or function name
Para los recursos de función, IAM genera automáticamente el prefijo de ruta de recursos FUNCTIONGRAPH:*:*:function: Puede especificar una ruta de recurso agregando el nombre de la aplicación o función junto al prefijo de ruta de acceso. Se admiten comodines Wildcards (*). Por ejemplo, FUNCTIONGRAPH:*:*:function:Default/* indica cualquier función en la aplicación Default.
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "functiongraph:function:list" ] }, { "Effect": "Allow", "Action": [ "functiongraph:function:listAlias", "functiongraph:function:listVersion", "functiongraph:function:getConfig", "functiongraph:function:getCode", "functiongraph:function:updateCode", "functiongraph:function:invoke", "functiongraph:function:updateConfig", "functiongraph:function:createVersion", "functiongraph:function:updateAlias", "functiongraph:function:createAlias" ], "Resource": [ "FUNCTIONGRAPH:*:*:function:Default/*" ] } ] }