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:
|
Action/NotAction | A operação em um recurso. Em uma instrução, especifique
|
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.
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
NotActionpara 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, useNotActioncom 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.

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,BooleaneIP 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:CurrentTimeData e hora
O momento em que o servidor web recebe a solicitação.
NotaA 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:00ou2023-01-10T12:00:00Z.acs:SecureTransportBoolean
Indica se a solicitação foi enviada por um canal seguro, como HTTPS.
acs:SourceIpEndereço IP
O endereço IP do cliente de onde a solicitação foi enviada.
NotaO valor de
acs:SourceIppode 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.1não pode ser escrito como10.0.0.1/32.acs:MFAPresentBoolean
Indica se o usuário fez login com autenticação multifator (MFA).
NotaSe 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:MFAPresentnão entrará em vigor. Para mais informações, consulte Gerenciar configurações de segurança de usuários RAM.acs:PrincipalARNString
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.NotaAtualmente, é 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:PrincipalRDIdString
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:PrincipalRDPathString
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:Delimiterespecifica o caractere para agrupar nomes de objetos em uma solicitaçãoListObjects.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.
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" }NotaEste 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.ImportanteEm 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.ImportanteEm uma política de confiança de função do RAM, se o elemento
Principalcontiver 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 elementoPrincipal, 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>" ] }