Políticas de permissões e ações suportadas
Este capítulo descreve o gerenciamento refinado de permissões para seu FunctionGraph. Se sua conta não precisar de usuários individuais do Identity and Access Management (IAM), você poderá pular este capítulo.
Por padrão, os novos usuários de IAM não têm nenhuma permissão atribuída. Você precisa adicionar um usuário a um ou mais grupos e atribuir políticas de permissões a esses grupos. O usuário então herda permissões dos grupos dos quais é membro. Esse processo é chamado de autorização. Após a autorização, o usuário pode executar operações especificadas no FunctionGraph com base nas permissões.
Você pode conceder permissões aos usuários usando funções e políticas. As funções são um tipo de mecanismo de autorização grosseiro que define permissões relacionadas às responsabilidades do usuário. As políticas definem permissões baseadas em API para operações em recursos específicos sob determinadas condições, permitindo um controle de acesso mais refinado e seguro dos recursos da nuvem.
A autorização baseada em políticas é recomendada se você quiser permitir ou negar o acesso a uma API.
Uma conta de nuvem tem todas as permissões necessárias para chamar todas as API, mas os usuários do IAM devem ter as permissões necessárias especificamente atribuídas. As permissões necessárias para chamar uma API são determinadas pelas ações suportadas pela API. Somente os usuários que receberam permissões podem chamar a API com êxito.
Ações suportadas
Existem dois tipos de políticas: políticas definidas pelo sistema e políticas personalizadas. Se as permissões predefinidas no sistema não atenderem aos seus requisitos, você poderá criar políticas personalizadas e aplicá-las a grupos de usuários para controle de acesso refinado. As operações suportadas pelas políticas são específicas das API. Seguem-se conceitos comuns relacionados com as políticas:
- Permissões: Definido por ações em uma política personalizada.
- As API: As API REST que podem ser chamadas por um usuário que recebeu permissões específicas.
- Ações: Operações específicas que são permitidas ou negadas.
- Projetos IAM e projetos corporativos: Tipo de projetos para os quais uma ação será efetivada. As políticas que contêm ações para projetos do IAM e corporativos podem ser usadas e entrar em vigor para o IAM e o Enterprise Management. As políticas que contêm apenas ações para projetos do IAM podem ser usadas e só entram em vigor para o IAM. Para obter detalhes sobre as diferenças entre o IAM e os projetos corporativos, consulte Quais são as diferenças entre o IAM e o Enterprise Management
A marca de seleção (√) e o símbolo da cruz (x), respectivamente, indicam que uma ação tem efeito ou não para o tipo de projeto correspondente.
Tabela 1 lista as ações da API suportadas pelo FunctionGraph.
Permissão |
API |
Ação |
Projeto de IAM |
Projeto corporativo |
---|---|---|---|---|
Consulta de uma lista de funções |
GET /v2/{project_id}/fgs/functions |
FunctionGraph:function:list |
√ |
√ |
Consulta dos metadados de uma função |
GET /v2/{project_id}/fgs/functions/{function_urn}/config |
FunctionGraph:function:getConfig |
√ |
√ |
Consulta do código de uma função |
GET /v2/{project_id}/fgs/functions/{function_urn}/code |
FunctionGraph:function:getCode |
√ |
√ |
Criação de uma função |
POST /v2/{project_id}/fgs/functions |
FunctionGraph:function:create |
√ |
√ |
Exclusão de uma função ou uma versão de função |
DELETE /v2/{project_id}/fgs/functions/{function_urn} |
FunctionGraph:function:delete |
√ |
√ |
Modificação do código de uma função |
PUT /v2/{project_id}/fgs/functions/{function_urn}/code |
FunctionGraph:function:updateCode |
√ |
√ |
Modificação dos metadados de uma função |
PUT /v2/{project_id}/fgs/functions/{function_urn}/config |
FunctionGraph:function:updateConfig |
√ |
√ |
Publicação de uma versão de função |
POST /v2/{project_id}/fgs/functions/{function_urn}/versions |
FunctionGraph:function:createVersion |
√ |
√ |
Consulta das versões de uma função |
GET /v2/{project_id}/fgs/functions/{function_urn}/versions |
FunctionGraph:function:listVersion |
√ |
√ |
Criação de um alias para uma versão de função |
POST /v2/{project_id}/fgs/functions/{function_urn}/aliases |
FunctionGraph:function:createAlias |
√ |
√ |
Modificação das informações de alias sobre uma versão de função |
PUT /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:updateAlias |
√ |
√ |
Exclusão de um alias de uma versão de função |
DELETE /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:deleteAlias |
√ |
√ |
Consulta de as informações de alias sobre uma versão de função |
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases/{alias_name} |
FunctionGraph:function:getAlias |
√ |
√ |
Consulta de todos os aliases de versão de uma função |
GET /v2/{project_id}/fgs/functions/{function_urn}/aliases |
FunctionGraph:function:listAlias |
√ |
√ |
Consulta de todos os gatilhos de uma função |
GET /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger: listSpecifiedFunctionTriggers |
√ |
√ |
Consulta das informações sobre um gatilho |
GET /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} |
FunctionGraph:trigger:get |
√ |
√ |
Exclusão de todos os gatilhos de uma função |
DELETE /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger: deleteSpecifiedFunctionTriggers |
√ |
√ |
Criação de um gatilho |
POST /v2/{project_id}/fgs/triggers/{function_urn} |
FunctionGraph:trigger:create |
√ |
√ |
Exclusão de um gatilho |
DELETE /v2/{project_id}/fgs/triggers/{function_urn}/{trigger_type_code}/{trigger_id} |
FunctionGraph:trigger:delete |
√ |
√ |
Implementação de invocação síncrona de função |
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations |
FunctionGraph:function:invoke |
√ |
√ |
Implementação de invocação assíncrona de função |
POST /v2/{project_id}/fgs/functions/{function_urn}/invocations-async |
FunctionGraph:function:invokeAsync |
√ |
√ |