Identifique recursos da AWS com nomes do recurso da Amazon (ARNs) - AWS Identity and Access Management

Identifique recursos da AWS com nomes do recurso da Amazon (ARNs)

Nomes de recurso da Amazon (ARNs) identificam apenas recursos da AWS. Nós exigimos um ARN quando você precisa especificar um recurso sem ambiguidade em toda a AWS, como em políticas do IAM, Amazon Relational Database Service (Amazon RDS), etiquetas e chamadas de API.

Formato ARN

A seguir estão os formatos gerais de ARNs. Os formatos específicos dependem do recurso. Para usar um ARN, substitua o texto em itálico pelas informações específicas do recurso. Lembre-se de que os ARNs para alguns recursos omitem a região, o ID da conta, ou a região e o ID da conta.

arn:partition:service:region:account-id:resource-id arn:partition:service:region:account-id:resource-type/resource-id arn:partition:service:region:account-id:resource-type:resource-id
partition

A partição na qual o recurso está localizado. Uma partição é um grupo de regiões da AWS. Cada conta da AWS tem escopo para uma partição.

Estas são as partições compatíveis:

  • aws: regiões da AWS

  • aws-cn: regiões da China

  • aws-us-gov: regiões da AWS GovCloud (US)

service

O namespace de serviço que identifica o produto da AWS.

region

O código da região. Por exemplo, us-east-2 para Leste dos EUA (Ohio). Para obter uma lista de códigos de região, consulte Endpoints regionais na Referência geral da AWS.

account-id

O ID da conta da AWS que possui o recurso, sem hifens. Por exemplo, 123456789012.

resource-type

O tipo de recurso. Por exemplo, a vpc para uma nuvem privada virtual (VPC).

resource-id

O identificador do recurso. É o nome do recurso, a ID do recurso ou o caminho do recurso. Alguns identificadores de recursos incluem um recurso pai (sub-resource-type/parent-resource/sub-resource) ou um qualificador, como uma versão (resource-type:resource-name:qualifier).

Exemplos
IAM user (Usuário do IAM)

arn:aws:iam::123456789012:user/johndoe

Tópico do SNS

arn:aws:sns:us-east-1:123456789012:example-sns-topic-name

VPC

arn:aws:ec2:us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE

Encontrar o formato do ARN de um recurso

O formato exato de um ARN depende do serviço e do tipo de recurso. Alguns ARNs de recursos podem incluir um caminho, uma variável ou um caractere curinga. Para encontrar o formato do ARN de um recurso da AWS específico, abra a Referência de autorização de serviços, abra a página do serviço e navegue até a tabela de tipos de recurso.

Caminhos em ARNs

Os ARNs de recursos podem incluir um caminho. Por exemplo, no Amazon S3, o identificador do recurso é um nome de objeto que pode incluir barras (/) para formar um caminho. Da mesma forma, nomes de usuários e nomes de grupo do IAM podem incluir caminhos. Somente caracteres alfanuméricos e os seguintes caracteres gráficos são permitidos nos caminhos do IAM: barra (/), mais (+), igual (=), vírgula (,), ponto final (.), arroba (@), sublinhado (_) e hífen (-).

Usar curingas em caminhos

Os caminhos podem incluir um caractere curinga, ou seja, um asterisco (*). Alguns elementos da política permitem curingas, enquanto outros não. Você pode usar curingas para os elementos Resource ou NotResource, mas não para os elementos Principal ou NotPrincipal. Para ter mais informações, consulte Referência de política JSON do IAM.

É possível especificar role/* para significar todas as funções na conta 123456789012, como no seguinte exemplo:

arn:aws:iam::123456789012:role/*

Também é possível pode finalizar o nome de um recurso com um caractere curinga. Por exemplo, é possível especificar service-* para significar todos os perfis que começam com service e terminam com caracteres diferentes, como service-role1 ou service-test:

arn:aws:iam::123456789012:role/service-*

O exemplo a seguir mostra ARNs para objetos em um bucket do Amazon S3 em que o nome do recurso inclui um caminho. O ARN arn:aws:s3:::amzn-s3-demo-bucket/* aplica-se a todos os objetos dentro desse bucket, independentemente do prefixo. O ARN arn:aws:s3:::amzn-s3-demo-bucket/Development/* aplica-se a todos os objetos criados dentro do prefixo /Development/.

Você também pode usar o caractere curinga ? para especificar um caractere em um ARN. Por exemplo, é possível usar o ARN a seguir para todas as pastas que começam com quatro caracteres e terminam em -test no bucket do S3 chamado amzn-s3-demo-bucket. Algumas pastas que corresponderiam a isso incluem 1234-test, 2024-test ou a100-test.

arn:aws:s3:::amzn-s3-demo-bucket/????-test

Também é possível usar curingas nas diferentes seções de um ARN, delimitadas por dois pontos ":". No exemplo a seguir, dois curingas são usados para combinar todos os aplicativos e recursos do Amazon Q dentro dos aplicativos em todas as regiões para a conta 123456789012:

arn:aws:qbusiness:*:123456789012:*

Da mesma forma, o exemplo a seguir corresponde a todas as Amazon VPCs em todas as regiões para a conta 123456789012:

arn:aws:ec2:*:123456789012:vpc/*

Da mesma forma, o exemplo a seguir corresponde a todos os volumes do Amazon EBS em todas as regiões para a conta 123456789012:

arn:aws:ec2:*:123456789012:volume/*
Limitações no uso de curingas em ARNs

Não é possível usar curingas na parte do ARN que especifica o tipo de recurso. O seguinte exemplo de ARN com um caractere curinga dentro do tipo de recurso não é válido:

arn:aws:lambda:us-east-2:123456789012:functi*:my-function <== not allowed 

Também não é possível usar curingas no ARN do prefixo nem ter curingas na seção de partição de um ARN.

arn:aws:redshift:us-east-1:123456789012:? <== not allowed