Todos os produtos
Search
Central de documentação

Resource Access Management:Permission policy elements

Última atualização: Aug 25, 2026

No RAM, você utiliza uma política de permissões para definir permissões específicas. Uma política de permissões é composta por elementos básicos, incluindo Effect, Action/NotAction, Resource, Condition e Principal.

Elemento

Descrição

Effect

Define se a instrução da política permite ou nega o acesso. Os valores válidos são:

  • Allow: Permite o acesso.

  • Deny: Nega o acesso.

Action/NotAction

A operação executada em um recurso específico. É obrigatório especificar Action ou NotAction em uma instrução de política:

  • Action: A operação específica que é permitida ou negada.

  • NotAction: As operações isentas da política. Ao usar NotAction, todas as operações são permitidas ou negadas, exceto aquelas listadas.

Resource

O objeto ou objetos específicos aos quais a política se aplica.

Condition

As condições sob as quais a autorização entra em vigor.

Principal

A entidade que tem acesso permitido ou negado a um recurso. Este elemento aplica-se apenas a políticas baseadas em recursos, como a política de confiança de uma função do RAM.

Effect

O elemento Effect define se uma política permite ou nega acesso. Este 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 tanto Allow quanto Deny, o Deny terá precedência.

Exemplo:

"Effect": "Allow"

Action/NotAction

Uma instrução de política deve incluir um elemento Action ou NotAction. O Action especifica as operações permitidas ou negadas. O 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 cloud.

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

  • ram-code: O código RAM do serviço de cloud. Para mais informações, consulte a coluna RAM Code em {{XREF_0}}.

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

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

Exemplos:

  • Exemplo de Action

    "Action": [
      "oss:ListBuckets",
      "ecs:Describe*",
      "rds:Describe*"
    ]
  • Independência de ordem

    A ordem dos elementos no array Action não afeta o resultado da autorização. Cada ação é avaliada independentemente, independentemente de sua posição no array. Portanto, as duas notações a seguir são equivalentes:

    "Action": [
      "ecs:DescribeSecurityGroups",
      "ecs:DescribeInstances"
    ]
    "Action": [
      "ecs:DescribeInstances",
      "ecs:DescribeSecurityGroups"
    ]
  • Exemplo de NotAction

    O exemplo a seguir permite todas as operações, exceto aquelas no RAM. A política lista apenas a operação excluída (ram:*) em vez de todas as operações permitidas, o que torna a instrução de política mais curta. No entanto, isso concede permissões amplas. Utilize essa configuração com cautela e certifique-se de que a política se comporte conforme o esperado.

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

Resource

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

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

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

O formato é descrito da seguinte maneira:

  • acs: Abreviação de Alibaba Cloud service. Identifica que a solicitação tem como alvo a plataforma de cloud pública da Alibaba Cloud.

  • ram-code: O código RAM do serviço de cloud. Para mais informações, consulte a coluna RAM Code em {{XREF_1}}.

  • region: As informações de região. Para recursos globais, acessíveis sem a necessidade de especificar uma região, utilize um asterisco (*). Para mais informações, consulte {{XREF_2}}.

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

  • relative-id: A parte do ARN que descreve o recurso, com semântica definida pelo serviço de cloud específico. Esta 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 necessários para que uma política entre em vigor. Este elemento é opcional.

O elemento Condition, também chamado de bloco de condição, consiste em uma ou mais cláusulas de condição. 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. Caso utilize o elemento Condition para especificar condições, certifique-se de usar a ortografia 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ê utilizar o operador StringEquals, ele comparará o valor na política com o valor na solicitação, e a comparação diferenciará maiúsculas de minúsculas. Se utilizar o operador StringEqualsIgnoreCase, ele comparará o valor na política com o valor na solicitação, mas ignorará diferenças entre maiúsculas e minúsculas.

O elemento Condition possui as seguintes características:

  • Lógica de avaliação

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

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

    • Todo o bloco de condição só será atendido se todas as suas cláusulas forem atendidas (um 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 significados e exemplos de operadores de condição, consulte {{XREF_3}}.

  • Chaves de condição

    • As chaves de condição globais da Alibaba Cloud utilizam o formato: 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

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

      Por exemplo, 20:00:00 em 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

      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, 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 mais informações, consulte {{XREF_4}}.

      acs:PrincipalARN

      String

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

      Nota

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

      acs:PrincipalRDId

      String

      O ID do Resource Directory ao qual pertence a conta cloud do principal da solicitação, por exemplo, rd-AA****. Para visualizar um ID de Resource Directory, consulte {{XREF_5}}.

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

      acs:PrincipalRDPath

      String

      O caminho da conta cloud 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 obter informações sobre como visualizar o RDPath completo de uma conta membro, consulte {{XREF_6}}.

      Para corresponder a todas as contas membros sob um RDPath especificado, utilize 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 utilizado apenas nas políticas de confiança de funções do RAM e nas Bucket Policies do OSS.

      acs:RequestTag/<tag-key>

      String

      As tags incluídas na solicitação. Substitua <tag-key> pela sua chave de tag real. Para serviços de cloud e tipos de recursos suportados, consulte as informações de Authentication by Resource Type em {{XREF_7}}.

      acs:ResourceTag/<tag-key>

      String

      As tags anexadas ao recurso solicitado. Substitua <tag-key> pela sua chave de tag real. Para serviços de cloud e tipos de recursos suportados, consulte as informações de Authentication by Resource Type em {{XREF_8}}.

    • As chaves de condição específicas de serviço utilizam 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 as chaves de condição específicas de cada serviço de cloud, consulte 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 o usuário 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 o usuário 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"
                        ]
                    }
                }
            }
        ]
    }

Principal

O elemento Principal, obrigatório em políticas baseadas em recursos, especifica a entidade que tem acesso permitido ou negado a um recurso.

Nota

Não é possível utilizar o elemento Principal em uma política baseada em identidade. Uma política baseada em identidade é uma política de permissões anexada a uma identidade RAM (um usuário RAM, grupo de usuários ou função do RAM). A identidade à qual a política está anexada atua como o principal implícito.

No elemento Principal, adicione vários tipos de principal e especifique múltiplos principais para cada tipo. Separe os diferentes tipos de principal com vírgulas (,). Se um tipo de principal incluir vários valores, coloque-os entre colchetes ([ ]) e separe-os com vírgulas (,). Múltiplos principais possuem uma relação OR, o que significa que todos os principais especificados recebem permissão.

Veja a seguir um exemplo do elemento Principal:

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

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

  • Conta Alibaba Cloud

    Especifique uma conta Alibaba Cloud como principal. Isso concede permissões a todos os usuários RAM e funções do RAM dessa conta. Ao especificar uma conta Alibaba Cloud, utilize seu ARN (acs:ram::<account-id>:root). Veja um exemplo abaixo:

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

    Especificar o ARN da conta (...:root) como principal estabelece confiança em toda a conta, não em uma identidade de usuário específica. As permissões podem então ser delegadas dentro dessa conta.

  • Usuário RAM

    Especifique um usuário RAM como principal. É necessário informar o ARN do usuário RAM (acs:ram::<account-id>:user/<user-name>), onde <user-name> deve ser o nome do usuário RAM. Veja um exemplo abaixo:

    "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 utilize o caractere curinga (*) para correspondência parcial. Especifique o nome completo do usuário RAM.

    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, o sistema converterá esse ARN em um ID (por exemplo, 29695932303672****) quando você salvar a política de confiança. Normalmente, você não vê esse ID. Ele aparece na política de confiança apenas se o usuário RAM especificado for excluído. Se isso acontecer, remova o ID ou substitua-o pelo ARN de um usuário RAM válido. Esse mecanismo 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

    Especifique uma função do RAM como principal. É necessário informar o ARN da função do RAM (acs:ram::<account-id>:role/<role-name>), onde <role-name> deve ser o nome da função do RAM. Veja um exemplo abaixo:

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

    Ao especificar uma função do RAM no elemento Principal, não utilize o caractere curinga (*) para correspondência parcial. Especifique o nome completo da função do RAM.

    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, o sistema converterá esse ARN em um ID (por exemplo, 38915594982675****) quando você salvar a política de confiança. Geralmente, você não toma conhecimento desse ID. Ele é exibido na política de confiança apenas quando a função do RAM especificada é excluída. Nesse caso, exclua o ID ou substitua-o pelo ARN de uma função do RAM válida. Esse mecanismo 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 distinção entre maiúsculas e minúsculas em <role-name>. O sistema o converte automaticamente para um ARN padrão.

  • Serviço Alibaba Cloud

    Especifique um serviço Alibaba Cloud como principal. O principal de serviço é um identificador para um serviço, que normalmente utiliza o formato <service-name>.aliyuncs.com. Para o valor de <service-name>, utilize o nome completo do serviço fornecido pelo serviço de cloud. Veja um exemplo abaixo:

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

    Especifique um provedor de identidade como principal. Informe o ARN do provedor de identidade. A Alibaba Cloud suporta logon único (SSO) baseado em SAML 2.0 e OIDC. Um SSO que utiliza o protocolo SAML requer um provedor de identidade SAML, cujo ARN segue o formato acs:ram::<account-id>:saml-provider/<provider-name>. Um SSO que utiliza o protocolo OIDC requer um provedor de identidade OIDC, cujo ARN segue o formato acs:ram::<account-id>:oidc-provider/<provider-name>. O valor do ARN no elemento Principal diferencia maiúsculas de minúsculas. Utilize as informações padrão de ARN do provedor de identidade fornecidas pelo sistema.

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