View a markdown version of this page

Controlla l'accesso alle API con le policy IAM - Gestione dei segreti AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Controlla l'accesso alle API con le policy IAM

Se utilizzi le policy IAM per controllare l'accesso in Servizi AWS base agli indirizzi IP, potresti dover aggiornare le policy per includere gli intervalli di indirizzi IPv6. Questa guida spiega le differenze tra IPv4 e IPv6 e descrive come aggiornare le policy IAM per supportare entrambi i protocolli. L'implementazione di queste modifiche consente di mantenere un accesso sicuro alle AWS risorse supportando al contempo l'IPv6.

Cos'è IPv6?

IPv6 è lo standard IP di nuova generazione destinato a sostituire eventualmente l'IPv4. La versione precedente, IPv4, utilizza uno schema di indirizzamento a 32 bit per supportare 4,3 miliardi di dispositivi. IPv6 utilizza invece l'indirizzamento a 128 bit per supportare circa 340 trilioni di trilioni di trilioni di dispositivi (ovvero 2 alla 128esima potenza).

Per ulteriori informazioni, consulta la pagina Web VPC IPv6.

Questi sono esempi di indirizzi IPv6:

2001:cdba:0000:0000:0000:0000:3257:9652 # This is a full, unabbreviated IPv6 address. 2001:cdba:0:0:0:0:3257:9652 # The same address with leading zeros in each group omitted 2001:cdba::3257:965 # A compressed version of the same address.

Policy IAM dual-stack (IPv4 e IPv6)

Puoi utilizzare le policy IAM per controllare l'accesso alle API di Secrets Manager e impedire agli indirizzi IP esterni all'intervallo configurato di accedere alle API di Secrets Manager.

Il gestore dei segreti. L'endpoint dual-stack {region} .amazonaws.com per le API Secrets Manager supporta sia IPv6 che IPv4.

Se devi supportare sia IPv4 che IPv6, aggiorna le politiche di filtraggio degli indirizzi IP per gestire gli indirizzi IPv6. Altrimenti, potresti non essere in grado di connetterti a Secrets Manager tramite IPv6.

Chi dovrebbe apportare questa modifica?

Questa modifica influisce sull'utente se si utilizza il doppio indirizzamento con politiche che lo contengonoaws:sourceIp. Il doppio indirizzamento significa che la rete supporta sia IPv4 che IPv6.

Se utilizzi il doppio indirizzamento, aggiorna le policy IAM che attualmente utilizzano indirizzi in formato IPv4 per includere gli indirizzi in formato IPv6.

Chi non dovrebbe apportare questa modifica?

Questa modifica non ha effetto su di te se utilizzi solo reti IPv4.

Aggiungere IPv6 a una policy IAM

Le policy IAM utilizzano la chiave aws:SourceIp condition per controllare l'accesso da indirizzi IP specifici. Se la tua rete utilizza il doppio indirizzamento (IPv4 e IPv6), aggiorna le policy IAM per includere gli intervalli di indirizzi IPv6.

Nell'Conditionelemento delle tue politiche, utilizza gli operatori IpAddress and NotIpAddress per le condizioni degli indirizzi IP. Non utilizzate operatori di stringa, poiché non sono in grado di gestire i vari formati di indirizzi IPv6 validi.

Questi esempi utilizzano. aws:SourceIp Per i VPC, usa aws:VpcSourceIp invece.

Di seguito è riportata la politica di riferimento relativa all'IP di origine (Denies access to) AWS basata sulla politica di riferimento relativa all'IP di origine contenuta nella IAM User Guide. NotIpAddressNell'Conditionelemento to elenca due intervalli di indirizzi IPv4 192.0.2.0/24 e203.0.113.0/24, a cui verrà negato l'accesso all'API.

JSON
{ "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" } } } }

Per aggiornare questo criterio, modifica l'Conditionelemento in modo da includere gli intervalli di indirizzi IPv6 e. 2001:DB8:1234:5678::/64 2001:cdba:3257:8593::/64

Nota

Non rimuovere gli indirizzi IPv4 esistenti. Sono necessari per la compatibilità con le versioni precedenti.

"Condition": { "NotIpAddress": { "aws:SourceIp": [ "192.0.2.0/24", <<DO NOT REMOVE existing IPv4 address>> "203.0.113.0/24", <<DO NOT REMOVE existing IPv4 address>> "2001:DB8:1234:5678::/64", <<New IPv6 IP address>> "2001:cdba:3257:8593::/64" <<New IPv6 IP address>> ] }, "Bool": { "aws:ViaAWSService": "false" } }

Per aggiornare questa policy per un VPC, usa aws:VpcSourceIp invece di: aws:SourceIp

"Condition": { "NotIpAddress": { "aws:VpcSourceIp": [ "10.0.2.0/24", <<DO NOT REMOVE existing IPv4 address>> "10.0.113.0/24", <<DO NOT REMOVE existing IPv4 address>> "fc00:DB8:1234:5678::/64", <<New IPv6 IP address>> "fc00:cdba:3257:8593::/64" <<New IPv6 IP address>> ] }, "Bool": { "aws:ViaAWSService": "false" } }

Verifica del supporto dell'IPv6 da parte del client

Se usi il gestore dei segreti. Endpoint {region} .amazonaws.com, verifica di poterti connettere ad esso. I passaggi seguenti descrivono come eseguire la verifica.

Questo esempio utilizza Linux e curl versione 8.6.0 e utilizza il Gestione dei segreti AWS servizio con endpoint abilitati per IPv6 situati nell'endpoint amazonaws.com.

Nota

Il gestore dei segreti. {region} .amazonaws.com si differenzia dalla tipica convenzione di denominazione dual-stack. Per un elenco completo degli endpoint di Secrets Manager, vedereGestione dei segreti AWS endpoint.

Passa Regione AWS alla stessa regione in cui si trova il servizio. In questo esempio, utilizziamo l'endpoint Stati Uniti orientali (Virginia settentrionale) - us-east-1.

  1. Determina se l'endpoint si risolve con un indirizzo IPv6 utilizzando il seguente comando. dig

    $ dig +short AAAA secretsmanager.us-east-1.amazonaws.com > 2600:1f18:e2f:4e05:1a8a:948e:7c08:c1c3
  2. Determina se la rete client può stabilire una connessione IPv6 utilizzando il seguente comando. curl Un codice di risposta 404 indica che la connessione è riuscita, mentre un codice di risposta 0 indica che la connessione non è riuscita.

    $ curl --ipv6 -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://secretsmanager.us-east-1.amazonaws.com > remote ip: 2600:1f18:e2f:4e05:1a8a:948e:7c08:c1c3 > response code: 404

Se è stato identificato un IP remoto e il codice di risposta non lo è0, è stata stabilita correttamente una connessione di rete all'endpoint utilizzando IPv6. L'IP remoto deve essere un indirizzo IPv6 perché il sistema operativo deve selezionare il protocollo valido per il client.

Se l'IP remoto è vuoto o il codice di risposta lo è0, la rete client o il percorso di rete verso l'endpoint lo è. IPv4-only È possibile verificare questa configurazione con il seguente curl comando.

$ curl -o /dev/null --silent -w "\nremote ip: %{remote_ip}\nresponse code: %{response_code}\n" https://secretsmanager.us-east-1.amazonaws.com > remote ip: 3.123.154.250 > response code: 404