

# Identifique recursos da AWS com nomes do recurso da Amazon (ARNs)
<a name="reference-arns"></a>

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. Embora os ARNs, assim como todas as informações de identificação, devam ser usados e compartilhados com cuidado, eles não são considerados informações secretas, sigilosas ou confidenciais.

## Formato ARN
<a name="arns-syntax"></a>

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](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) 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](#arns-paths). 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/*john*

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
<a name="supported-arns"></a>

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](https://docs.aws.amazon.com/service-authorization/latest/reference/), abra a página do serviço e navegue até a tabela de tipos de recurso.

## Caminhos em ARNs
<a name="arns-paths"></a>

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
<a name="arns-paths-wildcards"></a>

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](reference_policies_elements_resource.md) ou [NotResource](reference_policies_elements_notresource.md), mas não para os elementos [Principal](reference_policies_elements_principal.md) ou [NotPrincipal](reference_policies_elements_notprincipal.md). Para obter mais informações, consulte [Referência de política JSON do IAM](reference_policies.md). 

É 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-\$1** 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 
```

**nota**  
Quando você especifica um ARN incompleto (um com menos do que os seis campos padrão) em uma política baseada em identidade, a AWS preenche automaticamente o ARN adicionando caracteres curinga (\$1) a todos os campos ausentes. Por exemplo, especificar `arn:aws:sqs` é equivalente a `arn:aws:sqs:*:*:*`, o que concede acesso a todos os recursos do Amazon SQS em todas as regiões e contas.

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
```