Atualizar as políticas do IAM para IPv6
Os clientes do Monitor de Internet usam políticas do IAM para definir um intervalo permitido de endereços IP e impedir que qualquer endereço IP fora do intervalo configurado possa acessar APIs do Monitor de Internet.
O endpoint internetmonitor.region
.api.aws, no qual você acessa as APIs do Monitor de Internet, está sendo atualizado para compatibilidade com pilha dupla (IPv4 e IPv6).
As políticas de filtragem de endereços IP que não estiverem atualizadas para processar endereços IPv6 poderão resultar na perda de acesso de clientes às APIs do Monitor de Internet.
Clientes afetados pela atualização para inclusão de IPv6
Os clientes que estiverem usando pilha dupla com políticas que contenham o filtro aws:sourceIp são afetados por essa atualização. A pilha dupla significa que a rede é compatível com IPv4 e IPv6.
Se você usar pilha dupla, será necessário atualizar as políticas do IAM atualmente configuradas com endereços no formato IPv4 para incluir endereços no formato IPv6.
O seguinte resume as ações recomendadas, dependendo do seu cenário. Para confirmar o endpoint que seu SDK usa, consulte Identify the Internet Monitor endpoint used by your code.
Endpoint | Usa a política do IAM com a condição aws:sourceIp ? |
Ação recomendada |
---|---|---|
|
Sim |
Para restringir o acesso somente a IPv4, não faça mais nada. Ou, se você prevê que precisará de compatibilidade com IPv6 no futuro, poderá tomar medidas para garantir a compatibilidade com IPv4 e IPv6. Para garantir compatibilidade futura, a partir de 1.º de novembro de 2024, atualize seu SDK e, em seguida, atualize sua aplicação para usar o endpoint de pilha dupla configurando Se você optar por usar IPv4 e IPv6, também deverá atualizar a condição de filtragem de endereço IP ( |
|
Não |
Para restringir o acesso somente a IPv4, não faça mais nada. Ou, se você prevê que precisará de compatibilidade com IPv6 no futuro, poderá tomar medidas para garantir a compatibilidade com IPv4 e IPv6. Para garantir compatibilidade futura, a partir de 1.º de novembro de 2024, atualize seu SDK e, em seguida, atualize sua aplicação para usar o endpoint de pilha dupla configurando |
|
Sim |
Atualmente, esse endpoint é compatível somente com IPV4. Em 1.º de novembro de 2024, o IPv6 será habilitado nesse endpoint. Para garantir compatibilidade futura com IPv4 e IPv6, a partir de 1.º de novembro de 2024, atualize seu SDK e, em seguida, atualize sua aplicação para usar o endpoint de pilha dupla configurando Ao fazer a mudança para usar IPv4 e IPv6, você também deverá atualizar a condição de filtragem de endereço IP ( Em vez disso, se quiser restringir o acesso somente a IPv4, defina |
|
Não |
Atualmente, esse endpoint é compatível somente com IPV4. Em 1.º de novembro de 2024, o IPv6 será habilitado nesse endpoint. Para garantir compatibilidade futura com IPv4 e IPv6, a partir de 1.º de novembro de 2024, atualize seu SDK e, em seguida, atualize sua aplicação para usar o endpoint de pilha dupla configurando Em vez disso, se quiser restringir o acesso somente a IPv4, defina |
Para obter ajuda com problemas de acesso, entre em contato com Suporte
O que é IPv6?
IPv6 é o padrão IP de última geração destinado a substituir o IPv4. O IPv4 usa um esquema de endereçamento de 32 bits para compatibilidade com 4,3 bilhões de dispositivos. Em vez disso, o IPv6 usa endereçamento de 128 bits para compatibilidade com aproximadamente 340 trilhões de trilhões de trilhões (ou 2 vezes a 128.ª potência) de dispositivos.
Veja a seguir exemplos de endereços IPv6:
2001:cdba:0000:0000:0000:0000:3257:9652 2001:cdba:0:0:0:0:3257:9652 2001:cdba::3257:965
O IPv6 oferece um espaço de endereço maior, maior eficiência de roteamento e melhor compatibilidade com novos serviços de Internet. Ao atualizar para pilha dupla e oferecer suporte a IPv6, o Monitor de Internet viabiliza melhor desempenho e escalabilidade. Siga as etapas desta seção para atualizar suas configurações e aproveitar a compatibilidade com pilha dupla.
Identificar o endpoint do Monitor de Internet usado por seu código
Se você usa um SDK do Monitor de Internet, comece verificando qual endpoint seu código está usando: o endpoint IPv4 ou o endpoint de pilha dupla (IPv4 e IPv6). Se você não usar um SDK com o Monitor de Internet, ignore esta seção.
Você pode executar o exemplo de código a seguir para determinar o endpoint do Monitor de Internet que está usando. Para este exemplo, estamos usando o SDK do Monitor de Internet para Go na região Leste dos EUA (Norte da Virgínia).
package main import ( "fmt" "log" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/internetmonitor" ) func main() { // Create a new session with the default configuration sess := session.Must(session.NewSession(&aws.Config{ Region: aws.String("us-east-1"), })) // Create a new Internet Monitor client internetMonitorClient := internetmonitor.New(sess) // Get the endpoint URL endpoint := internetMonitorClient.Endpoint fmt.Printf("Internet Monitor endpoint URL: %s\n", endpoint) }
Quando você executa esse código, ele retorna o endpoint do Monitor de Internet. Se receber a resposta a seguir, você está usando o domínio do Monitor de Internet compatível apenas com IPv4. É possível afirmar isso porque o formato do URL do endpoint inclui amazonaws.com
.
Internet Monitor endpoint URL: https://internetmonitor.us-east-1.amazonaws.com
Se você receber a seguinte resposta, então está usando o domínio que está sendo atualizado para compatibilidade com pilha dupla (IPv4 e IPv6). Aqui, é possível afirmar isso porque o URL do endpoint inclui api.aws
. No entanto, observe que até a conclusão da atualização, esse endpoint será compatível somente com IPv4.
Internet Monitor endpoint URL: https://internetmonitor.us-east-1.api.aws
Atualizar uma política do IAM para IPv6
As políticas do IAM usam o filtro aws:SourceIp
para definir um intervalo permitido de endereços IP.
A pilha dupla é compatível com tráfego IPv4 e IPv6. Se sua rede usa pilha dupla, você deve garantir que todas a políticas do IAM usadas para filtragem de endereços IP estejam atualizadas para incluir intervalos de endereços IPv6.
Por exemplo, essa política permite intervalos de endereços IPv4 192.0.2.0.*
e 203.0.113.0.*
, identificados no elemento Condition
.
# https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_deny-ip.html { "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "NotIpAddress": { "*aws:SourceIp*": [ "*192.0.2.0/24*", "*203.0.113.0/24*" ] }, "Bool": { "aws:ViaAWSService": "false" } } } }
Para atualizar essa política, alteraremos o elemento Condition
da política para adicionar intervalos de endereços IPv6, conforme apresentado no exemplo a seguir:
"Condition": { "NotIpAddress": { "*aws:SourceIp*": [ "*192.0.2.0/24*", <<Existing IPv4 address - DO NOT REMOVE>> "*203.0.113.0/24*", <<Existing IPv4 address - DO NOT REMOVE>> "
*2001:DB8:1234:5678::/64*
", <<New IPv6 IP address>> "*2001:cdba:3257:8593::/64*
" <<New IPv6 IP address>> ] }, "Bool": { "aws:ViaAWSService": "false" } }
Importante
Não remova os endereços IPv4 existentes na política. Eles são necessários para compatibilidade com versões anteriores.
Para obter mais informações sobre permissões de acesso com o IAM, consulte Políticas gerenciadas e políticas em linha no Guia do usuário do AWS Identity and Access Management.
Testar a rede depois de atualizar as políticas
Após atualizar suas políticas do IAM para incluir compatibilidade com endereços IPv6, recomendamos que você teste se sua rede é capaz de acessar um endpoint IPv6. Esta seção fornece vários exemplos, dependendo do sistema operacional que você usa.
Testar a rede com Linux/Unix ou Mac OS X
Se usar o Linux/Unix ou o Mac OS X, você poderá testar se sua rede pode acessar o endpoint IPv6 usando o comando curl a seguir.
curl -v -s -o /dev/null http://ipv6.ec2-reachability.amazonaws.com/
Se estiver conectado por IPv6, o endereço IP conectado exibirá informações semelhantes às seguintes:
* About to connect() to aws.amazon.com port 443 (#0) * Trying IPv6 address... connected * Connected to aws.amazon.com (IPv6 address) port 443 (#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: aws.amazon.com
Testar a rede com o Windows
Se usar o Windows, você poderá testar se sua rede pode acessar um endpoint de pilha dupla por meio de IPv6 ou IPv4 usando um comando ping
, como o seguinte:
ping aws.amazon.com
Se ping
acessar o endpoint por meio do IPv6, o comando retornará endereços IPv6.
Verificar se os clientes são compatíveis com IPv6
Antes que você passe a usar o endpoint internetmonitor.{region}.api.aws, recomendamos que você verifique se seus clientes podem acessar outros endpoints do AWS service (Serviço da AWS) que já estão habilitados para IPv6. As etapas a seguir descrevem como verificar isso usando um endpoint IPv6 existente.
Este exemplo usa Linux e o curl versão 8.6.0 com o serviço Amazon Athena, que tem endpoints habilitados para IPv6 localizados no domínio api.aws.
nota
Mude sua Região da AWS para a mesma região em que o cliente está localizado. Neste exemplo, usamos o endpoint us-east-1
, ou seja, Leste dos EUA (Norte da Virgínia).
Use o exemplo a seguir para verificar se seus clientes podem acessar um endpoint da AWS habilitado para IPv6.
-
Verifique se o endpoint do Athena é resolvido com um endereço IPv6 usando o comando a seguir.
dig +short AAAA athena.us-east-1.api.aws 2600:1f18:e2f:4e05:1a8a:948e:7c08:d2d6 2600:1f18:e2f:4e03:4a1e:83b0:8823:4ce5 2600:1f18:e2f:4e04:34c3:6e9a:2b0d:dc79
-
Agora, determine se sua rede cliente consegue estabelecer conexão usando IPv6 usando o seguinte comando:
curl --ipv6 -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://athena.us-east-1.api.aws remote ip: 2600:1f18:e2f:4e05:1a8a:948e:7c08:d2d6 response code: 404
Se o endereço IP remoto tiver sido identificado e o código de resposta não for
0
, uma conexão de rede terá sido estabelecida com sucesso com o endpoint usando IPv6.Se o endereço IP remoto estiver em branco ou o código de resposta for
0
, a rede cliente ou o caminho da rede até o endpoint será somente IPv4. É possível verificar isso com o seguinte comando do curl:curl -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://athena.us-east-1.api.aws remote ip: 3.210.103.49 response code: 404
Se você executar esse comando e o endereço IP remoto tiver sido identificado e o código de resposta não for
0
, uma conexão de rede terá sido estabelecida com sucesso com o endpoint usando IPv4.