Todos os produtos
Search
Central de documentação

Resource Access Management:Elementos básicos de uma política de permissões

Última atualização: Jun 26, 2026

No RAM, a política de permissões define as permissões. Essa política consiste em elementos básicos, incluindo Effect, Action/NotAction, Resource, Condition e Principal.

Parâmetro

Descrição

Effect

O efeito da autorização. Valores válidos:

  • Allow: Concede a permissão.

  • Deny: Revoga a permissão.

Action/NotAction

A operação em um recurso. Em uma instrução, especifique Action ou NotAction.

  • Action: As operações específicas permitidas ou negadas.

  • NotAction: As exceções às operações especificadas. Todas as operações, exceto as listadas em NotAction, são permitidas ou negadas.

Resource

O objeto ou objetos abrangidos pela instrução.

Condition

As condições necessárias para que a política entre em vigor.

Principal

A entidade com acesso permitido ou negado a um recurso. Este elemento é usado apenas em políticas baseadas em recursos, como uma política de confiança de função do RAM.

Effect

O elemento obrigatório Effect define se uma instrução permite ou nega o acesso.

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

Nota

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

Exemplo:

"Effect": "Allow"

Action/NotAction

O elemento Action especifica as operações a permitir ou negar. O elemento NotAction indica as operações excluídas do efeito Allow ou Deny. Uma instrução deve incluir um elemento Action ou NotAction.

O valor corresponde ao nome de uma operação de API de um serviço da Alibaba Cloud.

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

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

  • action-name: O nome da operação de API.

Os valores em Action e NotAction geralmente não diferenciam maiúsculas de minúsculas. No entanto, para garantir comportamento consistente, utilize o prefixo exato do serviço <ram-code> e o nome da ação <action-name> conforme especificado na documentação de cada serviço da Alibaba Cloud.

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. Usar NotAction para listar apenas a ação excluída (ram:*) torna a instrução mais curta do que listar todas as ações permitidas. Contudo, essa abordagem pode conceder permissões amplas; portanto, use NotAction com cautela.

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

Resource

O elemento obrigatório Resource especifica um ou mais objetos afetados pela instrução e é utilizado em políticas baseadas em identidade.

O valor é um ARN de recurso (Aliyun Resource Name) de um serviço da Alibaba Cloud.

O formato de um ARN de recurso é acs:<ram-code>:<region>:<account-id>:<relative-id>. Utilize o ARN de recurso exato conforme especificado na documentação de autorização de cada serviço da Alibaba Cloud.

A tabela a seguir descreve o formato.

  • acs: Abreviação de Alibaba Cloud Service, indicando a plataforma de nuvem pública da Alibaba Cloud.

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

  • region: A região. Para recursos globais, acessíveis sem a necessidade de especificar uma região, utilize um asterisco (*) neste campo. Para mais informações, consulte Regiões e zonas de disponibilidade.

  • account-id: O ID de uma conta da Alibaba Cloud. Exemplo: 123456789012****.

  • relative-id: A parte da descrição do recurso relacionada ao serviço. Sua semântica é definida pelo serviço de nuvem específico. O formato desta parte suporta uma estrutura semelhante a uma árvore (similar a um caminho de arquivo). Por exemplo, o formato para um objeto do OSS é: 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 opcional Condition especifica as condições necessárias para que uma política entre em vigor.

O elemento Condition também é conhecido como bloco de condição. Ele consiste em uma ou mais cláusulas de condição. Uma cláusula de condição é composta por um operador de condição, uma chave de condição e um valor de condição.

Lógica de avaliação do bloco de condição

Nota

O sistema não valida o elemento Condition porque ele é opcional. Se você incluir condições, certifique-se de que a ortografia e o uso de maiúsculas e minúsculas estejam corretos.

O nome (chave) de uma chave de condição diferencia estritamente maiúsculas de minúsculas. A sensibilidade a maiúsculas e minúsculas de um valor de condição (valor) depende do operador de condição utilizado. Por exemplo, para uma chave de condição do tipo string, o operador StringEquals realiza uma correspondência que diferencia maiúsculas de minúsculas entre o valor na política e o valor na solicitação. Já o operador StringEqualsIgnoreCase realiza uma correspondência sem distinção entre maiúsculas e minúsculas.

Os detalhes do elemento Condition são os seguintes:

  • Lógica de avaliação

    • Correspondência de condição: Uma chave de condição pode ter um ou mais valores. A condição será atendida se o valor da chave na solicitação corresponder a qualquer um dos valores especificados na política (OU lógico).

    • Correspondência de cláusula de condição: Uma cláusula de condição só será atendida se todas as suas chaves de condição forem atendidas (E lógico).

    • Correspondência de bloco de condição: Um bloco de condição só será atendido se todas as suas cláusulas de condição forem atendidas (E lógico).

  • Operadores de condição

    Os tipos de operadores de condição incluem String, Number, Date and time, Boolean e IP address. Para mais informações sobre os significados e exemplos de operadores de condição, consulte Operadores de condição.

  • Chaves de condição

    • O formato das chaves de condição globais é acs:<condition-key>.

      Chave de condição global

      Tipo

      Descrição

      acs:CurrentTime

      Data e hora

      O momento em que o servidor web recebe a solicitação.

      Nota

      A hora está em UTC e segue o padrão ISO 8601.

      Por exemplo, 20:00:00 em 10 de janeiro de 2023 (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

      O 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, 10.0.0.1 não pode ser escrito como 10.0.0.1/32.

      acs:MFAPresent

      Boolean

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

      Nota

      Se a configuração MFA for RAM user sign-in para o usuário RAM estiver definida como Required Only for Unusual Logon, a condição acs:MFAPresent não entrará em vigor. Para mais informações, consulte Gerenciar configurações de segurança de usuários RAM.

      acs:PrincipalARN

      String

      A identidade do principal que faz a solicitação. Esta chave de condição está disponível apenas em políticas de controle do Resource Directory e em políticas de confiança de funções do RAM. Exemplo: acs:ram:::role/resourcedirectory.

      Nota

      Atualmente, é possível especificar apenas o ARN de uma função do RAM, e o ARN deve estar em letras minúsculas. Visualize o ARN de uma função do RAM na página de detalhes da função no console do RAM.

      acs:PrincipalRDId

      String

      O ID do Resource Directory ao qual pertence a conta da Alibaba Cloud do principal. Esta chave de condição só pode ser usada em políticas de confiança de funções do RAM e em políticas de bucket do OSS.

      acs:PrincipalRDPath

      String

      O caminho da conta da Alibaba Cloud do principal no Resource Directory. Esta chave de condição só pode ser usada em políticas de confiança de funções do RAM e em políticas de bucket do OSS.

      acs:RequestTag/<tag-key>

      String

      As informações de tag passadas na solicitação. <tag-key> é a chave da tag. Substitua-a por um valor real. Para serviços de nuvem e tipos de recursos suportados, consulte as informações de Resource Type Authentication em Serviços de nuvem que suportam tags.

      acs:ResourceTag/<tag-key>

      String

      Especifica as informações sobre as tags anexadas ao recurso solicitado. <tag-key> é a chave da tag. Substitua-a por um valor real. Para os serviços de nuvem e tipos de recursos suportados, consulte as informações de Resource Type Authorization em Serviços de nuvem que suportam tags.

    • O formato das chaves de condição específicas do serviço é <ram-code>:<condition-key>.

      Por exemplo, a chave de condição do OSS oss:Delimiter especifica o caractere para agrupar nomes de objetos em uma solicitação ListObjects.

      Para as chaves de condição de cada serviço da Alibaba Cloud, consulte a documentação de autorização desse serviço.

  • Exemplos de condições

    As condições em uma única instrução são avaliadas usando um E lógico. Para usar um OU lógico nas condições, coloque-as em instruções separadas.

    Exemplo 1: Permitir que um usuário RAM acesse instâncias do ECS somente se o usuário tiver ativado o MFA e iniciar a solicitação de acesso 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 do ECS somente se o usuário tiver ativado o MFA ou iniciar a solicitação de acesso 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"
                        ]
                    }
                }
            }
        ]
    }

Principal

O elemento Principal, obrigatório em políticas baseadas em recursos, especifica a entidade com acesso permitido ou negado. Por exemplo, em uma política de confiança de função do RAM, use o elemento Principal para definir qual entidade pode assumir a função.

Nota

Não é possível usar o elemento Principal em uma política baseada em identidade. Nesse tipo de política, a entidade RAM (usuário RAM, grupo de usuários ou função do RAM) à qual a política está anexada atua como o principal implícito.

Adicione vários tipos de principal ao elemento Principal e especifique múltiplos principais para cada tipo. Use uma vírgula (,) para separar diferentes tipos de principal. Para um único tipo de principal com vários valores, use colchetes ([ ]) e separe os valores com uma vírgula (,). A relação entre múltiplos principais é um OU lógico, o que significa que todos os principais especificados na política recebem as permissões.

Exemplo de Principal:

"Principal": {
  "RAM": [
    "acs:ram::123456789012****:root",
    "acs:ram::987654321098****:root"
  ],
  "Service": "ecs.aliyuncs.com"
}

Um principal é uma entidade RAM autenticada. Pode ser um dos seguintes tipos:

  • Conta da Alibaba Cloud

    Defina uma conta da Alibaba Cloud como principal. Isso concede permissões aos usuários RAM e funções do RAM sob essa conta. Ao especificar uma conta da Alibaba Cloud, use seu ARN (acs:ram::<account-id>:root). Exemplo:

    "Principal": {
        "RAM": "acs:ram::123456789012****:root"
    }
    Nota

    Este ARN representa a própria conta, e não uma identidade de usuário root específica.

  • Usuário RAM

    Defina um usuário RAM como principal. Especifique o ARN do usuário RAM (acs:ram::<account-id>:user/<user-name>), onde <user-name> deve corresponder ao nome do usuário RAM. Exemplo:

    "Principal": {
      "RAM": [
        "acs:ram::123456789012****:user/<user1-name>",
        "acs:ram::123456789012****:user/<user2-name>"
      ]
    }

    Ao especificar um usuário RAM no elemento Principal, não é possível usar um caractere curinga (*) para correspondência parcial. Especifique o usuário RAM exato.

    Importante

    Em uma política de confiança de função do RAM, se o elemento Principal contiver o ARN de um usuário RAM específico, o sistema converterá esse ARN para um id (por exemplo, 29695932303672****) ao salvar a política de confiança. Geralmente, esse id não é visível. O id é exibido na política de confiança apenas se o usuário RAM for excluído. Nesse caso, exclua o id ou modifique-o para o ARN correto do usuário RAM. Essa abordagem ajuda a reduzir riscos de segurança. Além disso, ao criar ou atualizar uma política de confiança, não é necessário se preocupar com o uso de maiúsculas e minúsculas em <user-name>, pois o sistema o converte automaticamente para um ARN padrão.

  • Função do RAM

    Defina uma função do RAM como principal. Especifique o ARN da função do RAM (acs:ram::<account-id>:role/<role-name>), onde <role-name> deve corresponder ao nome da função do RAM. Exemplo:

    "Principal": {
      "RAM": [
        "acs:ram::123456789012****:role/<role-name>"
      ]
    }

    Ao especificar uma função do RAM no elemento Principal, não é possível usar um caractere curinga (*) para correspondência parcial. Especifique a função do RAM exata.

    Importante

    Em uma política de confiança de função do RAM, se o elemento Principal contiver o ARN de uma função do RAM especificada, o sistema converterá esse ARN para um id (como 38915594982675****) ao salvar a política de confiança. Normalmente, esse id não é visível. Ele é exibido na política de confiança apenas se a função do RAM especificada for excluída. Nesse caso, exclua o id ou substitua-o pelo ARN correto da função do RAM. Essa abordagem ajuda a reduzir riscos de segurança. Além disso, ao criar ou atualizar uma política de confiança, não é necessário se preocupar com a diferenciação de maiúsculas e minúsculas em <role-name>, pois o sistema o converte automaticamente para um ARN padrão.

  • Serviço da Alibaba Cloud

    Defina um serviço da Alibaba Cloud como principal. Especifique o nome do serviço. O nome do serviço é o identificador de um serviço da Alibaba Cloud e geralmente segue o formato <service-name>.aliyuncs.com. Para <service-name>, utilize o nome completo fornecido pelo serviço específico da Alibaba Cloud. Exemplo:

    "Principal": {
      "Service": [
        "ecs.aliyuncs.com"
      ]
    }
  • Provedor de identidade

    Especifique um provedor de identidade (IdP) como principal usando seu ARN. A Alibaba Cloud suporta logon único (SSO) via SAML 2.0 e OIDC. Para SSO SAML, utilize o ARN de um provedor de identidade SAML. O ARN correspondente é acs:ram::<account-id>:saml-provider/<provider-name>. Para usar SSO baseado em OIDC, crie um provedor de identidade OIDC. O ARN correspondente é acs:ram::<account-id>:oidc-provider/<provider-name>. No elemento Principal, os valores de ARN diferenciam maiúsculas de minúsculas. Utilize o ARN padrão do provedor de identidade fornecido pelo sistema.

    "Principal": {
      "Federated": [
        "acs:ram::123456789012****:saml-provider/<provider-name>"
      ]
    }