Todos os produtos
Search
Central de documentação

Resource Management:Access control policy language

Última atualização: Jun 27, 2026

Uma política de controle de acesso consiste nos seguintes elementos: Effect, Action ou NotAction, Resource e Condition.

Elemento

Descrição

Effect

Define se a instrução resulta em permissão explícita ou negação explícita. Valores válidos:

  • Allow

  • Deny

Action ou NotAction

Uma ou mais operações de API a permitir ou negar. Especifique Action ou NotAction na política.

  • Action: as operações de API especificadas são permitidas ou negadas.

  • NotAction: todas as operações de API, exceto as especificadas, são permitidas ou negadas.

Resource

Um ou mais objetos aos quais a instrução se aplica.

Condition

Condições necessárias para a política entrar em vigor.

Effect

O elemento Effect define se uma política permite ou nega acesso. Esse elemento é obrigatório.

Os valores válidos para o elemento Effect são Allow e Deny.

Nota

Se uma política de permissões contiver Allow e Deny, Deny terá precedência.

Exemplo:

"Effect": "Allow"

Action/NotAction

Uma instrução de política deve incluir um elemento Action ou NotAction. Action especifica as operações permitidas ou negadas. NotAction indica as operações isentas da política.

Os valores válidos para o elemento Action/NotAction correspondem aos nomes das operações de API definidos pelo serviço de nuvem.

O formato do elemento Action/NotAction é <ram-code>:<action-name>.

O valor do elemento Action/NotAction geralmente não diferencia maiúsculas de minúsculas. No entanto, para garantir comportamento consistente, use exatamente o prefixo <ram-code> e o <action-name> conforme especificado na documentação de autorização do serviço de nuvem.

Exemplos:

  • Exemplo de Action

    "Action": [
      "oss:ListBuckets",
      "ecs:Describe*",
      "rds:Describe*"
    ]
  • Exemplo de NotAction

    O exemplo a seguir permite todas as operações, exceto as do RAM. A política lista apenas a operação excluída (ram:*), em vez de enumerar todas as permitidas, tornando a instrução mais concisa. Contudo, isso concede permissões amplas. Use essa abordagem com cautela e valide se a política se comporta conforme o esperado.

    {
    	"Effect": "Allow",
    	"NotAction": "ram:*",
    	"Resource": "*"
    }

Resource

O elemento Resource descreve um ou mais objetos aos quais a política se aplica. Esse elemento é usado em políticas baseadas em identidade e é obrigatório.

O valor do elemento Resource corresponde ao ARN (Aliyun Resource Name) de um recurso definido por um serviço de nuvem.

O formato do elemento Resource é acs:<ram-code>:<region>:<account-id>:<relative-id>. Use o ARN exato conforme especificado na documentação de autorização do serviço de nuvem.

O formato é descrito da seguinte maneira:

  • acs: abreviação de Alibaba Cloud service. Identifica que a solicitação tem como destino a plataforma de nuvem pública da Alibaba Cloud.

  • ram-code: código RAM do serviço de nuvem. Para obter mais informações, consulte a coluna RAM Code em Serviços da Alibaba Cloud compatíveis com RAM.

  • region: informações da região. Para recursos globais, acessíveis sem especificação de região, use um asterisco (*). Para obter mais informações, consulte Regiões e zonas de disponibilidade.

  • account-id: ID de uma conta da Alibaba Cloud. Por exemplo, 123456789012****.

  • relative-id: parte do ARN que descreve o recurso, com semântica definida pelo serviço de nuvem específico. Essa parte suporta uma estrutura hierárquica, semelhante a um caminho de arquivo. Por exemplo, para especificar um objeto do OSS, o formato é relative-id = "mybucket/dir1/object1.jpg".

Exemplo:

"Resource": [
  "acs:ecs:*:*:instance/inst-001",
  "acs:ecs:*:*:instance/inst-002",
  "acs:oss:*:*:mybucket",
  "acs:oss:*:*:mybucket/*"
]

Condition

O elemento Condition especifica os requisitos para a política entrar em vigor. Esse elemento é opcional.

O elemento Condition, também chamado de bloco de condições, consiste em uma ou mais cláusulas condicionais. Cada cláusula contém um operador de condição, uma chave de condição e um ou mais valores de condição.

条件块判断逻辑

Nota

Como o elemento Condition é opcional, o sistema não valida sua presença. Se você usar o elemento Condition para definir critérios, certifique-se de usar a grafia e o uso de maiúsculas/minúsculas corretos.

O nome (chave) de uma chave de condição diferencia maiúsculas de minúsculas. A sensibilidade a maiúsculas e minúsculas do valor da condição (valor) depende do operador de condição utilizado. Por exemplo, para uma chave de condição do tipo string, se você usar o operador StringEquals, ele comparará o valor na política com o valor na solicitação, diferenciando maiúsculas de minúsculas. Caso use o operador StringEqualsIgnoreCase, a comparação entre o valor da política e o da solicitação ignorará diferenças de caixa.

O elemento Condition apresenta as seguintes características:

  • Lógica de avaliação

    • A condição será atendida se o valor da chave na solicitação corresponder a qualquer um dos valores na política (OR lógico).

    • Se uma cláusula condicional contiver várias chaves de condição, todas deverão corresponder para que a cláusula seja atendida (AND lógico).

    • O bloco de condições inteiro só será atendido se todas as suas cláusulas forem satisfeitas (AND lógico).

  • Tipos de operadores de condição

    Os tipos de operadores de condição incluem String, Number, Data e hora, Boolean e endereço IP. Para obter os significados e exemplos dos operadores de condição, consulte Operadores de condição.

  • Chaves de condição

    • As chaves de condição globais da Alibaba Cloud usam o formato: acs:<condition-key>.

      Chave de condição global

      Tipo

      Descrição

      acs:CurrentTime

      Data e hora

      Momento em que o servidor web recebe a solicitação.

      Nota

      Use o horário UTC no formato padrão ISO 8601.

      Por exemplo, 20:00:00 de 10 de janeiro de 2023, no horário de Pequim (UTC+8), é representado como 2023-01-10T20:00:00+08:00 ou 2023-01-10T12:00:00Z.

      acs:SecureTransport

      Boolean

      Indica se a solicitação foi enviada por um canal seguro, como HTTPS.

      acs:SourceIp

      Endereço IP

      Endereço IP do cliente de onde a solicitação foi enviada.

      Nota

      O valor de acs:SourceIp pode ser um endereço IP específico ou um bloco CIDR. Não escreva um endereço IP específico no formato CIDR. Por exemplo, não escreva 10.0.0.1 como 10.0.0.1/32.

      acs:MFAPresent

      Boolean

      Indica se o usuário fez login com autenticação multifator (MFA).

      Nota

      Se a opção MFA for RAM user sign-in estiver definida como Required Only for Unusual Logon nas configurações de segurança do usuário RAM, a condição acs:MFAPresent torna-se ineficaz. Para obter mais informações, consulte Gerenciar as configurações de segurança de um usuário RAM.

      acs:PrincipalARN

      String

      Identidade do principal da solicitação. Pode ser usada apenas nas políticas de controle do Resource Directory e nas políticas de confiança de funções RAM. Por exemplo, acs:ram:::role/resourcedirectory.

      Nota

      Atualmente, apenas o ARN de uma função RAM é suportado, e deve estar em letras minúsculas. Você encontra o ARN de uma função RAM na página de detalhes dela no console RAM.

      acs:PrincipalRDId

      String

      ID do Resource Directory ao qual pertence a conta de nuvem do principal da solicitação, por exemplo, rd-AA****. Para visualizar um ID do Resource Directory, consulte Visualizar as informações básicas de um diretório de recursos.

      Pode ser usado apenas nas políticas de confiança de funções RAM e nas Bucket Policies do OSS.

      acs:PrincipalRDPath

      String

      Caminho da conta de nuvem do principal da solicitação no Resource Directory. O formato geralmente é <RD-Id>/<Root-folder-Id>/<Sub-folder-Id>/<Member-account-Id>, por exemplo, rd-AA**/r-aQ/fd-caiJfl/199386846043**. Para saber como visualizar o RDPath completo de uma conta membro, consulte Visualizar as informações de um membro.

      Para corresponder a todas as contas membro sob um RDPath especificado, use o caractere curinga com o operador de condição StringLike. Por exemplo, "Condition": {"StringLike": {"acs:PrincipalRDPath": ["<RD-Id>/<Root-folder-Id>/<Sub-folder-Id>"]}}.

      Pode ser usado apenas nas políticas de confiança de funções RAM e nas Bucket Policies do OSS.

      acs:RequestTag/<tag-key>

      String

      Tags incluídas na solicitação. Substitua <tag-key> pela sua chave de tag real. Para serviços de nuvem e tipos de recursos compatíveis, consulte as informações de Authentication by Resource Type em Serviços da Alibaba Cloud compatíveis com tags.

      acs:ResourceTag/<tag-key>

      String

      Tags anexadas ao recurso solicitado. Substitua <tag-key> pela sua chave de tag real. Para serviços de nuvem e tipos de recursos compatíveis, consulte as informações de Authentication by Resource Type em Serviços da Alibaba Cloud compatíveis com tags.

    • As chaves de condição específicas de serviço usam o formato: <ram-code>:<condition-key>.

      Por exemplo, a chave de condição do OSS oss:Delimiter é usada em solicitações ListObjects para agrupar nomes de objetos por caractere.

      Para consultar as chaves de condição específicas de cada serviço de nuvem, verifique a documentação de autorização desse serviço.

  • Exemplos de condições

    Cláusulas de condição (como IpAddress e Bool) dentro de um único bloco Condition são avaliadas com um AND lógico. Para criar um OR lógico, coloque cada condição em uma instrução de política separada.

    Exemplo 1: permitir que um usuário RAM acesse instâncias ECS somente se tiver ativado o MFA e estiver fazendo a solicitação a partir do endereço IP 203.0.113.2.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ecs:*",
          "Resource": "*",
          "Condition": {
            "IpAddress": {
              "acs:SourceIp": [
                "203.0.113.2"
              ]
            },
            "Bool": {
              "acs:MFAPresent": [
                "true"
              ]
            }
          }
        }
      ]
    }

    Exemplo 2: permitir que um usuário RAM acesse instâncias ECS se tiver ativado o MFA ou estiver fazendo a solicitação a partir do endereço IP 203.0.113.2.

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "IpAddress": {
                        "acs:SourceIp": [
                            "203.0.113.2"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "Bool": {
                        "acs:MFAPresent": [
                            "true"
                        ]
                    }
                }
            }
        ]
    }

Referências