Todos os produtos
Search
Central de documentação

Resource Access Management:Create a custom policy

Última atualização: Oct 21, 2026

Crie uma política personalizada para implementar o gerenciamento granular de permissões.

Métodos de criação

  • Using the visual editor

    O RAM oferece um editor visual WYSIWYG. Gere uma política personalizada selecionando um efeito, service, ação, recurso e condição. Um recurso integrado de validação inteligente ajuda a garantir que sua política seja válida e eficaz. Este método é direto e simples.

  • Using the script editor

    O RAM disponibiliza um editor de scripts JSON. Escreva a política personalizada seguindo a sintaxe e a estrutura de políticas. Esta opção oferece maior flexibilidade e é ideal se você já conhece a sintaxe de políticas.

  • By importing a policy

    • Importar um modelo de política: o RAM fornece modelos de política para cenários comuns, como administradores de sistema, equipe financeira e administradores de rede. Importe um modelo adequado e faça pequenos ajustes para criar rapidamente uma política personalizada.

    • Importar uma política de sistema: importe uma política de sistema e modifique-a conforme as necessidades do seu negócio. Essa é uma maneira prática e rápida de criar uma política personalizada a partir de um modelo padronizado.

Uso do editor visual

  1. Faça logon no RAM console como administrador do RAM.

  2. No painel de navegação à esquerda, escolha Permissions > Policies.

  3. Na página Policies, clique em Create Policy.

  4. Na página Create Policy, clique na aba Visual Editor.

    O editor visual exibe um formulário de declaração com os seguintes campos: Effect (obrigatório, pode ser definido como Allow ou Deny, padrão: Allow), Service (obrigatório), Action (obrigatório), Resource (obrigatório) e Condition (opcional). Selecione um service antes de configurar Action, Resource e Condition. Na parte inferior da página, clique em Add Statement para adicionar mais declarações.

  5. Configure a política.

    Para saber mais sobre os elementos básicos de uma política, consulte Permission policy elements.

    1. Na seção Effect, selecione Allow ou Deny.

    2. Na seção Service, selecione um service.

      Nota

      O console exibe os services compatíveis com o editor visual.

    3. Na seção Action, selecione All action(s) ou Select action(s).

      O sistema lista automaticamente as ações disponíveis com base no service selecionado na etapa anterior. Se você escolher Select action(s), será necessário selecionar as ações específicas em seguida.

    4. Na seção Resources, selecione All Resources ou Specified resource(s).

      O sistema lista automaticamente os tipos de recursos disponíveis com base nas ações selecionadas. Caso selecione Specified resource(s), clique em Add Resource para especificar os ARNs. Utilize o recurso Match All para selecionar rapidamente todos os recursos de um item de configuração.

      Nota

      A interface marca os ARNs das ações associadas como Required. Especifique esses ARNs para garantir o funcionamento correto da política.

    5. Na seção Condition, clique em Add Condition para configurar condições.

      As condições incluem condições comuns da Alibaba Cloud e condições específicas de cada service. O sistema lista automaticamente as condições disponíveis com base no service e nas ações configuradas. Basta selecionar uma chave de condição e definir seu valor.

    6. Clique em Add Statement e repita as etapas anteriores para configurar várias declarações.

  6. No topo da página, clique em Optimize e, em seguida, clique em Perform para aplicar otimizações avançadas à política.

    O recurso de otimização avançada de políticas executa as seguintes tarefas:

    • Divide recursos ou condições para ações incompatíveis.

    • Restringe o escopo dos recursos.

    • Remove declarações duplicadas ou mescla declarações.

  7. Na página Create Policy, clique em OK.

  8. Na caixa de diálogo Create Policy, insira um Policy Name e uma Description e clique em OK.

Uso do editor de scripts

  1. Faça logon no RAM console como administrador do RAM.

  2. No painel de navegação à esquerda, escolha Permissions > Policies.

  3. Na página Policies, clique em Create Policy.

  4. Na página Create Policy, clique na aba JSON Editor.

    A página exibe um editor JSON. O modelo de política padrão inclui um elemento Version (definido como "1") e um array Statement. Cada declaração contém os elementos Effect (padrão: "Allow"), Action, Resource e Condition. Preencha obrigatoriamente os elementos Action e Resource.

  5. Insira o conteúdo da política.

    Para saber mais sobre a sintaxe e a estrutura de políticas, consulte Policy structure and syntax.

  6. No topo da página, clique em Optimize e, em seguida, clique em Perform para aplicar otimizações avançadas à política.

    O recurso de otimização avançada de políticas executa as seguintes tarefas:

    • Divide recursos ou condições para ações incompatíveis.

    • Restringe o escopo dos recursos.

    • Remove declarações duplicadas ou mescla declarações.

  7. Na página Create Policy, clique em OK.

  8. Na caixa de diálogo Create Policy, insira um Policy Name e uma Description e clique em OK.

Exemplos comuns de políticas personalizadas

Os exemplos a seguir mostram cenários comuns e o JSON correspondente para configurar políticas personalizadas no modo JSON Editor, ajudando você a escrever políticas com agilidade.

Cenário 1: Conceder permissões de gerenciamento de usuários do RAM (nível de conta)

As APIs de gerenciamento de usuários do RAM (como ram:CreateUser, ram:CreateAccessKey e ram:ListUsers) são operações no nível da conta. O elemento Resource deve ser definido como "*" e, ao conceder a permissão, defina o escopo de autorização como Entire Alibaba Cloud Account. Não é possível restringir essas operações a um grupo de recursos.

Exemplo de política: permite criar usuários do RAM e AccessKeys.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:CreateUser",
        "ram:CreateAccessKey",
        "ram:ListUsers"
      ],
      "Resource": ["*"]
    }
  ]
}
Importante

Se você definir o escopo de autorização desta política para um grupo de recursos específico, a política não entrará em vigor. As operações de gerenciamento de usuários do RAM suportam apenas o escopo de autorização Entire Alibaba Cloud Account.

Cenário 2: Permitir que usuários do RAM alterem apenas suas próprias senhas

Para permitir que um usuário do RAM altere apenas sua própria senha de logon, conceda a permissão ram:ChangePassword. Não conceda AliyunRAMFullAccess (permissões de acesso total ao RAM), pois permissões excessivas representam riscos de segurança.

Exemplo de política: permite alterar apenas a própria senha.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ram:ChangePassword"
      ],
      "Resource": ["*"]
    }
  ]
}

Cenário 3: Conceder acesso somente leitura a um recurso específico (usando uma instância ECS como exemplo)

Para permitir que um usuário do RAM visualize apenas uma instância ECS específica, especifique o ARN da instância no elemento Resource. O formato do ARN é acs:ecs:{region}:{account-id}:instance/{instance-id}. Observe que instance deve ser seguido por uma barra /.

Exemplo de política: permite visualizar apenas a instância ECS especificada.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:DescribeInstances",
        "ecs:DescribeInstanceAttribute",
        "ecs:DescribeInstanceStatus"
      ],
      "Resource": [
        "acs:ecs:*:*:instance/i-bp1xxxxxxxxxxxxxxxxx"
      ]
    }
  ]
}
Nota

Substitua i-bp1xxxxxxxxxxxxxxxxx pelo ID real da instância ECS. Para conceder acesso a várias instâncias, adicione múltiplos ARNs ao array Resource, separados por vírgulas.

Cenário 4: Autorização granular para Simple Log Service (SLS)

Operações de consulta no Simple Log Service exigem ARNs nos níveis de projeto e Logstore. Se chamadas via SDK ainda retornarem erros de permissão negada, adicione as permissões log:GetProject e log:GetLogStore.

Exemplo de política: permite consultar dados de log de um Logstore específico.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "log:GetLogStoreLogs",
        "log:CreateStoreView",
        "log:GetProject",
        "log:GetLogStore"
      ],
      "Resource": [
        "acs:log:*:*:project/exampleproject",
        "acs:log:*:*:project/exampleproject/logstore/examplelogstore"
      ]
    }
  ]
}
Nota

Substitua exampleproject e examplelogstore pelos nomes reais do projeto e do Logstore.

Cenário 5: Configurar ações específicas não suportadas no editor visual

Ações de alguns products não podem ser selecionadas no modo Visual Editor e devem ser configuradas manualmente no modo JSON Editor. Ações comuns desse tipo incluem:

Product

Action

Description

Server Guard (Security Center)

yundun-sc:DescribeCdnIpList

Consulta a lista de IPs do CDN

Milvus

CreateConnection, DbmConnect, entre outros

Permissões necessárias para fazer logon no console do Milvus

Cenário 6: Permissões mínimas para implantação de ECS

A criação de uma instância ECS envolve uma combinação de ações em vários services. A política de menor privilégio deve incluir tanto permissões de operação de instância quanto permissões de consulta para redes e grupos de segurança.

Exemplo de política: permissões mínimas necessárias para criar e implantar uma instância ECS.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecs:RunInstances",
        "ecs:DescribeInstances",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches",
        "ecs:DescribeSecurityGroups"
      ],
      "Resource": ["*"]
    }
  ]
}

Descrição das ações: ecs:RunInstances (cria e inicia uma instância), ecs:DescribeInstances (consulta informações da instância), vpc:DescribeVpcs e vpc:DescribeVSwitches (permitem selecionar a VPC e o vSwitch durante a criação da instância), ecs:DescribeSecurityGroups (seleciona o grupo de segurança).

Cenário 7: Permissões mínimas para configuração de rede VPC

A política de permissão mínima necessária para criar uma Virtual Private Cloud (VPC) e um vSwitch é apresentada abaixo.

Exemplo de política: permissões mínimas necessárias para criar uma VPC e um vSwitch.


{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "vpc:CreateVpc",
        "vpc:CreateVSwitch",
        "vpc:CreateSecurityGroup",
        "vpc:DescribeVpcs",
        "vpc:DescribeVSwitches"
      ],
      "Resource": ["*"]
    }
  ]
}

Descrição das ações: vpc:CreateVpc (cria uma VPC), vpc:CreateVSwitch (cria um vSwitch), vpc:CreateSecurityGroup (cria um grupo de segurança), vpc:DescribeVpcs e vpc:DescribeVSwitches (consultam recursos de rede existentes).

Solucionar erros de permissão negada

Quando um usuário do RAM chama uma API e recebe um erro AccessForbidden, ou quando o console exibe uma mensagem de permissão negada, siga os passos abaixo para solucionar o problema:

  1. Use a ferramenta de solução de problemas de API para localizar as permissões ausentes

    Insira o RequestID retornado com o erro na ferramenta de solução de problemas de API da Alibaba Cloud. A ferramenta exibirá a AuthAction específica que está faltando, permitindo que você adicione as permissões necessárias conforme indicado.

  2. Verifique se o escopo de autorização corresponde

    Para operações no nível da conta (como ram:CreateUser), o escopo de autorização deve ser Entire Alibaba Cloud Account. Para APIs compatíveis com grupos de recursos, garanta que a política seja concedida ao grupo de recursos correto ou à Entire Alibaba Cloud Account. Se o escopo de autorização não corresponder à definição de Resource na política, as permissões não entrarão em vigor.

  3. Verifique permissões de dependência implícitas

    Além da ação principal, algumas operações exigem permissões básicas associadas, como Describe, List ou Connect, para funcionar corretamente. Por exemplo:

    • Simple Log Service (SLS): além de log:GetLogStoreLogs para consultar logs, você também precisa das permissões log:GetProject e log:GetLogStore.

    • Milvus: além das permissões de operação principal para fazer logon no console, você também precisa de permissões de conexão, como CreateConnection e DbmConnect.

    Recomendamos consultar a documentação de autorização do RAM do service correspondente da Alibaba Cloud para adicionar as permissões necessárias.

Otimizar uma política muito grande

O conteúdo JSON de uma política personalizada não pode exceder 6.144 bytes. Quando esse limite é ultrapassado, a operação CreatePolicy retorna um erro InvalidParameter.PolicyDocument.Length (com a mensagem "The policy document size is limited to 6144 bytes"). Use os métodos a seguir para reduzir o tamanho da política.

Dividir uma política por função

Divida uma política grande que abrange múltiplas funções em políticas separadas e anexe cada uma a um usuário ou grupo de usuários do RAM diferente. Por exemplo, divida operações de leitura e gravação em duas políticas:

  • Política somente leitura: {"Action": ["oss:Get*", "oss:List*"]}

  • Política de gravação: {"Action": ["oss:Put*", "oss:Delete*"]}

Dividir uma política por recurso

Divida as políticas por recurso. Por exemplo, separe as permissões de diferentes buckets do OSS em políticas distintas, de modo que cada política conceda permissões apenas para um bucket específico. Isso evita que uma única política gerencie muitos recursos.

Notas de uso

  • Ao configurar uma política no editor visual, evite selecionar todas as ações. Selecione primeiro o conjunto de ações com menor privilégio.

  • Após dividir uma política, conceda cada política resultante aos usuários ou grupos de usuários do RAM separadamente, o que aumenta a complexidade do gerenciamento.

  • Caracteres curinga podem causar autorização excessiva. Revise cuidadosamente o escopo de permissões antes de usá-los.

  • Uma política entra em vigor imediatamente após ser concedida. Não é necessário aguardar.

Importando uma política

  1. Faça logon no RAM console como administrador do RAM.

  2. No painel de navegação à esquerda, escolha Permissions > Policies.

  3. Na página Policies, clique em Create Policy.

  4. Na página Create Policy, clique em Import Policy.

  5. Na caixa de diálogo Import Policy, na lista suspensa no canto superior direito, selecione um modelo de política ou System Policy e importe a política.

    1. Selecione um modelo de política ou uma política de sistema.

    2. Para alguns modelos de política, configure os parâmetros de acordo com os requisitos do seu negócio.

    3. Escolha uma regra de substituição para a política importada.

      Por padrão, o conteúdo da nova política importada substitui completamente o conteúdo existente. Você também pode selecionar Do NOT overwrite but append new statements. para anexar o novo conteúdo da política importada ao final do conteúdo existente.

    4. Clique em Import.

  6. No editor visual ou no editor de scripts, visualize e modifique o conteúdo da política importada.

  7. No topo da página, clique em Optimize e, em seguida, clique em Perform para aplicar otimizações avançadas à política.

    O recurso de otimização avançada de políticas executa as seguintes tarefas:

    • Divide recursos ou condições para ações incompatíveis.

    • Restringe o escopo dos recursos.

    • Remove declarações duplicadas ou mescla declarações.

  8. Na página Create Policy, clique em OK.

  9. Na caixa de diálogo Create Policy, insira um Policy Name e uma Description e clique em OK.

Perguntas frequentes

Por que não encontro certas permissões no editor visual ou por que falha o salvamento de uma política?

Esse problema pode ocorrer pelos seguintes motivos:

  • Algumas ações não estão atualizadas na lista visual: APIs recém-lançadas ou de baixo nível podem ainda não estar sincronizadas com a lista de ações no modo Visual Editor, ou um caractere curinga (como swas-open:*) pode apresentar conflitos de análise sob restrições específicas de recursos. Recomendamos alternar para o modo JSON Editor e inserir a ação manualmente.

  • O nome da ação está incorreto: alguns nomes de ações de API têm diferenças entre singular e plural (por exemplo, a operação ECS para reinicializar um disco é ecs:ReInitDisks e não ecs:ReInitDisk). Verifique o nome exato da ação na documentação da API do service correspondente da Alibaba Cloud.

  • A política de sistema não está sincronizada: se você não encontrar uma política de sistema específica (como AliyunAccountCenterFullAccess), visualize o conteúdo JSON oficial dessa política de sistema e crie uma política personalizada com o mesmo efeito no modo JSON Editor.

  • Falha na validação do formato JSON: verifique se a sintaxe JSON está correta. Preste atenção especial aos seguintes erros comuns:

    • Resource não pode ser definido mais de uma vez. Para especificar vários recursos, liste-os em um único array, separados por vírgulas.

    • O formato do ARN deve seguir o seguinte padrão: acs:<service>:<region>:<account-id>:<resource-type>/<resource-id>.

Por que não consigo acessar o console ou realizar operações após conceder FullAccess ou uma política personalizada?

Esse problema pode ocorrer pelos seguintes motivos:

  • O acesso ao console exige permissões básicas adicionais: além das permissões de negócio, alguns consoles de products (como services de valor agregado de registro ICP) também exigem permissões básicas de acesso ao console, como PowerUserAccess. Uma política FullAccess específica de negócio sozinha pode não ser suficiente para carregar a página do console. Consulte a documentação do product para confirmar a combinação completa de permissões necessárias para acessar o console.

  • O escopo de autorização não corresponde ao Resource na política: o escopo de autorização selecionado ao conceder a permissão (Entire Alibaba Cloud Account ou um grupo de recursos específico) deve ser consistente com a definição de Resource na política. Por exemplo, operações no nível de instância, como as do OceanBase, exigem que o escopo de autorização seja Entire Alibaba Cloud Account, com o ARN da instância específica definido na política.

  • Conflito de políticas ou substituição por Deny: verifique se uma declaração Deny está substituindo um Allow, ou se existe um conflito entre suas políticas personalizadas e as políticas de sistema. A lógica de avaliação de políticas do RAM é: Deny explícito > Allow > Deny padrão. Para cenários complexos (como acesso à rede pública MQTT), se uma política personalizada não entrar em vigor, recomendamos usar primeiro a política de sistema oficialmente recomendada (como AliyunMQFullAccess) para verificar a conectividade e, em seguida, refinar as permissões passo a passo.