

# Fazer solicitações para o Amazon S3 por meio do IPv6
<a name="ipv6-access"></a>

O Amazon Simple Storage Service (Amazon S3) oferece suporte à capacidade de acessar buckets do S3 usando o protocolo IPv6 (Internet Protocol versão 6), além do protocolo IPv4. Os endpoints de pilha dupla do Amazon S3 oferecem suporte para buckets do S3 por IPv6 e IPv4. Não há custo adicional para acessar o Amazon S3 por meio do IPv6. Para obter mais informações sobre a definição de preços, consulte [Definição de preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

**nota**  
As informações a seguir são para endpoints IPv6 públicos do Amazon S3. Para obter mais informações sobre endpoints da nuvem privada virtual (VPC) da AWS, consulte [AWS PrivateLink para o Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html).

**Topics**
+ [Conceitos básicos para fazer solicitações por meio do IPv6](#ipv6-access-getting-started)
+ [Como usar endereços do IPv6 em políticas do IAM](#ipv6-access-iam)
+ [Testar a compatibilidade com endereços IP](#ipv6-access-test-compatabilty)
+ [Usar endpoints de pilha dupla do Amazon S3](dual-stack-endpoints.md)

## Conceitos básicos para fazer solicitações por meio do IPv6
<a name="ipv6-access-getting-started"></a>

Para fazer uma solicitação para um bucket do S3 por meio do IPv6, você precisa usar um endpoint de pilha dupla. A próxima seção descreve como fazer solicitações por meio do IPv6 usando endpoints de pilha dupla. 

Estas são algumas coisas sobre as quais você deve estar ciente antes de tentar acessar um bucket por meio do IPv6: 
+ O cliente e a rede que estão acessando o bucket devem ter permissão para usar o IPv6. 
+ As solicitações de estilo hospedado virtual e de estilo de caminho são compatíveis para acessarem o IPv6. Para obter mais informações, consulte [Endpoints de pilha dupla do Amazon S3](dual-stack-endpoints.md#dual-stack-endpoints-description).
+ Se você usar a filtragem de endereços IP de origem nas políticas de usuário ou de bucket do AWS Identity and Access Management (IAM), será necessário atualizar as políticas para incluir intervalos de endereços IPv6. Para obter mais informações, consulte [Como usar endereços do IPv6 em políticas do IAM](#ipv6-access-iam).
+ Ao usar o IPv6, os arquivos de log de acesso ao servidor fornecem endereços IP em um formato do IPv6. Você precisa atualizar as ferramentas, os scripts e o software existentes que usa para analisar os arquivos de log do Amazon S3 para que eles possam analisar os endereços `Remote IP` formatados para IPv6. Para obter mais informações, consulte [Registro em log das solicitações com registro em log de acesso ao servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html). 
**nota**  
Se você tiver problemas relacionados à presença de endereços IPv6 nos arquivos de log, entre em contato com o [AWS Support](https://aws.amazon.com/premiumsupport/).



### Como fazer solicitações por meio do IPv6 usando endpoints de pilha dupla
<a name="ipv6-access-api"></a>

Você faz solicitações com chamadas da API do Amazon S3 por meio do IPv6 usando endpoints de pilha dupla. As operações de API do Amazon S3 funcionam da mesma maneira se você estiver acessando o Amazon S3 por IPv6 ou por IPv4. A performance deve ser a mesma também.

Ao usar a API REST, você acessa um endpoint de pilha dupla diretamente. Para obter mais informações, consulte [Endpoints de pilha dupla](dual-stack-endpoints.md#dual-stack-endpoints-description).

Ao usar a AWS Command Line Interface (AWS CLI) e os AWS SDKs, você pode utilizar um parâmetro ou um sinalizador para mudar para um endpoint de pilha dupla. Você também pode especificar o endpoint de pilha dupla diretamente como uma substituição do endpoint do Amazon S3 no arquivo de configuração.

Você pode usar um endpoint de pilha dupla para acessar um bucket por meio do IPv6 de qualquer um dos seguintes:
+ A AWS CLI, consulte [Usar endpoints de pilha dupla da AWS CLI](dual-stack-endpoints.md#dual-stack-endpoints-cli).
+ Os AWS SDKs, consulte [Usar endpoints de pilha dupla dos AWS SDKs](dual-stack-endpoints.md#dual-stack-endpoints-sdks).
+ A API REST, consulte [Fazer solicitações para endpoints de pilha dupla usando a API REST](RESTAPI.md#rest-api-dual-stack).

### Recursos não disponíveis por meio do IPv6
<a name="ipv6-not-supported"></a>

No momento, o recurso a seguir não é compatível ao acessar um bucket do S3 com IPv6: hospedagem de site estático proveniente de um bucket do S3.

## Como usar endereços do IPv6 em políticas do IAM
<a name="ipv6-access-iam"></a>

Antes de tentar acessar um bucket usando o IPv6, você deve garantir que todas a políticas de usuário do IAM ou de bucket do S3 usadas para filtragem de endereços IP estejam atualizadas para incluir intervalos de endereços do IPv6. As políticas de filtragem de endereços IP que não estiverem atualizadas para lidar com endereços do IPv6 podem resultar na perda ou no ganho de acesso de clientes ao bucket quando começarem a usar o IPv6. Para ter mais informações sobre como gerenciar permissões de acesso com o IAM, consulte [Gerenciamento de identidade e acesso para o Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-iam.html).

As políticas do IAM que filtram endereços IP usam [Operadores de condição de endereço IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress). A política de bucket a seguir identifica o intervalo 54.240.143.\* de endereços IPv4 permitidos usando operadores de condição de endereço IP. Todos os endereços IP fora deste intervalo terão o acesso ao bucket negado (`examplebucket`). Como todos os endereços do IPv6 estão fora do intervalo permitido, essa política impede que os endereços do IPv6 possam acessar o `examplebucket`. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "IPAllow",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": "arn:aws:s3:::{{examplebucket}}/*",
      "Condition": {
         "IpAddress": {"aws:SourceIp": "54.240.143.0/24"}
      } 
    } 
  ]
}
```

------

Você pode modificar o elemento `Condition` da política do bucket para permitir os intervalos de endereços do IPv4 (`54.240.143.0/24`) e do IPv6 (`2001:DB8:1234:5678::/64`), conforme mostrado no exemplo a seguir. Você pode usar o mesmo tipo de bloqueio de `Condition` mostrado no exemplo para atualizar as políticas de usuário e de bucket do IAM.

```
1.        "Condition": {
2.          "IpAddress": {
3.             "aws:SourceIp": [
4.               "54.240.143.0/24",
5.                "2001:DB8:1234:5678::/64"
6.              ]
7.           }
8.         }
```

Antes de usar o IPv6, é necessário atualizar todas as políticas de usuário e de bucket do IAM que usam a filtragem de endereços IP. Evite usar filtragem de endereços IP nas políticas de bucket. 

Você pode revisar suas políticas de usuário do IAM usando o console do IAM em [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). Para obter mais informações sobre o IAM, consulte o [Manual do usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/). Para obter informações sobre como editar políticas de bucket do S3, consulte [Adição de uma política de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html). 

## Testar a compatibilidade com endereços IP
<a name="ipv6-access-test-compatabilty"></a>

Se estiver usando o Linux/Unix ou o Mac OS X, você poderá testar se é possível acessar um endpoint de pilha dupla por meio do IPv6 usando o comando `curl` conforme mostrado no exemplo a seguir:

**Example**  

```
curl -v  http://s3.dualstack.us-west-2.amazonaws.com/
```
Você recebe de volta informações semelhantes ao exemplo a seguir. Se estiver conectado por meio do IPv6 o endereço IP conectado será um endereço do IPv6.   

```
* About to connect() to s3-us-west-2.amazonaws.com port 80 (#0)
*   Trying {{IPv6 address}}... connected
* Connected to s3.dualstack.us-west-2.amazonaws.com ({{IPv6 address}}) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.18.1 (x86_64-unknown-linux-gnu) libcurl/7.18.1 OpenSSL/1.0.1t zlib/1.2.3
> Host: s3.dualstack.us-west-2.amazonaws.com
```

Se estiver usando o Microsoft 7 ou 10, você poderá testar se é possível acessar um endpoint de pilha dupla por meio do IPv6 ou do IPv4 usando o comando `ping` conforme mostrado no exemplo a seguir:

```
ping ipv6.s3.dualstack.us-west-2.amazonaws.com 
```