Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-16 GMT+08:00

Criação de uma política personalizada

Políticas personalizadas podem ser criadas como um complemento às políticas do sistema do FunctionGraph.

Você pode criar políticas personalizadas de uma das seguintes maneiras:

  • Editor visual: Selecione serviços de nuvem, ações, recursos e condições de solicitação. Isso não requer conhecimento de sintaxe política.
  • JSON: Edite políticas JSON do zero ou com base em uma política existente.

Para obter detalhes, consulte Criação de uma política personalizada. Esta seção apresenta exemplos de políticas personalizadas comuns do FunctionGraph.

Exemplo de Políticas Personalizadas

  • Exemplo 1: Autorizando um usuário a consultar código de função e configuração
    {     
        "Version": "1.1",     
        "Statement": [         
            {             
                "Effect": "Allow",            
                "Action": [
                   "functiongraph:function:list",
                   "functiongraph:function:getConfig",
                   "funcitongraph:function:getCode"             
                ]        
             }     
        ] 
    }
  • Exemplo 2: Negação da exclusão de função

    Uma política com apenas permissões "Negar" deve ser usada em conjunto com outras políticas para entrar em vigor. Se as permissões "Permitir" e "Negar" forem atribuídas a um usuário, as permissões "Negar" terão precedência sobre as permissões "Permitir".

    Se você precisar atribuir permissões da política FunctionGraph FullAccess a um usuário, mas impedir que ele exclua funções, crie uma política personalizada para negar exclusão de função e anexe ambas ao grupo ao qual o usuário pertence. Desta forma, o usuário pode executar todas as operações no FunctionGraph, exceto a exclusão de funções. O seguinte é um exemplo de uma política de negação:

    {
        "Version": "1.1",
        "Statement": [
            "Effect": "Deny",
            "Action": [
                "functiongraph:function:delete" 
            ] 
        ]
    }
  • Exemplo 3: Configuração das permissões para recursos específicos

    Você pode conceder permissões de usuário do IAM para recursos específicos. Por exemplo, para conceder permissões a um usuário para a função functionname no aplicativo Default, defina functionname para um caminho de recurso especificado, ou seja, FUNCTIONGRAPH:*:*:function:Default/functionname.

    Especifique os recursos da função:

    Formato: FUNCTIONGRAPH:*:*:function: application or function name

    Para recursos de função, o IAM gera automaticamente o prefixo de caminho de recurso FUNCTIONGRAPH:*:*:function:. Você pode especificar um caminho de recurso adicionando o nome do aplicativo ou da função ao lado do prefixo do caminho. Wildcards (*) são suportados. Por exemplo, FUNCTIONGRAPH:*:*:function:Default/* indica qualquer função na aplicação 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/*"
                ]
            }
        ]
    }