Políticas de permisos y acciones admitidas
En este capítulo se describe la gestión detallada de permisos para su FunctionGraph. Si su cuenta no necesita usuarios individuales de Administración de Identidad y Acceso (IAM), puede omitir este capítulo.
De forma predeterminada, los nuevos usuarios de IAM no tienen ningún permiso asignado. Debe agregar un usuario a uno o más grupos y asignar políticas de permisos a estos grupos. A continuación, el usuario hereda los permisos de los grupos a los que pertenece. Este proceso se llama autorización. Después de la autorización, el usuario puede realizar operaciones especificadas en FunctionGraph en función de los permisos.
Puede conceder permisos a los usuarios mediante roles y políticas. Los roles son un tipo de mecanismo de autorización de grano grueso que define permisos relacionados con las responsabilidades del usuario. Las políticas definen permisos basados en API para operaciones en recursos específicos bajo ciertas condiciones, lo que permite un control de acceso más detallado y seguro de los recursos en la nube.
Se recomienda la autorización basada en políticas si desea permitir o denegar el acceso a una API.
Una cuenta en la nube tiene todos los permisos necesarios para llamar a todas las API, pero los usuarios de IAM deben tener los permisos requeridos específicamente asignados. Los permisos necesarios para llamar a una API están determinados por las acciones admitidas por la API. Solo los usuarios a los que se les han concedido permisos pueden llamar a la API correctamente.
Acciones admitidas
Hay dos tipos de políticas: las definidas por el sistema y las personalizadas. Si los permisos preestablecidos en el sistema no cumplen con sus requisitos, puede crear políticas personalizadas y aplicar estas políticas a grupos de usuarios para un control de acceso refinado. Las operaciones admitidas por las políticas son específicas de las API. Los siguientes son conceptos comunes relacionados con las políticas:
- Permisos: Definido por acciones en una política personalizada.
- APIs: APIs REST que pueden ser llamadas por un usuario al que se le han concedido permisos específicos.
- Acciones: Operaciones específicas que están permitidas o denegadas.
- Proyectos IAM y proyectos de empresa: Tipo de proyectos para los que una acción entrará en vigor. Las políticas que contienen acciones tanto para IAM como para proyectos empresariales pueden utilizarse y surtir efecto tanto para IAM como para Enterprise Management. Las políticas que solo contienen acciones para proyectos de IAM se pueden usar y solo tienen efecto para IAM. Para obtener más información sobre las diferencias entre IAM y proyectos empresariales, consulte ¿Cuáles son las diferencias entre IAM y Enterprise Management?
La marca de verificación (√) y el símbolo de cruz (x) indican respectivamente que una acción tiene efecto o no tiene efecto para el tipo correspondiente de proyectos.
Tabla 1 enumera las acciones de la API admitidas por FunctionGraph.
Permiso |
API |
Acción |
Proyectos de IAM |
Proyecto empresarial |
---|---|---|---|---|
Consultar una lista de funciones |
GET /v2/{project_id}/fgs/functions |
FunctionGraph:function:list |
√ |
√ |
Consultar los metadatos de una función |
GET /v2/{project_id}/fgs/functions/{function_urn}/config |
FunctionGraph:function:getConfig |
√ |
√ |
Consultar el código de una función |
GET /v2/{project_id}/fgs/functions/{function_urn}/code |
FunctionGraph:function:getCode |
√ |
√ |
Creación de una función |
POST /v2/{project_id}/fgs/functions |
FunctionGraph:function:create |
√ |
√ |
Eliminar una función o versión de función |
DELETE /v2/{project_id}/fgs/functions/{function_urn} |
FunctionGraph:function:delete |
√ |
√ |
Modificar el código de una función |
PUT /v2/{project_id}/fgs/functions/{function_urn}/code |
FunctionGraph:function:updateCode |
√ |
√ |
Modificar los metadatos de una función |
PUT /v2/{project_id}/fgs/functions/{function_urn}/config |
FunctionGraph:function:updateConfig |
√ |
√ |
Publicación de una versión de función |
POST /v2/{project_id}/fgs/functions/{function_urn}/versions |
FunctionGraph:function:createVersion |
√ |
√ |
Consultar las versiones de una función |
GET /v2/{project_id}/fgs/functions/{function_urn}/versions |
FunctionGraph:function:listVersion |
√ |
√ |
Crear un alias para una versión de función |
POST /v2/{project_id}/fgs/functions/{function_urn}/aliases |
FunctionGraph:function:createAlias |
√ |
√ |
Modificación de la información de alias sobre una versión de función |
PUT /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:updateAlias |
√ |
√ |
Eliminar un alias de una versión de función |
DELETE /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:deleteAlias |
√ |
√ |
Consultar la información de alias sobre una versión de función |
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:getAlias |
√ |
√ |
Consultar todos los alias de versión de una función |
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases |
FunctionGraph:function:listAlias |
√ |
√ |
Consultar todos los activadores de una función |
GET /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger: listSpecifiedFunctionTriggers |
√ |
√ |
Consultar la información acerca de un activador |
GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} |
FunctionGraph:trigger:get |
√ |
√ |
Eliminar todos los activadores de una función |
DELETE /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger: deleteSpecifiedFunctionTriggers |
√ |
√ |
Creación de un activador |
POST /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger:create |
√ |
√ |
Eliminación de un activador |
DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} |
FunctionGraph:trigger:delete |
√ |
√ |
Implementación de invocación de función síncrona |
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations |
FunctionGraph:function:invoke |
√ |
√ |
Implementación de invocación de función asincrónica |
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations-async |
FunctionGraph:function:invokeAsync |
√ |
√ |