

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à.

# Accedendo AWS Key Management Service
<a name="accessing-kms"></a>

È possibile lavorare con AWS KMS nei seguenti modi:

**Topics**
+ [Console di gestione AWS](#kms-console)
+ [AWS Command Line Interface](#kms-cli)
+ [AWS KMS REST API](#kms-api)
+ [AWS SDKs](#kms-sdk)
+ [Utilizzo di questo servizio con un AWS SDK](sdk-general-information-section.md)
+ [AWS Encryption SDK](#crypto-sdk)
+ [AWS KMS eventuale coerenza](#programming-eventual-consistency)
+ [Utilizzo del TLS post-quantistico ibrido con AWS KMS](pqtls.md)
+ [Connect a AWS KMS tramite un endpoint VPC](kms-vpc-endpoint.md)
+ [Supporto per endpoint dual-stack](ipv6-kms.md)

## Console di gestione AWS
<a name="kms-console"></a>

La console è un'interfaccia utente basata sul Web per la gestione AWS KMS e AWS le risorse. Se ti sei registrato a Account AWS, puoi accedere alla AWS KMS console accedendo Console di gestione AWS e selezionando AWS KMS dalla Console di gestione AWS home page.

### Autorizzazioni necessarie per utilizzare la console AWS KMS
<a name="console-permissions"></a>

Per utilizzare la AWS KMS console, gli utenti devono disporre di un set minimo di autorizzazioni che consentano loro di utilizzare le AWS KMS risorse disponibili. Account AWS Oltre a queste autorizzazioni AWS KMS , gli utenti devono disporre delle autorizzazioni per elencare gli utenti IAM e i ruoli IAM. Se decidi di creare una policy IAM più restrittiva delle autorizzazioni minime richieste, la console AWS KMS non funzionerà come previsto per gli utenti con tale policy IAM.

Per le autorizzazioni minime necessarie per consentire a un utente l'accesso in sola lettura alla console AWS KMS , consulta [Consenti a un utente di visualizzare le chiavi KMS nella console AWS KMS](customer-managed-policies.md#iam-policy-example-read-only-console).

Per consentire agli utenti di utilizzare la AWS KMS console per creare e gestire le chiavi KMS, allega la policy **AWSKeyManagementServicePowerUser**gestita all'utente, come descritto in. [AWS politiche gestite per AWS Key Management Service](security-iam-awsmanpol.md)

Non è necessario consentire autorizzazioni minime per la console agli utenti che utilizzano l' AWS KMS API tramite [AWS SDKs[AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/)](https://aws.amazon.com/tools/#sdk), o. [AWS Strumenti per PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/) Tuttavia, è necessario concedere a questi utenti l'autorizzazione per utilizzare l'API. Per ulteriori informazioni, consulta [Riferimento per le autorizzazioni](kms-api-permissions-reference.md).

## AWS Command Line Interface
<a name="kms-cli"></a>

È possibile utilizzare gli AWS CLI strumenti per impartire comandi o creare script dalla riga di comando del sistema per eseguire AWS (incluse AWS KMS) attività. 

Per ulteriori informazioni sull'utilizzo AWS KMS tramite AWS CLI, consulta la Guida di riferimento ai [AWS CLI comandi](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kms/index.html)

## AWS KMS REST API
<a name="kms-api"></a>

 L'architettura di AWS KMS è progettata per essere indipendente dal linguaggio di programmazione. REST APIÈ un'interfaccia HTTP per. AWS KMS ConREST API, si utilizzano richieste HTTP standard per creare, recuperare ed eliminare le chiavi. 

 Per ulteriori informazioni sull'utilizzo di AWS KMS REST API, consulta l'[AWS Key Management Service API Reference](https://docs.aws.amazon.com/kms/latest/APIReference/Welcome.html)

## AWS SDKs
<a name="kms-sdk"></a>

AWS fornisce SDKs (kit di sviluppo software) costituiti da librerie e codice di esempio per linguaggi e piattaforme di programmazione comuni (Java JavaScript, C, Python e così via). AWS SDKs Forniscono un modo conveniente per creare l'accesso programmatico a e. AWS KMS AWS AWS KMS è un REST servizio. È possibile inviare richieste AWS KMS utilizzando le librerie AWS SDK, che racchiudono le informazioni sottostanti AWS KMS REST API e semplificano le attività di programmazione. Per informazioni su AWS SDKs, incluso come scaricarle e installarle, consulta [Tools to Build on AWS](https://aws.amazon.com/developer/tools).

[Esempi di codice per AWS KMS l'utilizzo AWS SDKs](service_code_examples.md)Fornisce un buon punto di partenza per l'utilizzo AWS KMS tramite AWS SDKs.

# Utilizzo di questo servizio con un AWS SDK
<a name="sdk-general-information-section"></a>

AWS i kit di sviluppo software (SDKs) sono disponibili per molti linguaggi di programmazione più diffusi. Ogni SDK fornisce un’API, esempi di codice e documentazione che facilitano agli sviluppatori la creazione di applicazioni nel loro linguaggio preferito.


| Documentazione sugli SDK | Esempi di codice | 
| --- | --- | 
| [AWS SDK per C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK per C\$1\$1 esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI esempi di codice](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK per Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK per Go esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK per Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK per Java esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK per JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK per JavaScript esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK per Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK per Kotlin esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK per .NET esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK per PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK per PHP esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Strumenti per PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Strumenti per PowerShell esempi di codice](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK per Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK per Python (Boto3) esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK per Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK per Ruby esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK per Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK per Rust esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK per SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK per SAP ABAP esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK per Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK per Swift esempi di codice](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

**Esempio di disponibilità**  
Non riesci a trovare quello che ti serve? Richiedi un esempio di codice utilizzando il link **Fornisci un feedback** nella parte inferiore di questa pagina.

## AWS Encryption SDK
<a name="crypto-sdk"></a>

 AWS Encryption SDK è uno strumento per implementare la crittografia lato client nell'applicazione. Non fornisce l'accesso completo a KMS, ma si integra o può essere utilizzato come AWS KMS SDK autonomo senza fare riferimento alle chiavi KMS. Le librerie sono disponibili per Java JavaScript, C, Python e altri linguaggi di programmazione. 

Per ulteriori informazioni, consulta la [Guida per gli sviluppatori di AWS Encryption SDK](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/introduction.html).

AWS KMS key politiche e politiche IAM

## AWS KMS eventuale coerenza
<a name="programming-eventual-consistency"></a>

L' AWS KMS API segue un [eventuale modello di coerenza](https://en.wikipedia.org/wiki/Eventual_consistency) dovuto alla natura distribuita del sistema. Di conseguenza, le modifiche alle AWS KMS risorse potrebbero non essere immediatamente visibili ai comandi successivi eseguiti. 

Quando si eseguono chiamate AWS KMS API, potrebbe verificarsi un breve ritardo prima che la modifica sia disponibile per tutta la durata AWS KMS. Generalmente, occorrono pochissimi secondi per la propagazione della modifica in tutto il sistema, ma in alcuni casi possono essere necessari diversi minuti. Durante questo periodo, potrebbero verificarsi errori imprevisti, ad esempio `NotFoundException` o `InvalidStateException`. Ad esempio, AWS KMS potrebbe restituire un messaggio `NotFoundException` se si chiama `GetParametersForImport` subito dopo la chiamata`CreateKey`.

Ti consigliamo di configurare una strategia di ripetizione dei tentativi sui tuoi AWS KMS client per riprovare automaticamente le operazioni dopo un breve periodo di attesa. Per ulteriori informazioni, consulta [Retry behavior nella AWS SDKs and Tools Reference](https://docs.aws.amazon.com/sdkref/latest/guide/feature-retry-behavior.html) Guide.

Per le chiamate API correlate all'autorizzazione, puoi [usare un token di concessione](using-grant-token.md) per evitare potenziali ritardi e utilizzare subito le autorizzazioni incluse in una concessione. Per ulteriori informazioni, consulta [Consistenza finale (per concessioni)](grants.md#terms-eventual-consistency).

# Utilizzo del TLS post-quantistico ibrido con AWS KMS
<a name="pqtls"></a>

AWS Key Management Service (AWS KMS) supporta un'opzione ibrida di scambio di chiavi post-quantistiche per il protocollo di crittografia di rete Transport Layer Security (TLS). È possibile utilizzare questa opzione TLS quando ci si connette agli endpoint API AWS KMS . Queste caratteristiche opzionali di scambio di chiavi post-quantistiche ibride sono sicure almeno quanto la crittografia TLS che utilizziamo oggi e potrebbero fornire ulteriori vantaggi per la sicurezza a lungo termine. Tuttavia, influenzano la latenza e il throughput rispetto ai protocolli di scambio di chiavi classici in uso oggi.

I dati inviati a AWS Key Management Service (AWS KMS) sono protetti in transito dalla crittografia fornita da una connessione Transport Layer Security (TLS). Le classiche suite di crittografia supportate da AWS KMS per le sessioni TLS rendono gli attacchi di forza bruta sui meccanismi di scambio delle chiavi irrealizzabili con la tecnologia attuale. Tuttavia, se il calcolo quantistico su larga scala diventa una realtà in futuro, le classiche suite di crittografia utilizzate nei meccanismi di scambio delle chiavi TLS saranno suscettibili a questi attacchi. Se state sviluppando applicazioni che si basano sulla riservatezza a lungo termine dei dati trasmessi tramite una connessione TLS, dovreste prendere in considerazione un piano di migrazione alla crittografia post-quantistica prima che i computer quantistici su larga scala diventino disponibili per l'uso. AWS sta lavorando per prepararsi a questo futuro e vogliamo che anche voi siate ben preparati.

*Per proteggere i dati crittografati oggi da potenziali attacchi futuri, AWS partecipa con la comunità crittografica allo sviluppo di algoritmi quantistici resistenti o post-quantistici.* Abbiamo implementato suite di *crittografia ibride* post-quantistiche a scambio di chiavi AWS KMS che combinano elementi classici e post-quantistici per garantire che la connessione TLS sia almeno altrettanto potente come lo sarebbe con le suite di crittografia classiche.

[Queste suite di crittografia ibride sono disponibili per l'uso sui carichi di lavoro di produzione nella maggior parte dei casi. Regioni AWS](#pqtls-regions) Tuttavia, poiché le caratteristiche prestazionali e i requisiti di larghezza di banda delle suite di crittografia ibride sono diversi da quelli dei classici meccanismi di scambio di chiavi, consigliamo di [testarli sulle](pqtls-how-to.md#pqtls-testing) chiamate API in condizioni diverse. AWS KMS 

**Feedback**

Come sempre, la tua opinione e la partecipazione nei nostri repository open source è molto importante. Vorremmo soprattutto sapere come la tua infrastruttura interagisce con questa nuova variante del traffico TLS. 
+ Per fornire un feedback su questo argomento, usa il link **Feedback** nell'angolo in alto a destra di questa pagina.
+ Stiamo sviluppando queste suite di crittografia ibrida in open source nel repository di. [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls) GitHub Per fornire feedback sulla fruibilità delle suite crittografia o condividere nuove condizioni o risultati di test, [creare un problema](https://github.com/aws/s2n-tls/issues) nel repository s2n-tls.
+ Stiamo scrivendo esempi di codice per l'utilizzo del TLS post-quantistico ibrido nel repository. AWS KMS [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example) GitHub [Per porre domande o condividere idee sulla configurazione del client o AWS KMS del client HTTP per l'utilizzo delle suite di crittografia ibrida, crea un problema nel repository.](https://github.com/aws-samples/aws-kms-pq-tls-example/issues) aws-kms-pq-tls-example

**Supportato Regioni AWS**

Post-quantum TLS for AWS KMS è disponibile in tutti i Regioni AWS supporti. AWS KMS 

Per un elenco di AWS KMS endpoint per ciascuno Regione AWS, consulta [AWS Key Management Service endpoint](https://docs.aws.amazon.com/general/latest/gr/kms.html) e quote in. *Riferimenti generali di Amazon Web Services* Per ulteriori informazioni sugli endpoint FIPS, consulta [Endpoint FIPS](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints) nella *Riferimenti generali di Amazon Web Services*.

## Informazioni sullo scambio di chiavi post-quantistiche ibride in TLS
<a name="PQTLS-concepts"></a>

AWS KMS supporta suite di cifratura ibride post-quantistiche a scambio di chiavi. È possibile utilizzare AWS SDK for Java 2.x e AWS Common Runtime sui sistemi Linux per configurare un client HTTP che utilizza queste suite di crittografia. Quindi, ogni volta che ci si connette a un AWS KMS endpoint con il client HTTP, vengono utilizzate le suite di crittografia ibride.

Questo client HTTP utilizza [https://github.com/aws/s2n-tls](https://github.com/aws/s2n-tls), che è un'implementazione open source del protocollo TLS. Le suite di crittografia ibride utilizzate da s2n-tls sono implementate solo per lo scambio di chiavi, non per la crittografia dei dati diretta. Durante *lo scambio di chiavi*, il client e il server calcolano la chiave che utilizzeranno per crittografare e decrittografare i dati in rete.

Gli algoritmi s2n-tls utilizzati sono un *ibrido* che combina [Elliptic Curve Diffie-Hellman](https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman) (ECDH), un classico algoritmo di scambio di chiavi utilizzato oggi in TLS, con il [meccanismo di incapsulamento delle chiavi basato su Module-Lattice](https://csrc.nist.gov/pubs/fips/203/final) (ML-KEM), un algoritmo di crittografia e definizione delle chiavi a chiave pubblica che il National Institute for Standards and Technology (NIST) [ha designato come primo algoritmo di accordo di chiavi post-quantistiche standard](https://csrc.nist.gov/pubs/fips/203/final). Questo algoritmo ibrido utilizza ciascuno degli algoritmi in modo indipendente per generare una chiave. Quindi combina crittograficamente le due chiavi. Con s2n-tls, puoi [configurare un client HTTP](pqtls-how-to.md) con una preferenza per il protocollo TLS post-quantistico, che inserisce ECDH con ML-KEM in prima posizione nell'elenco delle preferenze. Gli algoritmi di scambio di chiavi classici sono inclusi nell'elenco delle preferenze per garantire la compatibilità, ma sono inferiori nell'ordine delle preferenze.

## Utilizzo del TLS post-quantistico ibrido con AWS KMS
<a name="pqtls-details"></a>

Puoi utilizzare il TLS post-quantistico ibrido per le tue chiamate a. AWS KMS Quando si configura l'ambiente di test del client HTTP, tenere presente le seguenti informazioni:

**Crittografia in transito**

Le suite di crittografia ibrida in s2n-tls vengono utilizzate solo per la crittografia in transito. Proteggono i tuoi dati mentre viaggiano dal client all'endpoint. AWS KMS AWS KMS non utilizza queste suite di crittografia per crittografare i dati con. AWS KMS keys

Invece, quando AWS KMS crittografa i dati con chiavi KMS, utilizza la crittografia simmetrica con chiavi a 256 bit e l'algoritmo Advanced Encryption Standard in Galois Counter Mode (AES-GCM), che è già resistente ai calcoli quantistici. Attacchi teorici futuri di calcolo quantistico su larga scala su testi cifrati creati con chiavi AES-GCM a 256 bit [riducono l'effettiva sicurezza della chiave a 128 bit](https://www.etsi.org/images/files/ETSIWhitePapers/QuantumSafeWhitepaper.pdf). Questo livello di sicurezza è sufficiente a rendere impossibili gli attacchi di forza bruta ai testi cifrati. AWS KMS 

**Sistemi supportati**

L'uso delle suite di crittografia ibride in s2n-tls al momento è supportato solo su sistemi Linux. Inoltre, queste suite di crittografia sono supportate solo se supportano Common Runtime, come SDKs ad esempio. AWS AWS SDK for Java 2.x Per vedere un esempio, consulta [Configura il TLS post-quantistico ibrido](pqtls-how-to.md).

**AWS KMS Endpoints**

AWS KMS [supporta il TLS post-quantistico ibrido su tutti gli endpoint, inclusi gli endpoint convalidati FIPS 140-3.](https://docs.aws.amazon.com/general/latest/gr/kms.html)

# Configura il TLS post-quantistico ibrido
<a name="pqtls-how-to"></a>

In questa procedura, aggiungi una dipendenza Maven per il client HTTP Common Runtime. AWS Quindi, configura un client HTTP che preferisca il protocollo TLS post-quantistico. Quindi, crea un AWS KMS client che utilizzi il client HTTP.

Per un esempio completo di configurazione e utilizzo del protocollo TLS post-quantistico ibrido con AWS KMS, consultare il repository [https://github.com/aws-samples/aws-kms-pq-tls-example](https://github.com/aws-samples/aws-kms-pq-tls-example).

**Nota**  
Il AWS Common Runtime HTTP Client, disponibile in anteprima, è diventato disponibile a livello generale nel febbraio 2023. In tale versione, la classe `tlsCipherPreference` e il parametro del metodo `tlsCipherPreference()` vengono sostituiti dal parametro del metodo `postQuantumTlsEnabled()`. Se stavi usando questo esempio durante l'anteprima, devi aggiornare il codice.

1. Aggiungi il client AWS Common Runtime alle tue dipendenze Maven. Si consiglia di utilizzare l'ultima versione disponibile. 

   Ad esempio, questa istruzione aggiunge la versione `2.30.22` del client AWS Common Runtime alle dipendenze Maven. 

   ```
   <dependency>
       <groupId>software.amazon.awssdk</groupId>
       <artifactId>aws-crt-client</artifactId>
       <version>2.30.22</version>
   </dependency>
   ```

1. Per abilitare le suite ibride di cifratura post-quantistica, aggiungile al progetto e inizializzalo. AWS SDK for Java 2.x Quindi abilita le suite di crittografia post-quantistica ibrida come mostrato nell'esempio seguente.

   Questo codice utilizza il parametro `postQuantumTlsEnabled()` method per configurare un [client HTTP di runtime AWS comune](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html) che preferisce la suite di cifratura post-quantistica ibrida consigliata, ECDH with. ML-KEM Quindi utilizza il client HTTP configurato per creare un'istanza del client asincrono,. AWS KMS [https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html](https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/kms/KmsAsyncClient.html) Una volta completato questo codice, tutte le richieste [API AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/) sull'istanza `KmsAsyncClient` utilizzano un protocollo TLS post-quantistico ibrido.

   ```
   // Configure HTTP client
   SdkAsyncHttpClient awsCrtHttpClient = AwsCrtAsyncHttpClient.builder()
             .postQuantumTlsEnabled(true)
             .build();
   
   // Create the AWS KMS async client
   KmsAsyncClient kmsAsync = KmsAsyncClient.builder()
            .httpClient(awsCrtHttpClient)
            .build();
   ```

1. Metti alla prova le tue AWS KMS chiamate con il TLS post-quantistico ibrido.

   Quando richiami le operazioni AWS KMS API sul AWS KMS client configurato, le chiamate vengono trasmesse all' AWS KMS endpoint utilizzando il TLS post-quantistico ibrido. Per testare la tua configurazione, chiama un' AWS KMS API, ad esempio. `[ListKeys](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeys.html)`

   ```
   ListKeysReponse keys = kmsAsync.listKeys().get();
   ```

## Testa la tua configurazione TLS ibrida post-quantistica
<a name="pqtls-testing"></a>

Valuta la possibilità di eseguire i seguenti test con suite di crittografia ibrida sulle applicazioni che effettuano chiamate. AWS KMS
+ Visualizza la `tlsDetails` sezione nella voce di CloudTrail registro relativa a una chiamata AWS KMS API effettuata dalla tua applicazione. Il `keyExchange` campo deve menzionare un algoritmo ibrido come`X25519MLKEM768`. Per vedere un esempio, consulta [Decrittografa con una chiave di crittografia simmetrica standard su una connessione TLS post-quantistica](ct-decrypt.md#ct-decrypt-default-pqtls).
+ Esegui benchmark utilizzando TLS post-quantistico ibrido. Lo scambio di chiavi ibride aumenta le dimensioni e il tempo di elaborazione di alcuni messaggi nell'handshake TLS, ma l'impatto complessivo sulle prestazioni dovrebbe essere impercettibile nella maggior parte dei casi.
+ Provare a connettersi da posizioni diverse. A seconda del percorso di rete seguito dalla richiesta, potresti scoprire che host intermedi, proxy o firewall legacy con ispezione approfondita dei pacchetti (DPI) bloccano la richiesta. Ciò potrebbe derivare dall'utilizzo dei nuovi gruppi di scambio di chiavi nella [ClientHello](https://datatracker.ietf.org/doc/html/rfc8446#section-4.1.2)parte dell'handshake TLS o dai messaggi di scambio di chiavi più grandi. Se hai problemi a risolvere questi problemi, collabora con il tuo team di sicurezza o gli amministratori IT per aggiornare la configurazione pertinente e sbloccare i nuovi gruppi di scambio di chiavi TLS. 

## Scopri di più sul TLS post-quantistico in AWS KMS
<a name="pqtls-see-also"></a>

Per ulteriori informazioni sull'utilizzo del TLS ibrido post-quantistico in AWS KMS, consulta le seguenti risorse.
+ [Per ulteriori informazioni sulla crittografia post-quantistica all'indirizzo AWS, compresi i collegamenti ai post di blog e ai documenti di ricerca, consulta Crittografia post-quantistica.](https://aws.amazon.com/security/post-quantum-cryptography/)
+ Per informazioni su s2n-tls, consultare [Introduzione di s2n-tls, una nuova implementazione TLS open source](https://aws.amazon.com/blogs/security/introducing-s2n-a-new-open-source-tls-implementation/) e [Utilizzo di s2n-tls](https://github.com/aws/s2n-tls/tree/main/docs/usage-guide).
+ *Per informazioni sul client HTTP AWS Common Runtime, consulta [Configurazione del client HTTP basato su AWS CRT nella Guida per gli sviluppatori](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration-crt.html).AWS SDK for Java 2.x *
+ Per informazioni sul progetto di crittografia post-quantistica presso il National Institute for Standards and Technology (NIST), consultare [Post-Quantum Cryptography](https://csrc.nist.gov/Projects/Post-Quantum-Cryptography) (Crittografia post-quantistica).
+ Per informazioni sulla standardizzazione della crittografia post-quantistica del NIST, consulta la sezione [Standardizzazione della crittografia post-quantistica](https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization).

# Connect a AWS KMS tramite un endpoint VPC
<a name="kms-vpc-endpoint"></a>

Puoi connetterti direttamente AWS KMS tramite un endpoint con interfaccia privata nel tuo cloud privato virtuale (VPC). Quando si utilizza un endpoint VPC di interfaccia, la comunicazione tra il VPC e il VPC AWS KMS viene condotta interamente all'interno della rete. AWS 

AWS KMS supporta gli endpoint Amazon Virtual Private Cloud (Amazon VPC) con tecnologia. [AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/) Ogni endpoint VPC è rappresentato da una o più [interfacce di rete elastiche](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) (ENIs) con indirizzi IP privati nelle sottoreti VPC. 

L'interfaccia VPC endpoint collega il tuo VPC direttamente AWS KMS senza un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. AWS Direct Connect Le istanze del tuo VPC non necessitano di indirizzi IP pubblici con cui comunicare. AWS KMS

**Regioni**  
AWS KMS supporta gli endpoint VPC e le policy degli endpoint VPC in tutti i casi in cui è supportato. Regioni AWS [AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html)

**Considerazioni sugli endpoint AWS KMS VPC**  
*Prima di configurare un endpoint VPC di interfaccia per AWS KMS, consulta l'argomento [Proprietà e limitazioni dell'endpoint dell'interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) nella Guida.AWS PrivateLink *  
AWS KMS il supporto per un endpoint VPC include quanto segue.  
+ Puoi utilizzare l'endpoint VPC per richiamare tutte le [operazioni API AWS KMS](https://docs.aws.amazon.com/kms/latest/APIReference/API_Operations.html) dal VPC.
+ [È possibile creare un endpoint VPC di interfaccia che si connette a un endpoint AWS KMS regionale o a un endpoint FIPS.AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html)
+ Puoi utilizzare AWS CloudTrail i log per verificare l'utilizzo delle chiavi KMS tramite l'endpoint VPC. Per informazioni dettagliate, vedi [Registrazione delle AWS KMS richieste che utilizzano un endpoint VPC](vpce-logging.md).

**Topics**
+ [Crea un endpoint VPC per AWS KMS](vpce-create-endpoint.md)
+ [Connect a un AWS KMS endpoint VPC](vpce-connect.md)
+ [Usa gli endpoint VPC per controllare l'accesso alle risorse AWS KMS](vpce-policy-condition.md)
+ [Registrazione delle AWS KMS richieste che utilizzano un endpoint VPC](vpce-logging.md)

# Crea un endpoint VPC per AWS KMS
<a name="vpce-create-endpoint"></a>

Puoi creare un endpoint VPC per AWS KMS utilizzando la console Amazon VPC o l'API Amazon VPC. Segui le procedure per [creare un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) utilizzando uno dei seguenti valori.
+ Per creare un endpoint VPC per AWS KMS, usa il seguente nome di servizio: 

  ```
  com.amazonaws.region.kms
  ```

  Ad esempio, nella regione Stati Uniti occidentali (Oregon) (`us-west-2`), il nome del servizio sarebbe:

  ```
  com.amazonaws.us-west-2.kms
  ```
+ Per creare un endpoint VPC che si collega a un [endpoint FIPS AWS KMS](https://docs.aws.amazon.com/general/latest/gr/kms.html), usa il seguente nome di servizio:

  ```
  com.amazonaws.region.kms-fips
  ```

  Ad esempio, nella regione Stati Uniti occidentali (Oregon) (`us-west-2`), il nome del servizio sarebbe:

  ```
  com.amazonaws.us-west-2.kms-fips
  ```

Per semplificare l'utilizzo dell'endpoint VPC, puoi abilitare un [nome DNS privato](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) per l'endpoint VPC. Se selezioni l'opzione **Enable DNS Name** (Abilita nome DNS), il nome host DNS standard AWS KMS si risolve nell'endpoint VPC. Ad esempio, `https://kms.us-west-2.amazonaws.com` si risolverebbe in un endpoint VPC connesso al nome del servizio `com.amazonaws.us-west-2.kms`.

Questa opzione rende più semplice utilizzare l'endpoint VPC. Per impostazione predefinita, AWS CLI utilizza il nome host AWS KMS DNS standard, quindi non è necessario specificare l'URL dell'endpoint VPC nelle applicazioni e nei comandi. AWS SDKs 

Per ulteriori informazioni, consulta la sezione [Accesso a un servizio tramite un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#access-service-though-endpoint) nella *Guida di AWS PrivateLink *.

# Connect a un AWS KMS endpoint VPC
<a name="vpce-connect"></a>

Puoi connetterti AWS KMS tramite l'endpoint VPC utilizzando un AWS SDK, o. AWS CLI AWS Strumenti per PowerShell Per specificare l'endpoint VPC, utilizzare il nome DNS. 

Ad esempio, il comando [list-keys](https://docs.aws.amazon.com/cli/latest/reference/kms/list-keys.html) utilizza il parametro `endpoint-url` per specificare l'endpoint VPC. Per utilizzare un comando come questo, sostituisci l'ID dell'endpoint VPC con uno presente nel tuo account.

```
$ aws kms list-keys --endpoint-url https://vpce-1234abcdf5678c90a-09p7654s-us-east-1a.ec2.us-east-1.vpce.amazonaws.com
```

**Autorizzazioni richieste**  
Affinché una AWS KMS richiesta che utilizza un endpoint VPC abbia esito positivo, il principale richiede le autorizzazioni da due fonti:  
+ Una [policy chiave](key-policies.md), una [policy IAM](iam-policies.md) o una [concessione](grants.md) deve concedere l'autorizzazione al principale per chiamare l'operazione sulla risorsa (chiave KMS o alias).
+ Una policy di endpoint VPC deve concedere l'autorizzazione al principale per utilizzare l'endpoint per effettuare la richiesta.
Ad esempio, una policy chiave potrebbe concedere al principale un'autorizzazione per chiamare [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) in una determinata chiave KMS. Tuttavia, la policy di endpoint VPC potrebbe non consentire a tale principale di chiamare `Decrypt` sulla chiave KMS utilizzando l'endpoint.  
Oppure una policy [DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html)sugli endpoint VPC potrebbe consentire a un principale di utilizzare l'endpoint per richiamare determinate chiavi KMS. Tuttavia se il principale non dispone di tali autorizzazioni da una policy delle chiavi, una policy IAM o una concessione, la richiesta non riesce.  
Puoi creare una policy di endpoint VPC quando crei l'endpoint e puoi modificare la policy di endpoint VPC in qualsiasi momento. Utilizza la console di gestione VPC o le operazioni [CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)o [ModifyVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html). Puoi anche creare e modificare una policy per gli endpoint VPC [utilizzando](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) un modello. AWS CloudFormation Per informazioni sull'utilizzo della console di gestione VPC, consulta la sezione [Creazione di un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#create-interface-endpoint) e [Modifica di un endpoint di interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#modify-interface-endpoint) nella *Guida di AWS PrivateLink *.

**Hostname privati**  
Se hai attivato nomi host privati al momento della creazione dell'endpoint VPC, non è necessario specificare l'URL dell'endpoint VPC nella configurazione dell'applicazione o nei comandi della CLI. Il nome host DNS standard AWS KMS viene risolto nell'endpoint VPC. Seleziona AWS CLI e SDKs utilizza questo nome host per impostazione predefinita, in modo da poter iniziare a utilizzare l'endpoint VPC per connetterti a AWS KMS un endpoint regionale senza modificare nulla negli script e nelle applicazioni.   
Per utilizzare nomi host privati, gli attributi `enableDnsHostnames` e `enableDnsSupport` del VPC devono essere impostati su `true`. Per impostare questi attributi, usa l'operazione. [ModifyVpcAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcAttribute.html) Per informazioni dettagliate, consulta la sezione [Visualizzazione e aggiornamento degli attributi DNS per il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating) nella *Guida per l'utente di Amazon VPC*.

# Usa gli endpoint VPC per controllare l'accesso alle risorse AWS KMS
<a name="vpce-policy-condition"></a>

Puoi controllare l'accesso alle AWS KMS risorse e alle operazioni quando la richiesta proviene da VPC o utilizza un endpoint VPC. A tale scopo, utilizza una delle seguenti [chiavi di condizione globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#AvailableKeys) in una [policy delle chiavi](key-policies.md) o una [policy IAM](iam-policies.md).
+ Usa la chiave di condizione `aws:sourceVpce` per concedere o limitare l'accesso in base all'endpoint VPC.
+ Usa la chiave di condizione `aws:sourceVpc` per concedere o limitare l'accesso in base al VPC che ospita l'endpoint privato.

**Nota**  
Fai attenzione durante la creazione delle policy IAM e delle policy delle chiavi basate sull'endpoint VPC. Se una dichiarazione di policy richiede che le richieste provengano da un particolare VPC o endpoint VPC, le richieste provenienti da AWS servizi integrati che utilizzano una AWS KMS risorsa per conto dell'utente potrebbero non riuscire. Per assistenza, consulta [Utilizzo delle condizioni degli endpoint VPC nelle policy con autorizzazioni AWS KMS](conditions-aws.md#conditions-aws-vpce).  
Inoltre, la chiave di condizione `aws:sourceIP` non è efficace quando la richiesta proviene da un [endpoint Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html). Per limitare le richieste a un endpoint VPC, utilizza il comando `aws:sourceVpce` o le chiavi di condizione `aws:sourceVpc`. Per ulteriori informazioni, consulta la sezione [Gestione delle identità e degli accessi per endpoint VPC e servizi endpoint VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-iam.html) nella *Guida di AWS PrivateLink *. 

È possibile utilizzare queste chiavi di condizione globali per controllare l'accesso a AWS KMS keys (chiavi KMS), gli alias e a operazioni del genere [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)che non dipendono da alcuna risorsa particolare.

Ad esempio, la seguente policy delle chiavi di esempio consente a un utente di eseguire alcune operazioni di crittografia con una chiave KMS solo quando la richiesta utilizza l'endpoint VPC specificato. Quando un utente effettua una richiesta a AWS KMS, l'ID dell'endpoint VPC nella richiesta viene confrontato con il valore della chiave di `aws:sourceVpce` condizione nella policy. Se non corrisponde, la richiesta viene rifiutata. 

Per utilizzare una politica come questa, sostituisci l' Account AWS ID segnaposto e l'endpoint VPC IDs con valori validi per il tuo account.

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

****  

```
{
    "Id": "example-key-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableIAMpolicies",
            "Effect": "Allow",
            "Principal": {"AWS":["111122223333"]},
            "Action": ["kms:*"],
            "Resource": "*"
        },
        {
            "Sid": "Restrict usage to my VPC endpoint",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                "aws:sourceVpce": "vpce-1234abcdf5678c90a"
                }
            }
        }

    ]
}
```

------

Puoi anche utilizzare la chiave di condizione `aws:sourceVpc` per limitare l'accesso alle tue chiavi KMS in base al VPC in cui risiede l'endpoint VPC. 

I seguenti comandi di esempio della policy delle chiavi consentono i comandi che gestiscono la chiave KMS solo quando la loro provenienza è `vpc-12345678`. Inoltre, consente i comandi che utilizzano la chiave KMS per le operazioni di crittografia solo quando provengono da `vpc-2b2b2b2b`. Puoi usare una policy come questa se un'applicazione è in esecuzione in un VPC, ma devi utilizzare un secondo VPC separato per le funzioni di gestione. 

Per utilizzare una politica come questa, sostituisci l' Account AWS ID segnaposto e l'endpoint VPC IDs con valori validi per il tuo account.

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

****  

```
{
    "Id": "example-key-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAdministrativeActionsFromVPC",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Create*",
                "kms:Enable*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-12345678"
                }
            }
        },
        {
            "Sid": "AllowKeyUsageFromVPC2b2b2b2b",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:sourceVpc": "vpc-2b2b2b2b"
                }
            }
        },
        {
            "Sid": "AllowReadActionsEverywhere",
            "Effect": "Allow",
            "Principal": {
                "AWS": "111122223333"
            },
            "Action": [
                "kms:Describe*",
                "kms:List*",
                "kms:Get*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Registrazione delle AWS KMS richieste che utilizzano un endpoint VPC
<a name="vpce-logging"></a>

AWS CloudTrail registra tutte le operazioni che utilizzano l'endpoint VPC. Quando una richiesta AWS KMS utilizza un endpoint VPC, l'ID dell'endpoint VPC viene visualizzato nella voce di [AWS CloudTrail registro che registra](logging-using-cloudtrail.md) la richiesta. Puoi utilizzare l'ID endpoint per verificare l'uso del tuo endpoint AWS KMS VPC.

Tuttavia, CloudTrail i registri non includono le operazioni richieste dai responsabili in altri account o le richieste di AWS KMS operazioni su chiavi e alias KMS in altri account. Inoltre, per proteggere il tuo VPC, le richieste che vengono rifiutate da una policy sugli endpoint VPC, ma che altrimenti sarebbero state consentite, non vengono registrate in. [AWS CloudTrail](logging-using-cloudtrail.md)

Ad esempio, questa voce di log di esempio registra una richiesta [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) che utilizza l'endpoint VPC. Il campo `vpcEndpointId` viene visualizzato alla fine della voce di log.

```
{
  "eventVersion":"1.05",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "EX_PRINCIPAL_ID",
    "arn": "arn:aws:iam::111122223333:user/Alice",
    "accessKeyId": "EXAMPLE_KEY_ID",
    "accountId": "111122223333",
    "userName": "Alice"
  },
  "eventTime":"2018-01-16T05:46:57Z",
  "eventSource":"kms.amazonaws.com",
  "eventName":"GenerateDataKey",
  "awsRegion":"eu-west-1",
  "sourceIPAddress":"172.01.01.001",
  "userAgent":"aws-cli/1.14.23 Python/2.7.12 Linux/4.9.75-25.55.amzn1.x86_64 botocore/1.8.27",
  "requestParameters":{
    "keyId":"1234abcd-12ab-34cd-56ef-1234567890ab",
    "numberOfBytes":128
  },
  "responseElements":null,
  "requestID":"a9fff0bf-fa80-11e7-a13c-afcabff2f04c",
  "eventID":"77274901-88bc-4e3f-9bb6-acf1c16f6a7c",
  "readOnly":true,
  "resources":[{
    "ARN":"arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
    "accountId":"111122223333",
    "type":"AWS::KMS::Key"
  }],
  "eventType":"AwsApiCall",
  "recipientAccountId":"111122223333",
  "vpcEndpointId": "vpce-1234abcdf5678c90a"
}
```

# Supporto per endpoint dual-stack
<a name="ipv6-kms"></a>

AWS KMS fornisce un endpoint pubblico dual-stack che supporta sia i client che i client. IPv4 IPv6 Un endpoint dual-stack consente ai client di comunicare con uno o più indirizzi. AWS KMS IPv4 IPv6 [Per ulteriori informazioni sugli endpoint, consulta AWS KMS Endpoints and Quotas.AWS Key Management Service](https://docs.aws.amazon.com//general/latest/gr/kms.html)

L'endpoint pubblico AWS KMS dual-stack supporta sia i client che i client. `https://kms.your-region.api.aws` IPv4 IPv6 AWS KMS è anche accessibile privatamente IPv6 da IPv4 e verso il tuo cloud privato virtuale (VPC) utilizzando. AWS PrivateLink Per ulteriori informazioni sulla creazione di endpoint VPC con interfaccia privata, vedere. AWS KMS[Connect a AWS KMS tramite un endpoint VPC](kms-vpc-endpoint.md)

Per ulteriori informazioni sull' IPv6 indirizzamento per te VPCs, consulta [How Amazon VPC works](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-ip-addressing) nella *Amazon Virtual Private Cloud User* Guide. *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Indirizzamento IP per le tue sottoreti nella Guida per l'utente VPCs di Amazon Virtual](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#vpc-ipv6) Private Cloud.*

## Funzionalità non disponibili su IPv6
<a name="kms-ipv6-limitations"></a>

AWS KMS non può comunicare IPv6 con gli archivi AWS CloudHSM chiave o gli archivi di chiavi esterni. Questa limitazione non impedisce di AWS KMS APIs effettuare chiamate IPv6.