

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

# Accesso ad Amazon Keyspaces (per Apache Cassandra)
<a name="accessing"></a>

Puoi accedere ad Amazon Keyspaces utilizzando la console AWS CloudShell, a livello di codice eseguendo un `cqlsh` client, l' AWS SDK o utilizzando un driver Cassandra con licenza Apache 2.0. Amazon Keyspaces supporta driver e client compatibili con Apache Cassandra 3.11.2. Prima di accedere ad Amazon Keyspaces, devi completare la configurazione AWS Identity and Access Management e quindi concedere le autorizzazioni di accesso all'identità IAM ad Amazon Keyspaces.

## Configurazione AWS Identity and Access Management
<a name="SettingUp.IAM"></a>

### Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L’utente root dispone dell’accesso a tutte le risorse e tutti i Servizi AWS nell’account. Come best practice di sicurezza, assegna l’accesso amministrativo a un utente e utilizza solo l’utente root per eseguire [attività che richiedono l’accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

### Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull’accesso utilizzando un utente root, consulta la pagina [Accedere come utente root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) nella *Guida per l’utente di Accedi ad AWS *.

1. Abilita l’autenticazione a più fattori (MFA) per l’utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita il Centro identità IAM.

   Per istruzioni, consulta [Abilitazione del AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Nel Centro identità IAM, assegna l’accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere come utente del Centro identità IAM, utilizza l’URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l’utente del Centro identità IAM.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegnazione dell’accesso ad altri utenti**

1. Nel Centro identità IAM, crea un set di autorizzazioni conforme alla best practice per l’applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l’utente di AWS IAM Identity Center *.

1. Assegna al gruppo prima gli utenti e poi l’accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) nella *Guida per l’utente di AWS IAM Identity Center *.

## Configurazione di Amazon Keyspaces
<a name="SettingUp.KEY"></a>

 [L'accesso alle risorse di Amazon Keyspaces è gestito tramite IAM.](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) Utilizzando IAM, puoi associare policy a utenti, ruoli e identità federate IAM che concedono autorizzazioni di lettura e scrittura a risorse specifiche in Amazon Keyspaces. 

Per iniziare a concedere le autorizzazioni a un'identità IAM, puoi utilizzare una delle policy AWS gestite per Amazon Keyspaces:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— questa politica concede le autorizzazioni per accedere a tutte le risorse in Amazon Keyspaces con accesso completo a tutte le funzionalità.
+ [AmazonKeyspacesReadOnlyAccess\$1v2](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesReadOnlyAccess_v2.html): questa politica concede autorizzazioni di sola lettura ad Amazon Keyspaces.

Per una spiegazione dettagliata delle azioni definite nelle politiche gestite, consulta. [AWS politiche gestite per Amazon Keyspaces](security-iam-awsmanpol.md)

Per limitare l'ambito delle azioni che un'identità IAM può eseguire o limitare le risorse a cui l'identità può accedere, puoi creare una policy personalizzata che utilizzi la policy `AmazonKeyspacesFullAccess` gestita come modello e rimuovere tutte le autorizzazioni non necessarie. Puoi anche limitare l'accesso a spazi chiave o tabelle specifici. Per ulteriori informazioni su come limitare le azioni o limitare l'accesso a risorse specifiche in Amazon Keyspaces, consulta. [Come funziona Amazon Keyspaces con IAM](security_iam_service-with-iam.md) 

Per accedere ad Amazon Keyspaces dopo aver creato Account AWS e creato una policy che concede un accesso tramite identità IAM ad Amazon Keyspaces, continua con una delle seguenti sezioni:
+ [Utilizzo della console](console_keyspaces.md)
+ [Utilizzando AWS CloudShell](using-aws-with-cloudshell.md)

# Accesso ad Amazon Keyspaces tramite la console
<a name="console_keyspaces"></a>

Puoi accedere alla console per Amazon Keyspaces all'indirizzo. [https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) Per ulteriori informazioni sull' Console di gestione AWS accesso, consulta [Controlling IAM users access to Console di gestione AWS nella](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_controlling-access.html) IAM User Guide.

Puoi utilizzare la console per eseguire le seguenti operazioni in Amazon Keyspaces:
+ Crea, elimina e gestisci spazi chiave e tabelle.
+ Monitora le metriche importanti della tabella nella scheda **Monitor** di una tabella:
  + Dimensioni fatturabili della tabella (byte)
  + Metriche della capacità
+ Esegui le query utilizzando l'editor CQL o tramite l'[AWS CloudShell esperienza integrata](console_cloudshell_integration.md), ad esempio inserisci, aggiorna ed elimina dati.
+ Connect ad Amazon Keyspaces direttamente tramite AWS CloudShell il supporto CQLSH integrato.
+ Modifica la configurazione del partizionatore dell'account.
+ Visualizza le metriche relative alle prestazioni e agli errori per l'account sulla dashboard.

# Connect ad Amazon Keyspaces utilizzando la AWS CloudShell console
<a name="console_cloudshell_integration"></a>

AWS CloudShell offre un modo semplificato per connettersi ad Amazon Keyspaces direttamente dalla console. L' AWS CloudShell integrazione inizializza automaticamente `cqlsh-expansion` per te e stabilisce una connessione a uno spazio chiave specifico.

## Guida introduttiva all'integrazione AWS CloudShell
<a name="cloudshell_getting_started"></a>

1. **Accedi all' AWS CloudShell integrazione**: dalla console Amazon Keyspaces, accedi al keyspace a cui desideri connetterti e scegli il pulsante Connect **to Keyspaces**. AWS CloudShell 

1. **Comando di configurazione precompilato**: quando scegli il AWS CloudShell pulsante, il sistema fornisce un comando precompilato che include i parametri di inizializzazione e connessione necessari:

   ```
   cqlsh-expansion.init ; cqlsh-expansion cassandra.region.amazonaws.com 9142 --ssl -my_keyspace
   ```

1. ****Fai clic su Esegui****

1. **Attendi che Amazon Keyspaces stabilisca la connessione**: attendi il completamento del processo di configurazione e la connessione al keyspace selezionato.

1. **Esegui comandi**: una volta connesso, puoi scrivere ed eseguire comandi CQL direttamente sullo spazio chiave selezionato.

## Comandi CQLSH disponibili
<a name="available_cqlsh_commands"></a>

L' AWS CloudShell integrazione fornisce l'accesso alla funzionalità CQLSH standard, incluso il supporto per comandi oltre a CQL di base.
+ **Descrivi**: elenca e visualizza descrizioni dettagliate di spazi chiave e tabelle.
+ **Copia**: esporta l'output della query in un file per un'elaborazione successiva.
+ **Fonte**: esegue istruzioni CQL da un file.
+ **Navigazione nella cronologia dei comandi**: scorri i comandi precedenti utilizzando le scorciatoie da tastiera.
+ **Esecuzione delle query**: esegue le query direttamente dall'interfaccia della tastiera.
+ Copia **dell'output: copia** i risultati come testo semplice da utilizzare in altre applicazioni.

## Considerazioni sulle funzionalità
<a name="feature_considerations"></a>

Quando utilizzi l' AWS CloudShell integrazione, considera i seguenti compromessi.

**Le seguenti funzionalità non sono supportate:**
+ Suggerimenti sulla sintassi CQL e funzionalità di completamento automatico.
+ Strumenti di editor come show autocomplete, show tooltip, find, find and replace, redo, attiva/disattiva i commenti di blocco, attiva/disattiva la piegatura del codice, attiva/disattiva i commenti alle righe e annulla.

**Funzionalità modificata:**
+ **Download CSV**: per scaricare i risultati in formato CSV, specifica l'`>`operatore per reindirizzare l'output del comando:

  ```
  SELECT * FROM my_table > file_name.csv
  ```
+ **Visualizzazione JSON**: è possibile visualizzare gli elementi in formato JSON senza richiedere la conversione dei dati.
+ **Interfaccia in stile terminale**: l'esperienza funziona come un'interfaccia terminale anziché come un editor di codice completo.

L' AWS CloudShell integrazione semplifica il processo di connessione fornendo al contempo funzionalità CQL essenziali per la gestione dei dati di Amazon Keyspaces direttamente da. Console di gestione AWS

Per informazioni su come creare uno spazio di chiavi e una tabella Amazon Keyspaces e configurarlo con dati applicativi di esempio, consulta. [Guida introduttiva ad Amazon Keyspaces (per Apache Cassandra)](getting-started.md) 

# Utilizzo AWS CloudShell per accedere ad Amazon Keyspaces
<a name="using-aws-with-cloudshell"></a>

AWS CloudShell è una shell preautenticata basata su browser che è possibile avviare direttamente da. Console di gestione AWSÈ possibile eseguire AWS CLI comandi AWS sui servizi utilizzando la shell preferita (Bash o Z shell). PowerShell AWS CloudShell viene preautenticato con le credenziali della console e include strumenti comuni per lavorare con AWS i servizi, tra cui AWS CLI Python e Node.js.

Si [avvia AWS CloudShell da e Console di gestione AWS le](https://docs.aws.amazon.com/cloudshell/latest/userguide/working-with-cloudshell.html#launch-options) AWS credenziali utilizzate per accedere alla console sono automaticamente disponibili in una nuova sessione di shell. Questa preautenticazione degli AWS CloudShell utenti consente di saltare la configurazione delle credenziali quando si interagisce con servizi AWS come Amazon Keyspaces utilizzando `cqlsh` o la AWS CLI versione 2 (preinstallata nell'ambiente di calcolo della shell).

## AWS CloudShell opzioni di integrazione
<a name="cloudshell-integration-options"></a>

Amazon Keyspaces offre due modi di utilizzo: AWS CloudShell

1. ** AWS CloudShell Esperienza integrata**: un metodo di connessione semplificato disponibile direttamente dalla console Amazon Keyspaces che inizializza `cqlsh-expansion` automaticamente e si connette a uno spazio di chiavi specifico. Per istruzioni complete sull'uso di questa esperienza integrata, consulta. [Connect ad Amazon Keyspaces utilizzando la AWS CloudShell console](console_cloudshell_integration.md)

1. ** AWS CloudShell Configurazione manuale**: installazione e configurazione manuali `cqlsh` in AWS CloudShell. I passaggi sono descritti nelle sezioni seguenti e offrono un maggiore controllo sul processo di configurazione e consentono configurazioni personalizzate.

## Prerequisiti
<a name="cloudshell-prerequisites"></a>

Prima di utilizzare Amazon Keyspaces con AWS CloudShell, assicurati di avere:
+ Un AWS account con accesso ad Amazon Keyspaces e AWS CloudShell
+ Autorizzazioni IAM appropriate per utilizzare entrambi i servizi
+ Familiarità di base con Cassandra Query Language (CQL)

## Iniziare con AWS CloudShell
<a name="getting-started-cloudshell"></a>

Per accedere a AWS CloudShell:

1. Accedi al Console di gestione AWS

1. Avvia AWS CloudShell scegliendo l' AWS CloudShell icona nella barra di navigazione nella parte superiore della console o accedendo a [https://console.aws.amazon.com/cloudshell/](https://console.aws.amazon.com/cloudshell/)

1. Attendi l' AWS CloudShell inizializzazione dell'ambiente

## Ottenere le autorizzazioni IAM per AWS CloudShell
<a name="cloudshell-permissions"></a>

Utilizzando le risorse di gestione degli accessi fornite da AWS Identity and Access Management, gli amministratori possono concedere le autorizzazioni agli utenti IAM in modo che possano accedere AWS CloudShell e utilizzare le funzionalità dell'ambiente.

Il modo più rapido per un amministratore di concedere l'accesso agli utenti è tramite una AWS policy gestita. Una [policy gestita da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) è una policy autonoma che viene creata e amministrata da AWS. La seguente policy AWS gestita per CloudShell può essere allegata alle identità IAM:
+ `AWSCloudShellFullAccess`: concede l'autorizzazione all'uso AWS CloudShell con accesso completo a tutte le funzionalità.

Se desideri limitare l'ambito di azioni che un utente IAM può eseguire AWS CloudShell, puoi creare una policy personalizzata che utilizzi la policy `AWSCloudShellFullAccess` gestita come modello. Per ulteriori informazioni sulla limitazione delle azioni disponibili per gli utenti in CloudShell, consulta [Gestire AWS CloudShell l'accesso e l'utilizzo con le politiche IAM](https://docs.aws.amazon.com/cloudshell/latest/userguide/sec-auth-with-identities.html) nella *Guida per l'AWS CloudShell utente*.

**Nota**  
La tua identità IAM richiede anche una policy che conceda l'autorizzazione a effettuare chiamate verso Amazon Keyspaces.

Puoi utilizzare una policy AWS gestita per consentire alla tua identità IAM di accedere ad Amazon Keyspaces oppure iniziare con la policy gestita come modello e rimuovere le autorizzazioni che non ti servono. Puoi anche limitare l'accesso a spazi chiave e tabelle specifici per creare una policy personalizzata. La seguente policy gestita per Amazon Keyspaces può essere allegata alle identità IAM:
+ [AmazonKeyspacesFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonKeyspacesFullAccess.html)— Questa politica concede l'autorizzazione a utilizzare Amazon Keyspaces con accesso completo a tutte le funzionalità.

Per una spiegazione dettagliata delle azioni definite nella politica gestita, consulta. [AWS politiche gestite per Amazon Keyspaces](security-iam-awsmanpol.md)

 Per ulteriori informazioni su come limitare le azioni o limitare l'accesso a risorse specifiche in Amazon Keyspaces, consulta. [Come funziona Amazon Keyspaces con IAM](security_iam_service-with-iam.md)

## Installazione del client cqlsh
<a name="installing-cqlsh-client"></a>

AWS CloudShell non viene fornito preinstallato. `cqlsh` È necessario installarlo per interagire con Amazon Keyspaces. Puoi installare la versione specifica di Amazon Keyspaces di. `cqlsh` Per le istruzioni di `cqlsh-expansion` installazione, consulta. [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

## Configurazione dei certificati TLS
<a name="configuring-ssl-certificates"></a>

Per connetterti ad Amazon Keyspaces utilizzando una connessione TLS, devi scaricare i certificati digitali Amazon richiesti. Per istruzioni dettagliate su come scaricare e configurare il certificato SSL, consulta. [Come configurare manualmente le `cqlsh` connessioni per TLS](programmatic.cqlsh.md#encrypt_using_tls)

## Connessione ad Amazon Keyspaces
<a name="connecting-to-keyspaces"></a>

Puoi connetterti ad Amazon Keyspaces utilizzando credenziali IAM (consigliate) o credenziali specifiche del servizio.

### Connessione con credenziali IAM (consigliata)
<a name="connecting-iam-credentials"></a>

AWS CloudShell è già autenticato con le tue credenziali IAM. Per connetterti utilizzando queste credenziali, puoi utilizzare il plug-in di autenticazione SigV4. Per istruzioni dettagliate sull'utilizzo delle credenziali IAM con, consulta. `cqlsh` [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

### Connessione con credenziali specifiche del servizio
<a name="connecting-service-specific-credentials"></a>

Se hai creato credenziali specifiche del servizio per Amazon Keyspaces, puoi utilizzarle per connetterti. Per informazioni sulla creazione e l'utilizzo di credenziali specifiche del servizio, consulta. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md)

## Utilizzo di CQLSH con Amazon Keyspaces
<a name="using-cqlsh-keyspaces"></a>

Una volta connesso, puoi utilizzare i comandi CQL standard per interagire con i tuoi keyspace e le tue tabelle. Per informazioni dettagliate sui comandi e le operazioni CQL supportati, vedere. [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh)

## Persistenza dei dati in AWS CloudShell
<a name="persisting-data-cloudshell"></a>

AWS CloudShell fornisce 1 GB di spazio di archiviazione persistente nella home directory. Ciò significa che gli script, i certificati e i file di configurazione creati rimangono disponibili tra le sessioni. È possibile creare un file di configurazione per `cqlsh` semplificare le connessioni.

Con un file di configurazione, è possibile eseguirlo `cqlsh` senza specificare parametri aggiuntivi. Per ulteriori informazioni sulla creazione e l'utilizzo dei file `cqlsh` di configurazione, vedere[Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh).

## Best practice
<a name="best-practices-cloudshell"></a>

Quando si utilizza Amazon Keyspaces con AWS CloudShell, consigliamo le seguenti best practice:
+ Crea script per attività ripetitive e archiviali nella tua home directory persistente.
+ Utilizzate le variabili di ambiente per le informazioni sensibili anziché codificarle.
+ Ricorda che AWS CloudShell le sessioni potrebbero scadere dopo l'inattività.
+ Fai attenzione alle quote e alle AWS CloudShell limitazioni del servizio.
+ Prendi in considerazione l'utilizzo di AWS CLI per operazioni automatizzate con Amazon Keyspaces.

## Risoluzione dei problemi
<a name="troubleshooting-cloudshell"></a>

Se riscontri problemi durante la connessione ad Amazon Keyspaces da: AWS CloudShell
+ Verifica che le tue autorizzazioni IAM includano le azioni Amazon Keyspaces necessarie.
+ Assicurati di utilizzare l'endpoint corretto per la tua regione.
+ Verifica che i certificati SSL siano scaricati e referenziati correttamente.
+ Verifica che le credenziali specifiche del servizio siano corrette e non scadute.
+ Se usi un file cqlshrc, controllane la formattazione e le autorizzazioni.

## Esempio: come interagire con Amazon Keyspaces utilizzando AWS CloudShell
<a name="cshell-examples"></a>

Dopo l'avvio AWS CloudShell da Console di gestione AWS, puoi iniziare immediatamente a interagire con Amazon Keyspaces utilizzando `cqlsh` o l'interfaccia a riga di comando. Se non l'hai ancora installato`cqlsh-expansion`, consulta [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](programmatic.cqlsh.md#using_cqlsh) la procedura dettagliata.

**Nota**  
Quando usi l'`cqlsh-expansion`in AWS CloudShell, non è necessario configurare le credenziali prima di effettuare chiamate, perché sei già autenticato all'interno della shell.

**Connettiti ad Amazon Keyspaces e crea un nuovo keyspace. Quindi leggi da una tabella di sistema per confermare che il keyspace è stato creato utilizzando AWS CloudShell**

1. Da Console di gestione AWS, puoi avviarlo CloudShell scegliendo le seguenti opzioni disponibili nella barra di navigazione:
   +  Scegli l' CloudShell icona. 
   + Inizia a digitare `cloudshell` nella casella di ricerca, quindi scegli l' CloudShellopzione.

1. Puoi stabilire una connessione ad Amazon Keyspaces utilizzando il seguente comando. Assicurati di sostituirlo `cassandra.us-east-1.amazonaws.com` con l'endpoint corretto per la tua regione.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Se la connessione è riuscita, dovresti vedere un output simile a quello dell'esempio seguente.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

1. Crea un nuovo keyspace con il nome`mykeyspace`. È possibile utilizzare il seguente comando per farlo.

   ```
   CREATE KEYSPACE mykeyspace WITH REPLICATION = {'class': 'SingleRegionStrategy'};
   ```

1. Per confermare che il keyspace è stato creato, potete leggere da una tabella di sistema usando il seguente comando.

   ```
   SELECT * FROM system_schema_mcs.keyspaces WHERE keyspace_name = 'mykeyspace';
   ```

   Se la chiamata ha esito positivo, la riga di comando visualizza una risposta del servizio simile al seguente output:

   ```
    keyspace_name  | durable_writes | replication
   ----------------+----------------+-------------------------------------------------------------------------------------
    mykeyspace     |           True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
   
   (1 rows)
   ```

# Crea credenziali per l'accesso programmatico ad Amazon Keyspaces
<a name="programmatic.credentials"></a>

Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:
+ Crea credenziali specifiche per il servizio simili al nome utente e alla password tradizionali utilizzati da Cassandra per l'autenticazione e la gestione degli accessi. AWS Le credenziali specifiche del servizio sono associate a un utente specifico AWS Identity and Access Management (IAM) e possono essere utilizzate solo per il servizio per cui sono state create. Per ulteriori informazioni, consulta [Using IAM with Amazon Keyspaces (per Apache Cassandra)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_keyspaces.html) nella IAM User Guide.
**avvertimento**  
Gli utenti IAM dispongono di credenziali a lungo termine, il che rappresenta un rischio per la sicurezza. Per ridurre questo rischio, si consiglia di fornire a questi utenti solo le autorizzazioni necessarie per eseguire l'attività e di rimuoverli quando non sono più necessari.
+ Per una maggiore sicurezza, consigliamo di creare identità IAM da utilizzare in tutti i AWS servizi e di utilizzare credenziali temporanee. Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di accesso IAM anziché nome utente e password. [Per ulteriori informazioni su come il plug-in Amazon Keyspaces SigV4 consente [agli utenti, ai ruoli e alle identità federate IAM di autenticarsi nelle richieste API di Amazon Keyspaces,](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) consulta il processo Signature Version 4 (SigV4).AWS](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) 

  Puoi scaricare i plugin SigV4 dalle seguenti posizioni.
  + Java:. [https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin)
  + Node.js:[https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin).
  + Python: [https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin).
  + Vai:[https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin).

  Per esempi di codice che mostrano come stabilire connessioni utilizzando il plug-in di autenticazione SigV4, vedi. [Utilizzo di un driver client Cassandra per accedere ad Amazon Keyspaces a livello di codice](programmatic.drivers.md)

**Topics**
+ [Crea credenziali specifiche per il servizio](programmatic.credentials.ssc.md)
+ [Crea credenziali IAM per l'autenticazione AWS](access.credentials.md)

# Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces
<a name="programmatic.credentials.ssc"></a>

Le credenziali specifiche del servizio sono simili al nome utente e alla password tradizionali utilizzati da Cassandra per l'autenticazione e la gestione degli accessi. Le credenziali specifiche del servizio consentono agli utenti IAM di accedere a un servizio specifico. AWS Queste credenziali a lungo termine non possono essere utilizzate per accedere ad altri servizi. AWS Sono associate a un utente IAM specifico e non possono essere utilizzate da altri utenti IAM.

**Importante**  
Le credenziali specifiche del servizio sono credenziali a lungo termine associate a uno specifico utente IAM e possono essere utilizzate solo per il servizio per cui sono state create. Per concedere ai ruoli IAM o alle identità federate le autorizzazioni per accedere a tutte le tue AWS risorse utilizzando credenziali temporanee, devi utilizzare [AWS l'autenticazione con il plug-in di autenticazione SigV4](access.credentials.md) per Amazon Keyspaces.

Utilizza una delle seguenti procedure per generare credenziali specifiche del servizio.

------
#### [ Console ]

**Crea credenziali specifiche del servizio utilizzando la console**

1. Accedi Console di gestione AWS e apri la console all'indirizzo. AWS Identity and Access Management [https://console.aws.amazon.com/iam/home](https://console.aws.amazon.com/iam/home)

1. Nel pannello di navigazione, scegli **Utenti**, quindi scegli l'utente che hai creato in precedenza che dispone delle autorizzazioni Amazon Keyspaces (policy allegata). 

1. Seleziona **Security Credentials (Credenziali di sicurezza)**. In **Credenziali per Amazon Keyspaces**, **scegli Genera credenziali per generare** le credenziali specifiche del servizio.

   Le credenziali specifiche del servizio sono ora disponibili. Questa è l'unica volta che puoi scaricare o visualizzare la password. Non puoi recuperarla successivamente. Tuttavia, è possibile reimpostare la password in qualsiasi momento. Salva l'utente e la password in una posizione sicura, perché ne avrai bisogno in un secondo momento.

------
#### [ CLI ]

**Crea credenziali specifiche del servizio utilizzando il AWS CLI**

 Prima di generare credenziali specifiche per il servizio, è necessario scaricare, installare e configurare (): AWS Command Line Interface AWS CLI

1. [Scaricatele da http://aws.amazon.com/cli AWS CLI .](https://aws.amazon.com/cli) 
**Nota**  
 AWS CLI Funziona su Windows, macOS o Linux. 

1. *Segui le istruzioni per l'[installazione della AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) e la [configurazione della AWS CLI nella Guida](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) per l'utente.AWS Command Line Interface *

1. Utilizzando AWS CLI, esegui il comando seguente per generare credenziali specifiche del servizio per l'utente`alice`, in modo che possa accedere ad Amazon Keyspaces.

   ```
   aws iam create-service-specific-credential \
       --user-name alice \
       --service-name cassandra.amazonaws.com
   ```

L'output sarà simile al seguente.

```
{
    "ServiceSpecificCredential": {
        "CreateDate": "2019-10-09T16:12:04Z",
        "ServiceName": "cassandra.amazonaws.com",
        "ServiceUserName": "alice-at-111122223333",
        "ServicePassword": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
        "ServiceSpecificCredentialId": "ACCAYFI33SINPGJEBYESF",
        "UserName": "alice",
        "Status": "Active"
    }
}
```

Nell'output, annota i valori per e. `ServiceUserName` `ServicePassword` Salva questi valori in un luogo sicuro, perché ti serviranno in seguito.

**Importante**  
Questa è l'unica volta che `ServicePassword` saranno disponibili per te.

------

# Crea e configura AWS credenziali per Amazon Keyspaces
<a name="access.credentials"></a>

Per accedere ad Amazon Keyspaces in modo programmatico con AWS CLI, l' AWS SDK o con i driver client Cassandra e il plug-in SigV4, è necessario un utente IAM con chiavi di accesso. Quando usi Amazon Keyspaces a livello di codice, fornisci le tue chiavi di AWS accesso per AWS verificare la tua identità nelle chiamate programmatiche. Le tue chiavi di accesso sono costituite da un ID di chiave di accesso (ad AKIAIOSFODNN7 esempio, EXAMPLE) e da una chiave di accesso segreta (ad esempio,). wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Questo argomento illustra i passaggi necessari di questo processo. 

Le migliori pratiche di sicurezza consigliano di creare utenti IAM con autorizzazioni limitate e di associare invece i ruoli IAM alle autorizzazioni necessarie per eseguire attività specifiche. Gli utenti IAM possono quindi assumere temporaneamente ruoli IAM per eseguire le attività richieste. Ad esempio, gli utenti IAM del tuo account che utilizzano la console Amazon Keyspaces possono passare a un ruolo per utilizzare temporaneamente le autorizzazioni del ruolo nella console. Gli utenti abbandonano le loro autorizzazioni originali e assumono le autorizzazioni assegnate al ruolo. Quando gli utenti escono dal ruolo, le autorizzazioni originali vengono ripristinate. Le credenziali utilizzate dagli utenti per assumere il ruolo sono temporanee. Al contrario, gli utenti IAM dispongono di credenziali a lungo termine, il che rappresenta un rischio per la sicurezza se, invece di assumere ruoli, dispongono di autorizzazioni assegnate loro direttamente. Per ridurre questo rischio, si consiglia di fornire a questi utenti solo le autorizzazioni necessarie per eseguire l'attività e di rimuoverli quando non sono più necessari. Per ulteriori informazioni sui ruoli, consulta [Scenari comuni per i ruoli: utenti, applicazioni e servizi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios.html) nella Guida per l'utente *IAM*.

**Topics**
+ [Credenziali richieste dal AWS CLI, dall' AWS SDK o dal plug-in Amazon Keyspaces SigV4 per i driver client Cassandra](SigV4_credentials.md)
+ [Crea credenziali temporanee per connetterti ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4](temporary.credentials.IAM.md)
+ [Crea un utente IAM per l'accesso programmatico ad Amazon Keyspaces nel tuo account AWS](access.credentials.IAM.md)
+ [Crea nuove chiavi di accesso per un utente IAM](create.keypair.md)
+ [Memorizza le chiavi di accesso per l'accesso programmatico](aws.credentials.manage.md)

# Credenziali richieste dal AWS CLI, dall' AWS SDK o dal plug-in Amazon Keyspaces SigV4 per i driver client Cassandra
<a name="SigV4_credentials"></a>

Le seguenti credenziali sono necessarie per autenticare l'utente o il ruolo IAM:

`AWS_ACCESS_KEY_ID`  
Specifica una chiave di AWS accesso associata a un utente o ruolo IAM.  
La chiave di accesso `aws_access_key_id` è necessaria per connettersi ad Amazon Keyspaces in modo programmatico.

`AWS_SECRET_ACCESS_KEY`  
Specifica la chiave segreta associata alla chiave di accesso. Si tratta essenzialmente della "password" per la chiave di accesso.  
`aws_secret_access_key`È necessario per connettersi ad Amazon Keyspaces a livello di codice. 

`AWS_SESSION_TOKEN`— Facoltativo  
Specifica il valore del token di sessione richiesto se si utilizzano credenziali di sicurezza temporanee recuperate direttamente dalle operazioni AWS Security Token Service . Per ulteriori informazioni, consulta [Crea credenziali temporanee per connetterti ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4](temporary.credentials.IAM.md).  
Se ti connetti con un utente IAM, non `aws_session_token` è necessario.

# Crea credenziali temporanee per connetterti ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4
<a name="temporary.credentials.IAM"></a>

Il modo consigliato per accedere ad Amazon Keyspaces a livello di codice consiste nell'utilizzare [credenziali temporanee](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html) per l'autenticazione con il plug-in SigV4. In molti scenari, non è necessaria una chiave di accesso a lungo termine a validità illimitata (come accade invece per gli utenti IAM). Puoi invece creare un ruolo IAM e generare credenziali di sicurezza temporanee. Tali credenziali sono composte dall'ID della chiave di accesso e dalla chiave di accesso segreta, ma includono anche un token di sicurezza che ne indica la scadenza. Per ulteriori informazioni su come utilizzare i ruoli IAM anziché le chiavi di accesso a lungo termine, consulta [Switching to an IAM role (AWS API)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-api.html).

Per iniziare con le credenziali temporanee, devi prima creare un ruolo IAM.

**Crea un ruolo IAM che garantisca l'accesso in sola lettura ad Amazon Keyspaces**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Nel pannello di navigazione, scegli **Ruoli**, quindi **Crea ruolo**.

1. Nella pagina **Crea ruolo**, in **Seleziona il tipo di entità affidabile**, scegli **AWS servizio**. **In **Scegli un caso d'uso**, scegli **Amazon EC2**, quindi scegli Avanti.**

1. **Nella pagina **Aggiungi autorizzazioni**, in **Politiche di autorizzazione**, scegli Amazon **Keyspaces Read Only Access** dall'elenco delle policy, quindi scegli Avanti.**

1. Nella pagina **Nome, rivedi e crea**, inserisci un nome per il ruolo e consulta le sezioni **Seleziona entità affidabili** e **Aggiungi** autorizzazioni. In questa pagina puoi anche aggiungere tag opzionali per il ruolo. Al termine, seleziona **Crea ruolo**. Ricorda questo nome perché ti servirà quando lancerai la tua istanza Amazon EC2.

Per utilizzare credenziali di sicurezza temporanee nel codice, richiami in modo programmatico un' AWS Security Token Service API simile a un'API `AssumeRole` ed estrai le credenziali e il token di sessione risultanti dal tuo ruolo IAM creato nel passaggio precedente. Questi valori vengono quindi utilizzati come credenziali per le chiamate successive a. AWS L'esempio seguente mostra lo pseudocodice su come utilizzare le credenziali di sicurezza temporanee:

```
assumeRoleResult = AssumeRole(role-arn);
tempCredentials = new SessionAWSCredentials(
   assumeRoleResult.AccessKeyId, 
   assumeRoleResult.SecretAccessKey, 
   assumeRoleResult.SessionToken);
cassandraRequest = CreateAmazoncassandraClient(tempCredentials);
```

Per un esempio che implementa credenziali temporanee utilizzando il driver Python per accedere ad Amazon Keyspaces, consulta. [Connect ad Amazon Keyspaces utilizzando il driver DataStax Python per Apache Cassandra e il plug-in di autenticazione SigV4](using_python_driver.md#python_SigV4)

Per dettagli su come richiamare `AssumeRole`, `GetFederationToken` e altre operazioni API, consulta la [Documentazione di riferimento delle API AWS Security Token Service](https://docs.aws.amazon.com/STS/latest/APIReference/). Per informazioni su come ottenere le credenziali di sicurezza provvisorie e il token di sessione dal risultato, consulta la documentazione dell'SDK in uso. **Puoi trovare la documentazione per tutti nella AWS SDKs [pagina di AWS documentazione](https://aws.amazon.com/documentation) principale, nella sezione e Toolkits. SDKs **

# Crea un utente IAM per l'accesso programmatico ad Amazon Keyspaces nel tuo account AWS
<a name="access.credentials.IAM"></a>

Per ottenere le credenziali per l'accesso programmatico ad Amazon Keyspaces con AWS CLI, l' AWS SDK o il plug-in SigV4, devi prima creare un utente o un ruolo IAM. Il processo di creazione di un utente IAM e di configurazione di tale utente IAM per l'accesso programmatico ad Amazon Keyspaces è illustrato nei seguenti passaggi:

1. Crea l'utente negli Console di gestione AWS strumenti per Windows PowerShell o utilizzando un' AWS operazione API. AWS CLI Se si crea l'utente in Console di gestione AWS, le credenziali vengono create automaticamente. 

1. Se si crea l'utente a livello di codice, è necessario creare una chiave di accesso (ID chiave di accesso e chiave di accesso segreta) per quell'utente in un passaggio aggiuntivo.

1. Concedi all'utente le autorizzazioni per accedere ad Amazon Keyspaces. 

Per informazioni sulle autorizzazioni necessarie per creare un utente IAM, consulta [Autorizzazioni necessarie per accedere alle](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions-required.html) risorse IAM. 

------
#### [ Console ]

**Crea un utente IAM con accesso programmatico (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione seleziona **Utenti**, quindi seleziona **Aggiungi utenti**.

1. Digita un nome utente per il nuovo utente. Questo è il nome di accesso per AWS. 
**Nota**  
I nomi utente possono essere una combinazione di un massimo di 64 lettere, cifre e i seguenti caratteri: più (\$1), uguale (=), virgola (,), punto (.), chiocciola (@), trattino basso (\$1) e trattino (-). I nomi devono essere univoci all'interno di un account. Non si distinguono per caso. Ad esempio, non è possibile creare due utenti chiamati *TESTUSER* e *testuser*.

1. Seleziona **Chiave di accesso - Accesso programmatico** per creare una chiave di accesso per il nuovo utente. Puoi visualizzare o scaricare la chiave di accesso quando arrivi alla pagina **finale**.

   Scegli **Successivo: autorizzazioni**.

1. Nella pagina **Imposta autorizzazioni**, scegli **Allega direttamente le politiche esistenti** per assegnare le autorizzazioni al nuovo utente.

   Questa opzione mostra l'elenco delle politiche AWS gestite e gestite dai clienti disponibili nel tuo account. Puoi `keyspaces` accedere al campo di ricerca per visualizzare solo le politiche relative ad Amazon Keyspaces.

   Per Amazon Keyspaces, le policy gestite disponibili sono `AmazonKeyspacesFullAccess` e. `AmazonKeyspacesReadOnlyAccess` Per ulteriori informazioni su ciascuna politica, consulta[AWS politiche gestite per Amazon Keyspaces](security-iam-awsmanpol.md). 

   A scopo di test e per seguire i tutorial di connessione, seleziona la `AmazonKeyspacesReadOnlyAccess` policy per il nuovo utente IAM. **Nota:** come best practice, ti consigliamo di seguire il principio del privilegio minimo e di creare politiche personalizzate che limitino l'accesso a risorse specifiche e consentano solo le azioni richieste. Per ulteriori informazioni sulle policy IAM e per visualizzare esempi di policy per Amazon Keyspaces, consulta. [Politiche basate sull'identità di Amazon Keyspaces](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies) Dopo aver creato politiche di autorizzazione personalizzate, associa le politiche ai ruoli e consenti agli utenti di assumere temporaneamente i ruoli appropriati.

   Scegli **Successivo: Tag**.

1. Nella pagina **Aggiungi tag (opzionale)** puoi aggiungere tag per l'utente oppure scegliere **Avanti: revisione**. 

1. Nella pagina **Revisione** puoi vedere tutte le scelte che hai fatto fino a questo punto. Quando sei pronto per procedere, scegli **Crea utente**.

1. Per visualizzare le chiavi di accesso dell'utente (chiave di accesso IDs e chiavi di accesso segrete), scegli **Mostra** accanto alla password e alla chiave di accesso. Per salvare le chiavi di accesso, scegliere **Download .csv (Scarica .csv)** e quindi salvare il file in una posizione sicura. 
**Importante**  
Questa è la tua unica opportunità per visualizzare o scaricare le chiavi di accesso segrete e hai bisogno di queste informazioni prima che possano utilizzare il plugin SigV4. Salva i nuovi ID chiave di accesso e Secret Access Key dell'utente in un luogo sicuro. Successivamente a questa fase non sarà più possibile accedere alle chiavi segrete.

------
#### [ CLI ]

**Crea un utente IAM con accesso programmatico ()AWS CLI**

1. Crea un utente con il AWS CLI codice seguente.
   + [https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-user.html)

1. Concedi all'utente l'accesso programmatico. Ciò richiede chiavi di accesso, che possono essere generate nei seguenti modi. 
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html](https://docs.aws.amazon.com/cli/latest/reference/iam/create-access-key.html)
   + Strumenti per Windows PowerShell: [https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-IAMAccessKey.html)
   + API IAM: [https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateAccessKey.html)
**Importante**  
Questa è la tua unica opportunità per visualizzare o scaricare le chiavi di accesso segrete e hai bisogno di queste informazioni prima che possano utilizzare il plugin SigV4. Salva i nuovi ID chiave di accesso e Secret Access Key dell'utente in un luogo sicuro. Successivamente a questa fase non sarà più possibile accedere alle chiavi segrete.

1. Allega la `AmazonKeyspacesReadOnlyAccess` policy all'utente che definisce le autorizzazioni dell'utente. **Nota:** come procedura consigliata, si consiglia di gestire le autorizzazioni degli utenti aggiungendo l'utente a un gruppo e allegando una politica al gruppo anziché allegarla direttamente a un utente.
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-user-policy.html)

------

# Crea nuove chiavi di accesso per un utente IAM
<a name="create.keypair"></a>

Se hai già un utente IAM, puoi creare nuove chiavi di accesso in qualsiasi momento. Per ulteriori informazioni sulla gestione delle chiavi, ad esempio su come aggiornare le chiavi di accesso, consulta [Gestione delle chiavi di accesso per gli utenti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html). 

**Per creare chiavi di accesso per un utente IAM (console)**

1. Accedi Console di gestione AWS e apri la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Nel pannello di navigazione, seleziona **Utenti**.

1. Scegli il nome dell'utente di cui desideri creare le chiavi di accesso.

1. Nella pagina di **riepilogo** dell'utente, scegli la scheda **Credenziali di sicurezza**.

1. Nella sezione **Chiavi di accesso, in Procedure consigliate e alternative alle chiavi** **di accesso**, scegli il caso d'uso **Altro**. Fai clic su **Avanti**, inserisci le informazioni opzionali necessarie e scegli **Crea chiave di accesso**.

   Per visualizzare la nuova chiave di accesso, seleziona **Mostra**. Le credenziali saranno simili a quanto segue:
   + ID della chiave di accesso: AKIAIOSFODNN7 ESEMPIO
   + Chiave di accesso segreta wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
**Nota**  
Non sarà possibile accedere nuovamente alla chiave di accesso segreta dopo la chiusura di questa finestra di dialogo.

   Prendi in considerazione le seguenti best practice per la key pair che hai creato.
   + Non archiviate mai la chiave di accesso in testo semplice, in un archivio di codice o nel codice.
   + Disattiva o elimina le chiavi di accesso quando non sono più necessarie.
   + Abilita le autorizzazioni con privilegi minimi.
   + Ruota regolarmente le chiavi di accesso.

1. Per fare il download della coppia di chiavi, scegliere **Download .csv file**. Conserva le chiavi in un posto sicuro.

1. Dopo avere scaricato il file .csv, scegli **Chiudi**.

Quando si crea una chiave di accesso, la coppia di chiavi è attiva per impostazione predefinita ed è possibile utilizzarla immediatamente.

# Memorizza le chiavi di accesso per l'accesso programmatico
<a name="aws.credentials.manage"></a>

Come best practice, ti consigliamo di non incorporare le chiavi di accesso direttamente nel codice. Gli strumenti AWS SDKs e la AWS riga di comando consentono di inserire le chiavi di accesso in posizioni note in modo da non doverle conservare nel codice. Colloca le chiavi di accesso in una delle posizioni seguenti:
+ **Variabili di ambiente**: in un sistema multitenant, scegliete le variabili di ambiente utente, non le variabili di ambiente di sistema.
+ File **delle credenziali CLI: il `config` file** `credentials` and viene aggiornato quando si esegue il comando. `aws configure` Il `credentials` file si trova `~/.aws/credentials` in Linux, macOS o Unix o in `C:\Users\USERNAME\.aws\credentials` Windows. Questo file può contenere i dettagli delle credenziali per il profilo `default` ed eventuali profili denominati.
+ **File di configurazione CLI**: il `config` file `credentials` and viene aggiornato quando si esegue il comando. `aws configure` Il `config` file si trova `~/.aws/config` in Linux, macOS o Unix o in `C:\Users\USERNAME\.aws\config` Windows. Questo file contiene le impostazioni di configurazione per il profilo predefinito e gli eventuali profili denominati.

La memorizzazione delle chiavi di accesso come variabili di ambiente è un prerequisito per. [Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java 4.x per Apache Cassandra e il plug-in di autenticazione SigV4](using_java_driver.md#java_tutorial.SigV4) Si noti che ciò include l'impostazione predefinita Regione AWS. Il client cerca le credenziali utilizzando la catena di provider di credenziali predefinita e le chiavi di accesso memorizzate come variabili di ambiente hanno la precedenza su tutte le altre posizioni, ad esempio i file di configurazione. Per ulteriori informazioni, consulta Impostazioni e priorità di [configurazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence).

L'esempio seguente mostra come configurare le variabili di ambiente per l'utente predefinito.

------
#### [ Linux, macOS, or Unix ]

```
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
$ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>
$ export AWS_DEFAULT_REGION=us-east-1
```

L'impostazione della variabile di ambiente modifica il valore utilizzato fino al termine della sessione della shell o finché non imposti la variabile su un valore diverso. Puoi rendere le variabili persistenti per le sessioni future impostandole nello script di avvio della shell.

------
#### [ Windows Command Prompt ]

```
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE
C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>
C:\> setx AWS_DEFAULT_REGION us-east-1
```

Se si utilizza `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` per impostare una variabile di ambiente, il valore utilizzato viene modificato fino al termine della sessione del prompt dei comandi corrente o finché non imposti la variabile su un valore diverso. Se si utilizza [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) per impostare una variabile di ambiente, il valore utilizzato viene modificato nella sessione del prompt dei comandi corrente e in tutte le sessioni del prompt dei comandi create dopo l'esecuzione del comando. Ciò ***non*** ha alcun impatto su altre shell di comando già in esecuzione quando esegui il comando.

------
#### [ PowerShell ]

```
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"
PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"
PS C:\> $Env:AWS_DEFAULT_REGION="us-east-1"
```

Se impostate una variabile di ambiente al PowerShell prompt, come mostrato negli esempi precedenti, il valore viene salvato solo per la durata della sessione corrente. Per rendere persistente l'impostazione della variabile di ambiente in tutte PowerShell le sessioni del prompt dei comandi, memorizzatela utilizzando l'applicazione **System** nel Pannello di **controllo**. In alternativa, puoi impostare la variabile per tutte le PowerShell sessioni future aggiungendola al tuo PowerShell profilo. Consulta la [PowerShell documentazione](https://docs.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables) per ulteriori informazioni sulla memorizzazione delle variabili di ambiente o sulla loro persistenza tra le sessioni.

------

# Endpoint di servizio per Amazon Keyspaces
<a name="programmatic.endpoints"></a>

**Topics**
+ [Porte e protocolli](#ports)
+ [Endpoint globali](#global_endpoints)
+ [AWS GovCloud (US) Region Endpoint FIPS](#fips_endpoints)
+ [Endpoint delle regioni della Cina](#china_endpoints)
+ [Endpoint Streams](#streams_endpoints)
+ [Connessione a endpoint dual-stack](dualstack_endpoints.md)

## Porte e protocolli
<a name="ports"></a>

Puoi accedere ad Amazon Keyspaces a livello di codice eseguendo un `cqlsh` client, con un driver Cassandra con licenza Apache 2.0 o utilizzando e l'SDK. AWS CLI AWS 

La tabella seguente mostra le porte e i protocolli per i diversi meccanismi di accesso.


| Accesso programmatico | Porta | Protocollo | 
| --- | --- | --- | 
| CQLSH | 1942 | TLS | 
| Cassandra Driver | 1942 | TLS | 
| AWS CLI | 443 | HTTPS | 
| AWS SDK | 443 | HTTPS | 

 Per le connessioni TLS, Amazon Keyspaces utilizza certificati emessi nell'ambito di Amazon Trust Services (Amazon CAs Root 1—4) per l'autenticazione sul server. Per ulteriori informazioni, consulta [Come configurare manualmente le `cqlsh` connessioni per TLS](programmatic.cqlsh.md#encrypt_using_tls) la sezione [Prima di iniziare](using_java_driver.md#using_java_driver.BeforeYouBegin) del capitolo dedicata all'autista. [Utilizzo di un driver client Cassandra per accedere ad Amazon Keyspaces a livello di codice](programmatic.drivers.md)

## Endpoint globali
<a name="global_endpoints"></a>

 Amazon Keyspaces supporta sia IPv4 gli endpoint pubblici che quelli IPv6 pubblici. Puoi scegliere tra IPv4 endpoint ed endpoint dual-stack. Gli endpoint utilizzano la seguente convenzione di denominazione, che è possibile sostituire *us-east-1* con un'altra disponibile nella tabella. Regione AWS 
+ **IPv4 endpoint —** `cassandra.us-east-1.amazonaws.com`
+ **Endpoint dual-stack**: `cassandra.us-east-1.api.aws`

Per ulteriori informazioni sugli endpoint dual-stack e su come configurare le connessioni, consulta. [Connessione a endpoint dual-stack](dualstack_endpoints.md)

Amazon Keyspaces è disponibile nelle seguenti regioni. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/programmatic.endpoints.html)

## AWS GovCloud (US) Region Endpoint FIPS
<a name="fips_endpoints"></a>

Endpoint FIPS disponibili in. AWS GovCloud (US) Region Amazon Keyspaces supporta sia gli endpoint FIPS che quelli IPv4 IPv6 FIPS. Puoi scegliere tra IPv4 endpoint ed endpoint dual-stack. Per ulteriori informazioni, consulta [Amazon Keyspaces nella Guida per l'*AWS GovCloud (US) utente*](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/govcloud-keyspaces.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/programmatic.endpoints.html)

## Endpoint delle regioni della Cina
<a name="china_endpoints"></a>

Amazon Keyspaces supporta gli IPv4 endpoint nelle regioni della Cina AWS . 

Per accedere a questi endpoint, devi registrarti per un set separato di credenziali di account uniche per le regioni della Cina. Per ulteriori informazioni, consulta [Registrazione, account e credenziali in Cina](https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html). 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/programmatic.endpoints.html)

## Endpoint Streams
<a name="streams_endpoints"></a>

Amazon Keyspaces CDC streams è disponibile nelle seguenti versioni. Regioni AWS Questa tabella mostra l'endpoint di servizio dual-stack disponibile per ogni regione. Per ulteriori informazioni su, vedere. Amazon Keyspaces CDC streams[Come accedere agli endpoint di streaming CDC in Amazon Keyspaces](CDC_access-endpoints.md)

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/programmatic.endpoints.html)

# Connessione a endpoint dual-stack
<a name="dualstack_endpoints"></a>

Gli endpoint globali di Amazon Keyspaces sono endpoint dual-stack che accettano e richiedono. IPv4 IPv6 

Quando ti connetti ad Amazon Keyspaces utilizzando IPv6, il servizio adatta automaticamente le risposte della tabella di sistema in base al protocollo di connessione. Ciò garantisce che le applicazioni ricevano informazioni coerenti sugli indirizzi di rete corrispondenti al tipo di connessione. Ciò fornisce al client informazioni accurate sulla topologia di rete, mantenendo al contempo la compatibilità con le versioni precedenti per le applicazioni CQL esistenti.

Amazon Keyspaces rileva automaticamente il protocollo di rete (IPv4 o IPv6) utilizzato dalla connessione client e regola di conseguenza le risposte della tabella di sistema. Questo rilevamento avviene in modo trasparente durante l'handshake iniziale della connessione e non richiede alcuna configurazione aggiuntiva da parte dell'applicazione client.

Amazon Keyspaces restituisce gli indirizzi IP in base al protocollo di connessione. Ad esempio, una richiesta proveniente da una IPv4 rete restituisce la seguente risposta.

```
SELECT * FROM system.peers;
-- Returns IPv4 addresses in peer column
-- Example: 172.31.1.1, 172.31.1.2, etc.
```

Una connessione da una IPv6 rete a un endpoint dual-stack, ad esempio`cassandra.us-east-1.api.aws`, restituisce la seguente risposta.

```
SELECT * FROM system.peers;
-- Returns IPv6 addresses in peer column
-- Example: 2001:db8::1, 2001:db8::2, etc.
```

Per ulteriori informazioni sul IPv6 supporto in Amazon Keyspaces, consulta. [IPv6 supporto in Amazon Keyspaces](ipv6-support.md)

# IPv6 supporto in Amazon Keyspaces
<a name="ipv6-support"></a>

IPv6 il supporto in Amazon Keyspaces consente alle applicazioni di stabilire connessioni utilizzando Internet Protocol versione 6, il protocollo Internet di nuova generazione che fornisce uno spazio di indirizzi notevolmente ampliato rispetto a. IPv4 L'implementazione utilizza endpoint dual-stack che supportano entrambi IPv4 e IPv6 contemporaneamente, garantendo la compatibilità con le versioni precedenti e abilitando una connettività pronta per il futuro. Per un elenco di endpoint, consulta [Endpoint globali](programmatic.endpoints.md#global_endpoints).

Amazon Keyspaces implementa il IPv6 supporto tramite un'architettura dual-stack che mantiene la completa compatibilità con le versioni precedenti abilitando al contempo la connettività. IPv6 

## Risoluzione DNS in Amazon Keyspaces
<a name="dns-resolution"></a>

Quando le applicazioni si connettono a endpoint dual-stack, il processo di risoluzione DNS restituisce entrambi i tipi di indirizzi:

Un record () IPv4  
 IPv4 Indirizzi tradizionali per la compatibilità con le versioni precedenti

Record AAAA () IPv6  
 IPv6 Nuovi indirizzi per una connettività moderna

Il sistema operativo e lo stack di rete del client selezionano automaticamente il protocollo più appropriato in base alla configurazione locale, alla disponibilità della rete e alle preferenze di sistema.

Il protocollo Cassandra Query Language (CQL) supporta perfettamente la IPv6 connettività senza richiedere modifiche al codice dell'applicazione.

Selezione automatica del protocollo  
+ Le applicazioni specificano l'endpoint dual-stack
+ Lo stack di rete sceglie o si basa sulla disponibilità IPv4 IPv6 
+ Non sono necessarie modifiche al codice per le applicazioni CQL esistenti

Compatibilità dei driver  
+ Tutti i principali driver CQL supportano IPv6 in modo trasparente
+ DataStax i driver gestiscono IPv6 gli indirizzi in modo nativo
+ I driver open source funzionano senza modifiche

Coerenza della connessione  
+ Le tabelle di sistema riflettono il protocollo di connessione utilizzato
+ IPv6 le connessioni mostrano IPv6 gli indirizzi in `system.peers`
+ IPv4 le connessioni continuano a mostrare IPv4 gli indirizzi

# Utilizzo `cqlsh` per connettersi ad Amazon Keyspaces
<a name="programmatic.cqlsh"></a>

Per connetterti ad Amazon Keyspaces utilizzando`cqlsh`, puoi utilizzare il. `cqlsh-expansion` Si tratta di un toolkit che contiene strumenti comuni come Apache Cassandra `cqlsh` e helper preconfigurati per Amazon Keyspaces, pur mantenendo la piena compatibilità con Apache Cassandra. `cqlsh-expansion`Integra il plug-in di autenticazione SigV4 e consente di connettersi utilizzando le chiavi di accesso IAM anziché il nome utente e la password. Devi solo installare `cqlsh` gli script per stabilire una connessione e non la distribuzione completa di Apache Cassandra, perché Amazon Keyspaces è serverless. Questo pacchetto di installazione leggero include `cqlsh-expansion` `cqlsh` gli script classici che puoi installare su qualsiasi piattaforma che supporti Python.

**Nota**  
`Murmur3Partitioner`è il partizionatore consigliato per Amazon Keyspaces e. `cqlsh-expansion` `cqlsh-expansion`Non supporta Amazon Keyspaces`DefaultPartitioner`. Per ulteriori informazioni, consulta [Utilizzo dei partizionatori in Amazon Keyspaces](working-with-partitioners.md).

Per informazioni generali su`cqlsh`, vedi [`cqlsh`: la shell CQL.](https://cassandra.apache.org/doc/latest/cassandra/managing/tools/cqlsh.html)

**Topics**
+ [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](#using_cqlsh)
+ [Come configurare manualmente le `cqlsh` connessioni per TLS](#encrypt_using_tls)

## Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces
<a name="using_cqlsh"></a>

**Installazione e configurazione di `cqlsh-expansion`**

1. Per installare il pacchetto `cqlsh-expansion` Python, puoi eseguire un `pip` comando. Questo installa `cqlsh-expansion` gli script sulla tua macchina usando un'*installazione pip* insieme a un file contenente un elenco di dipendenze. Le `--user flag` istruzioni `pip` per usare la directory di installazione degli utenti Python per la tua piattaforma. Su un sistema basato su Unix, quella dovrebbe essere la `~/.local/` directory.

   Hai bisogno di Python 3 per installare`cqlsh-expansion`, per scoprire la tua versione di Python, usa. `Python --version` Per installarlo, puoi eseguire il seguente comando.

   ```
   python3 -m pip install --user cqlsh-expansion
   ```

   L'output dovrebbe essere simile a questo.

   ```
   Collecting cqlsh-expansion
     Downloading cqlsh_expansion-0.9.6-py3-none-any.whl (153 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 KB 3.3 MB/s eta 0:00:00
   Collecting cassandra-driver
     Downloading cassandra_driver-3.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 MB 44.5 MB/s eta 0:00:00
   Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from cqlsh-expansion) (1.16.0)
   Collecting boto3
     Downloading boto3-1.29.2-py3-none-any.whl (135 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 17.2 MB/s eta 0:00:00
   Collecting cassandra-sigv4>=4.0.2
     Downloading cassandra_sigv4-4.0.2-py2.py3-none-any.whl (9.8 kB)
   Collecting botocore<1.33.0,>=1.32.2
     Downloading botocore-1.32.2-py3-none-any.whl (11.4 MB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 60.9 MB/s eta 0:00:00
   Collecting s3transfer<0.8.0,>=0.7.0
     Downloading s3transfer-0.7.0-py3-none-any.whl (79 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 KB 13.1 MB/s eta 0:00:00
   Collecting jmespath<2.0.0,>=0.7.1
     Downloading jmespath-1.0.1-py3-none-any.whl (20 kB)
   Collecting geomet<0.3,>=0.1
     Downloading geomet-0.2.1.post1-py3-none-any.whl (18 kB)
   Collecting python-dateutil<3.0.0,>=2.1
     Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
        ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 33.1 MB/s eta 0:00:00
   Requirement already satisfied: urllib3<2.1,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore<1.33.0,>=1.32.2->boto3->cqlsh-expansion) (1.26.5)
   Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geomet<0.3,>=0.1->cassandra-driver->cqlsh-expansion) (8.0.3)
   Installing collected packages: python-dateutil, jmespath, geomet, cassandra-driver, botocore, s3transfer, boto3, cassandra-sigv4, cqlsh-expansion
     WARNING: The script geomet is installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
     WARNING: The scripts cqlsh, cqlsh-expansion and cqlsh-expansion.init are installed in '/home/ubuntu/.local/bin' which is not on PATH.
     Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
   Successfully installed boto3-1.29.2 botocore-1.32.2 cassandra-driver-3.28.0 cassandra-sigv4-4.0.2 cqlsh-expansion-0.9.6 geomet-0.2.1.post1 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.7.0
   ```

   Se la directory di installazione non si trova in`PATH`, è necessario aggiungerla seguendo le istruzioni del sistema operativo. Di seguito è riportato un esempio per Ubuntu Linux.

   ```
   export PATH="$PATH:/home/ubuntu/.local/bin"
   ```

   Per confermare che il pacchetto è installato, puoi eseguire il seguente comando.

   ```
   cqlsh-expansion --version
   ```

   L'output dovrebbe essere simile a questo.

   ```
   cqlsh 6.1.0
   ```

1. Per configurare`cqlsh-expansion`, puoi eseguire uno script di post-installazione per completare automaticamente i seguenti passaggi:

   1. Crea la `.cassandra` directory nella home directory dell'utente se non esiste già.

   1. Copia un file di `cqlshrc` configurazione preconfigurato nella `.cassandra` directory.

   1. Copia il file di certificato combinato nella `.cassandra` directory. Amazon Keyspaces utilizza questo certificato per configurare la connessione sicura con Transport Layer Security (TLS). La crittografia in transito fornisce un ulteriore livello di protezione dei dati crittografando i dati mentre viaggiano da e verso Amazon Keyspaces. Per ulteriori informazioni sui certificati, consulta. [Come configurare manualmente le `cqlsh` connessioni per TLS](#encrypt_using_tls)

   Per esaminare prima lo script, puoi accedervi dal repository Github all'indirizzo. [https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py](https://github.com/aws-samples/amazon-keyspaces-toolkit/blob/master/cqlsh-expansion/cqlsh_expansion/post_install.py)

   Per utilizzare lo script, puoi eseguire il comando seguente. 

   ```
   cqlsh-expansion.init
   ```
**Nota**  
La directory e il file creati dallo script di post-installazione non vengono rimossi quando si disinstalla l'`cqlsh-expansion`utilizzo `pip uninstall` e devono essere eliminati manualmente.

**Connessione ad Amazon Keyspaces utilizzando il `cqlsh-expansion`**

1. Configura la tua Regione AWS e aggiungila come variabile di ambiente utente.

   Per aggiungere la tua regione predefinita come variabile di ambiente su un sistema basato su Unix, puoi eseguire il seguente comando. Per questo esempio, utilizziamo`us-east-1`.

   ```
   export AWS_DEFAULT_REGION=us-east-1
   ```

   Per ulteriori informazioni su come impostare le variabili di ambiente, anche per altre piattaforme, vedi [Come impostare le variabili di ambiente](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).

1. Trova il tuo endpoint di servizio.

   Scegli l'endpoint di servizio appropriato per la tua regione. Per esaminare gli endpoint disponibili per Amazon Keyspaces, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md) Per questo esempio, utilizziamo l'endpoint. `cassandra.us-east-1.amazonaws.com`

1. Configura il metodo di autenticazione.

   La connessione con le chiavi di accesso IAM (utenti, ruoli e identità federate IAM) è il metodo consigliato per una maggiore sicurezza. 

   Prima di poterti connettere con le chiavi di accesso IAM, devi completare i seguenti passaggi:

   1. Crea un utente IAM o segui le best practice e crea un ruolo IAM che gli utenti IAM possono assumere. Per ulteriori informazioni su come creare chiavi di accesso IAM, consulta[Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

   1. Crea una policy IAM che conceda al ruolo (o all'utente IAM) almeno l'accesso in sola lettura ad Amazon Keyspaces. Per ulteriori informazioni sulle autorizzazioni richieste all'utente o al ruolo IAM per connettersi ad Amazon Keyspaces, consulta. [Accesso alle tabelle Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table)

   1. Aggiungi le chiavi di accesso dell'utente IAM alle variabili di ambiente dell'utente come mostrato nell'esempio seguente.

      ```
      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
      export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
      ```

      Per ulteriori informazioni su come impostare le variabili di ambiente, anche per altre piattaforme, vedi [Come impostare le variabili di ambiente](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html#envvars-set).
**Nota**  
Se ti connetti da un'istanza Amazon EC2, devi anche configurare una regola in uscita nel gruppo di sicurezza che consenta il traffico dall'istanza ad Amazon Keyspaces. Per ulteriori informazioni su come visualizzare e modificare le regole in uscita EC2, consulta [Add rules to a security group nella Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule) User Guide.

1. Connect ad Amazon Keyspaces utilizzando l'autenticazione `cqlsh-expansion` e SigV4.

   Per connetterti ad Amazon Keyspaces con`cqlsh-expansion`, puoi usare il seguente comando. Assicurati di sostituire l'endpoint di servizio con l'endpoint corretto per la tua regione.

   ```
   cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl
   ```

   Se la connessione è riuscita, dovresti vedere un output simile a quello dell'esempio seguente.

   ```
   Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142
   [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
   Use HELP for help.
   cqlsh current consistency level is ONE.
   cqlsh>
   ```

   Se si verifica un errore di connessione, consulta la sezione [Non riesco a connettermi ad Amazon Keyspaces con cqlsh](troubleshooting.connecting.md#troubleshooting.connection.cqlsh) per informazioni sulla risoluzione dei problemi.
   + Connect ad Amazon Keyspaces con credenziali specifiche del servizio.

     Per connetterti con la combinazione tradizionale di nome utente e password utilizzata da Cassandra per l'autenticazione, devi prima creare credenziali specifiche del servizio per Amazon Keyspaces come descritto in. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) È inoltre necessario concedere all'utente le autorizzazioni per accedere ad Amazon Keyspaces, per ulteriori informazioni, consulta. [Accesso alle tabelle Amazon Keyspaces](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-access-one-table) 

     Dopo aver creato le credenziali e le autorizzazioni specifiche del servizio per l'utente, devi aggiornare il `cqlshrc` file, che in genere si trova nel percorso della directory utente. `~/.cassandra/` Nel `cqlshrc` file, vai alla `[authentication]` sezione Cassandra e commenta il modulo SigV4 e la classe sotto `[auth_provider]` usando il carattere «;», come mostrato nell'esempio seguente. 

     ```
     [auth_provider]
     
     ; module = cassandra_sigv4.auth
     
     ; classname = SigV4AuthProvider
     ```

     Dopo aver aggiornato il `cqlshrc` file, puoi connetterti ad Amazon Keyspaces con credenziali specifiche del servizio utilizzando il seguente comando.

     ```
     cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 -u myUserName -p myPassword --ssl
     ```

**Pulizia**
+ Per rimuovere il `cqlsh-expansion` pacchetto puoi usare il comando. `pip uninstall`

  ```
  pip3 uninstall cqlsh-expansion
  ```

  Il `pip3 uninstall` comando non rimuove la directory e i file correlati creati dallo script di post-installazione. Per rimuovere la cartella e i file creati dallo script di post-installazione, è possibile eliminare la `.cassandra` directory.

## Come configurare manualmente le `cqlsh` connessioni per TLS
<a name="encrypt_using_tls"></a>

Amazon Keyspaces accetta solo connessioni sicure tramite Transport Layer Security (TLS). Puoi utilizzare l'`cqlsh-expansion`utilità che scarica automaticamente i certificati e installa un file di configurazione `cqlshrc` preconfigurato. Per ulteriori informazioni, consulta questa [Utilizzo di `cqlsh-expansion` per connettersi ad Amazon Keyspaces](#using_cqlsh) pagina. 

Se desideri scaricare i certificati e configurare la connessione manualmente, puoi farlo utilizzando i seguenti passaggi. 

1.  Scaricate i seguenti certificati digitali e salvate i file localmente o nella vostra home directory.

   1. AmazonRootCA1

   1. AmazonRootCA2

   1. AmazonRootCA3

   1. AmazonRootCA4

   1. Starfield Class 2 Root (opzionale, per compatibilità con le versioni precedenti)

   Per scaricare i certificati, puoi usare i seguenti comandi.

   ```
   curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
   curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
   curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
   ```
**Nota**  
Amazon Keyspaces utilizzava in precedenza certificati TLS ancorati alla CA Starfield Class 2. AWS sta migrando tutto Regioni AWS verso certificati emessi nell'ambito di Amazon Trust Services (Amazon Root CAs 1—4). Durante questa transizione, configura i client in modo che si fidino sia di Amazon Root CAs 1-4 che di Starfield root per garantire la compatibilità in tutte le regioni.

1. Combina tutti i certificati scaricati in un unico `pem` file con il nome indicato *keyspaces-bundle.pem* nei nostri esempi. Per aggiungerlo, eseguire il comando seguente: Prendi nota del percorso del file, ne avrai bisogno in seguito.

   ```
   cat AmazonRootCA1.pem \
    AmazonRootCA2.pem \
    AmazonRootCA3.pem \
    AmazonRootCA4.pem \
    sf-class2-root.crt \
    > keyspaces-bundle.pem
   ```

1. Apri il file di `cqlshrc` configurazione nella home directory di Cassandra, ad esempio, `${HOME}/.cassandra/cqlshrc` e aggiungi le seguenti righe.

   ```
   [connection]
   port = 9142
   factory = cqlshlib.ssl.ssl_transport_factory
   
   [ssl]
   validate = true
   certfile =  path_to_file/keyspaces-bundle.pem
   ```

# Utilizzo di AWS CLI per connettersi ad Amazon Keyspaces
<a name="access.cli"></a>

 Puoi usare il AWS Command Line Interface (AWS CLI) per controllare più AWS servizi dalla riga di comando e automatizzarli tramite script. Con Amazon Keyspaces puoi utilizzare le AWS CLI operazioni DDL (Data Definition Language), come la creazione di una tabella. Inoltre, puoi utilizzare servizi e strumenti di infrastruttura come codice (IaC) come AWS CloudFormation Terraform.

Prima di poterlo utilizzare AWS CLI con Amazon Keyspaces, devi ottenere un ID della chiave di accesso e una chiave di accesso segreta. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

Per un elenco completo di tutti i comandi disponibili per Amazon Keyspaces in AWS CLI, consulta il [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/keyspaces/index.html) Reference. 

**Topics**
+ [Scaricamento e configurazione di AWS CLI](#access.cli.installcli)
+ [Utilizzo di AWS CLI con Amazon Keyspaces](#access.cli.usingcli)

## Scaricamento e configurazione di AWS CLI
<a name="access.cli.installcli"></a>

 AWS CLI È disponibile all'indirizzo[https://aws.amazon.com/cli](https://aws.amazon.com/cli). Viene eseguita su Windows, macOS o Linux. Dopo averlo scaricato AWS CLI, segui questi passaggi per installarlo e configurarlo:

1. Vai alla [guida per l'AWS Command Line Interface utente](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)

1. Segui le istruzioni per [l'installazione AWS CLI e la](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) [configurazione di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

## Utilizzo di AWS CLI con Amazon Keyspaces
<a name="access.cli.usingcli"></a>

Il formato della riga di comando è costituito da un nome di operazione Amazon Keyspaces seguito dai parametri per tale operazione. AWS CLI Supporta una sintassi abbreviata per i valori dei parametri, oltre a JSON. I seguenti esempi di Amazon Keyspaces utilizzano una sintassi AWS CLI abbreviata. Per ulteriori informazioni, consulta [Uso della sintassi abbreviata con la CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-shorthand.html). AWS 

*Il comando seguente crea uno spazio di chiavi con il nome catalog.*

```
aws keyspaces create-keyspace --keyspace-name 'catalog'
```

Il comando restituisce la risorsa Amazon Resource Name (ARN) nell'output.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

Per confermare l'esistenza del *catalogo* keyspace, puoi usare il seguente comando.

```
aws keyspaces get-keyspace --keyspace-name 'catalog'
```

L'output del comando restituisce i seguenti valori.

```
{
    "keyspaceName": "catalog",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/"
}
```

Il comando seguente crea una tabella con il nome *book\$1awards*. La chiave di partizione della tabella è costituita dalle colonne `year` `award` e la chiave di clustering è costituita dalle colonne `category` ed `rank` entrambe le colonne di clustering utilizzano l'ordinamento crescente. Per facilitare la leggibilità, in questa sezione i comandi lunghi sono suddivisi su righe separate.

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'book_awards' 
            --schema-definition 'allColumns=[{name=year,type=int},{name=award,type=text},{name=rank,type=int},
            {name=category,type=text}, {name=author,type=text},{name=book_title,type=text},{name=publisher,type=text}],
            partitionKeys=[{name=year},{name=award}],clusteringKeys=[{name=category,orderBy=ASC},{name=rank,orderBy=ASC}]'
```

Questo comando produce l'output seguente.

```
{
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards"
}
```

Per confermare i metadati e le proprietà della tabella, è possibile utilizzare il seguente comando.

```
aws keyspaces get-table --keyspace-name 'catalog' --table-name 'book_awards'
```

Questo comando restituisce il seguente output.

```
{
    "keyspaceName": "catalog",
    "tableName": "book_awards",
    "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/catalog/table/book_awards",
    "creationTimestamp": 1645564368.628,
    "status": "ACTIVE",
    "schemaDefinition": {
        "allColumns": [
            {
                "name": "year",
                "type": "int"
            },
            {
                "name": "award",
                "type": "text"
            },
            {
                "name": "category",
                "type": "text"
            },
            {
                "name": "rank",
                "type": "int"
            },
            {
                "name": "author",
                "type": "text"
            },
            {
                "name": "book_title",
                "type": "text"
            },
            {
                "name": "publisher",
                "type": "text"
            }
        ],
        "partitionKeys": [
            {
                "name": "year"
            },
            {
                "name": "award"
            }
        ],
        "clusteringKeys": [
            {
                "name": "category",
                "orderBy": "ASC"
            },
            {
                "name": "rank",
                "orderBy": "ASC"
            }
        ],
        "staticColumns": []
    },
    "capacitySpecification": {
        "throughputMode": "PAY_PER_REQUEST",
        "lastUpdateToPayPerRequestTimestamp": 1645564368.628
    },
    "encryptionSpecification": {
        "type": "AWS_OWNED_KMS_KEY"
    },
    "pointInTimeRecovery": {
        "status": "DISABLED"
    },
    "ttl": {
        "status": "ENABLED"
    },
    "defaultTimeToLive": 0,
    "comment": {
        "message": ""
    }
}
```

Quando si creano tabelle con schemi complessi, può essere utile caricare la definizione dello schema della tabella da un file JSON. Di seguito è riportato un esempio di ciò. Scaricate il file JSON di esempio di definizione dello schema da [schema\$1definition.zip](samples/schema_definition.zip) ed estraetelo`schema_definition.json`, prendendo nota del percorso del file. In questo esempio, il file JSON di definizione dello schema si trova nella directory corrente. Per le diverse opzioni relative al percorso dei file, consultate [Come caricare i parametri da un file](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how).

```
aws keyspaces create-table --keyspace-name 'catalog' 
            --table-name 'book_awards' --schema-definition 'file://schema_definition.json'
```

Gli esempi seguenti mostrano come creare una tabella semplice con il nome *myTable* con opzioni aggiuntive. Nota che i comandi sono suddivisi in righe separate per migliorare la leggibilità. Questo comando mostra come creare una tabella e:
+ imposta la modalità di capacità della tabella
+ abilita Point-in-time il ripristino per la tabella
+ imposta il valore Time to Live (TTL) predefinito per la tabella su un anno
+ aggiungi due tag per la tabella

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --capacity-specification 'throughputMode=PROVISIONED,readCapacityUnits=5,writeCapacityUnits=5' 
            --point-in-time-recovery 'status=ENABLED' 
            --default-time-to-live '31536000' 
            --tags 'key=env,value=test' 'key=dpt,value=sec'
```

Questo esempio mostra come creare una nuova tabella che utilizza una chiave gestita dal cliente per la crittografia e ha il TTL abilitato per consentire di impostare le date di scadenza per colonne e righe. Per eseguire questo esempio, devi sostituire l'ARN della risorsa per la AWS KMS chiave gestita dal cliente con la tua chiave e assicurarti che Amazon Keyspaces possa accedervi.

```
aws keyspaces create-table --keyspace-name 'catalog' --table-name 'myTable' 
            --schema-definition 'allColumns=[{name=id,type=int},{name=name,type=text},{name=date,type=timestamp}],partitionKeys=[{name=id}]' 
            --encryption-specification 'type=CUSTOMER_MANAGED_KMS_KEY,kmsKeyIdentifier=arn:aws:kms:us-east-1:111122223333:key/11111111-2222-3333-4444-555555555555'  
            --ttl 'status=ENABLED'
```

# Utilizzo dell'API per la connessione ad Amazon Keyspaces
<a name="access.api"></a>

 Puoi utilizzare l' AWS SDK e AWS Command Line Interface (AWS CLI) per lavorare in modo interattivo con Amazon Keyspaces. Puoi utilizzare l'API per operazioni DDL (Data Language Definition), come la creazione di un keyspace o di una tabella. Inoltre, puoi utilizzare servizi e strumenti di infrastruttura come codice (IaC) come AWS CloudFormation Terraform. 

Prima di poterlo utilizzare AWS CLI con Amazon Keyspaces, devi ottenere un ID della chiave di accesso e una chiave di accesso segreta. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

Per un elenco completo di tutte le operazioni disponibili per Amazon Keyspaces nell'API, consulta Amazon [https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/keyspaces/latest/APIReference/Welcome.html) API Reference.

# Utilizzo di un driver client Cassandra per accedere ad Amazon Keyspaces a livello di codice
<a name="programmatic.drivers"></a>

Puoi utilizzare molti driver Cassandra open source di terze parti per connetterti ad Amazon Keyspaces. Amazon Keyspaces è compatibile con i driver Cassandra che supportano la versione 3.11.2 di Apache Cassandra. Questi sono i driver e le versioni più recenti che abbiamo testato e che consigliamo di utilizzare con Amazon Keyspaces: 
+ `Java v3.3`
+ `Java v4.17`
+ `Python Cassandra-driver 3.29.1`
+ `Node.js cassandra driver -v 4.7.2`
+ `GO using GOCQL v1.6`
+ `.NET CassandraCSharpDriver -v 3.20.1`

Per ulteriori informazioni sui driver Cassandra, consulta Driver del client [Apache Cassandra](http://cassandra.apache.org/doc/latest/getting_started/drivers.html). 

**Nota**  
Per aiutarti a iniziare, puoi visualizzare e scaricare esempi di end-to-end codice che stabiliscono connessioni ad Amazon Keyspaces con i driver più diffusi. Guarda gli [esempi di Amazon Keyspaces](https://github.com/aws-samples/amazon-keyspaces-examples) su. GitHub

I tutorial in questo capitolo includono una semplice query CQL per confermare che la connessione ad Amazon Keyspaces è stata stabilita correttamente. Per informazioni su come utilizzare keyspace e tabelle dopo la connessione a un endpoint Amazon Keyspaces, consulta. [Riferimento al linguaggio CQL per Amazon Keyspaces (per Apache Cassandra)](cql.md) Per un step-by-step tutorial che mostra come connettersi ad Amazon Keyspaces da un endpoint Amazon VPC, consulta. [Tutorial: Connettiti ad Amazon Keyspaces utilizzando un endpoint VPC di interfaccia](vpc-endpoints-tutorial.md) 

**Topics**
+ [Utilizzo di un driver client Java Cassandra per accedere ad Amazon Keyspaces a livello di programmazione](using_java_driver.md)
+ [Utilizzo di un driver client Cassandra Python per accedere ad Amazon Keyspaces a livello di codice](using_python_driver.md)
+ [Utilizzo di un driver client Cassandra Node.js per accedere ad Amazon Keyspaces a livello di codice](using_nodejs_driver.md)
+ [Utilizzo di un driver client Cassandra.NET Core per accedere ad Amazon Keyspaces a livello di codice](using_dotnetcore_driver.md)
+ [Utilizzo di un driver client Cassandra Go per accedere ad Amazon Keyspaces a livello di codice](using_go_driver.md)
+ [Utilizzo di un driver client Cassandra Perl per accedere ad Amazon Keyspaces a livello di codice](using_perl_driver.md)

# Utilizzo di un driver client Java Cassandra per accedere ad Amazon Keyspaces a livello di programmazione
<a name="using_java_driver"></a>

Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client Java.

**Nota**  
Java 17 e DataStax Java Driver 4.17 sono attualmente supportati solo in versione beta. Per ulteriori informazioni, consulta [https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/](https://docs.datastax.com/en/developer/java-driver/4.17/upgrade_guide/).

Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:
+ Crea credenziali specifiche del servizio associate a un utente specifico (IAM). AWS Identity and Access Management 
+ Per una maggiore sicurezza, consigliamo di creare chiavi di accesso IAM per le identità IAM utilizzate in tutti i servizi. AWS Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di accesso IAM anziché nome utente e password. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

**Nota**  
Per un esempio di come usare Amazon Keyspaces con Spring Boot, vedi. [https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring](https://github.com/aws-samples/amazon-keyspaces-examples/tree/main/java/datastax-v4/spring)

**Topics**
+ [Prima di iniziare](#using_java_driver.BeforeYouBegin)
+ [Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java per Apache Cassandra utilizzando credenziali specifiche del servizio](#java_tutorial)
+ [Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java 4.x per Apache Cassandra e il plug-in di autenticazione SigV4](#java_tutorial.SigV4)
+ [Connect ad Amazon Keyspaces utilizzando il driver DataStax Java 3.x per Apache Cassandra e il plug-in di autenticazione SigV4](#java3x_tutorial.SigV4)

## Prima di iniziare
<a name="using_java_driver.BeforeYouBegin"></a>

Per connetterti ad Amazon Keyspaces, devi completare le seguenti attività prima di iniziare.

1. Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. 

   1.  Scarica i seguenti certificati digitali e salva i file localmente o nella tua home directory.

      1. AmazonRootCA1

      1. AmazonRootCA2

      1. AmazonRootCA3

      1. AmazonRootCA4

      1. Starfield Class 2 Root (opzionale, per compatibilità con le versioni precedenti)

      Per scaricare i certificati, puoi usare i seguenti comandi.

      ```
      curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
      curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
      curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
      ```
**Nota**  
Amazon Keyspaces utilizzava in precedenza certificati TLS ancorati alla CA Starfield Class 2. AWS sta migrando tutto Regioni AWS verso certificati emessi nell'ambito di Amazon Trust Services (Amazon Root CAs 1—4). Durante questa transizione, configura i client in modo che si fidino sia di Amazon Root CAs 1-4 che di Starfield root per garantire la compatibilità in tutte le regioni.

   1. Converti i certificati digitali in file TrustStore e aggiungili al keystore.

      ```
      openssl x509 -outform der -in AmazonRootCA1.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-1 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA2.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-2 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA3.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-3 -keystore cassandra_truststore.jks -file temp_file.der
      
      openssl x509 -outform der -in AmazonRootCA4.pem -out temp_file.der
      keytool -import -alias amazon-root-ca-4 -keystore cassandra_truststore.jks -file temp_file.der
                   
      openssl x509 -outform der -in sf-class2-root.crt -out temp_file.der
      keytool -import -alias cassandra -keystore cassandra_truststore.jks -file temp_file.der
      ```

      Nell'ultimo passaggio, è necessario creare una password per il keystore e considerare attendibile ogni certificato. Il comando interattivo ha questo aspetto.

      ```
      Enter keystore password:  
      Re-enter new password: 
      Owner: CN=Amazon Root CA 1, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 1, O=Amazon, C=US
      Serial number: 66c9fcf99bf8c0a39e2f0788a43e696365bca
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sun Jan 17 00:00:00 UTC 2038
      Certificate fingerprints:
           SHA1: 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16
           SHA256: 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E
      Signature algorithm name: SHA256withRSA
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: 84 18 CC 85 34 EC BC 0C   94 94 2E 08 59 9C C7 B2  ....4.......Y...
      0010: 10 4E 0A 08                                        .N..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 2, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 2, O=Amazon, C=US
      Serial number: 66c9fd29635869f0a0fe58678f85b26bb8a37
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A
           SHA256: 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4
      Signature algorithm name: SHA384withRSA
      Subject Public Key Algorithm: 4096-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: B0 0C F0 4C 30 F4 05 58   02 48 FD 33 E5 52 AF 4B  ...L0..X.H.3.R.K
      0010: 84 E3 66 52                                        ..fR
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 3, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 3, O=Amazon, C=US
      Serial number: 66c9fd5749736663f3b0b9ad9e89e7603f24a
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E
           SHA256: 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4
      Signature algorithm name: SHA256withECDSA
      Subject Public Key Algorithm: 256-bit EC (secp256r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: AB B6 DB D7 06 9E 37 AC   30 86 07 91 70 C7 9C C4  ......7.0...p...
      0010: 19 B1 78 C0                                        ..x.
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: CN=Amazon Root CA 4, O=Amazon, C=US
      Issuer: CN=Amazon Root CA 4, O=Amazon, C=US
      Serial number: 66c9fd7c1bb104c2943e5717b7b2cc81ac10e
      Valid from: Tue May 26 00:00:00 UTC 2015 until: Sat May 26 00:00:00 UTC 2040
      Certificate fingerprints:
           SHA1: F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE
           SHA256: E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92
      Signature algorithm name: SHA384withECDSA
      Subject Public Key Algorithm: 384-bit EC (secp384r1) key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.19 Criticality=true
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #2: ObjectId: 2.5.29.15 Criticality=true
      KeyUsage [
        DigitalSignature
        Key_CertSign
        Crl_Sign
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: D3 EC C7 3A 65 6E CC E1   DA 76 9A 56 FB 9C F3 86  ...:en...v.V....
      0010: 6D 57 E5 81                                        mW..
      ]
      ]
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      Enter keystore password:  
      Owner: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Issuer: OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US
      Serial number: 0
      Valid from: Tue Jun 29 17:39:16 UTC 2004 until: Thu Jun 29 17:39:16 UTC 2034
      Certificate fingerprints:
           SHA1: AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A
           SHA256: 14:65:FA:20:53:97:B8:76:FA:A6:F0:A9:95:8E:55:90:E4:0F:CC:7F:AA:4F:B7:C2:C8:67:75:21:FB:5F:B6:58
      Signature algorithm name: SHA1withRSA (weak)
      Subject Public Key Algorithm: 2048-bit RSA key
      Version: 3
      
      Extensions: 
      
      #1: ObjectId: 2.5.29.35 Criticality=false
      AuthorityKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      [OU=Starfield Class 2 Certification Authority, O="Starfield Technologies, Inc.", C=US]
      SerialNumber: [    00]
      ]
      
      #2: ObjectId: 2.5.29.19 Criticality=false
      BasicConstraints:[
        CA:true
        PathLen:2147483647
      ]
      
      #3: ObjectId: 2.5.29.14 Criticality=false
      SubjectKeyIdentifier [
      KeyIdentifier [
      0000: BF 5F B7 D1 CE DD 1F 86   F4 5B 55 AC DC D7 10 C2  ._.......[U.....
      0010: 0E A9 88 E7                                        ....
      ]
      ]
      
      
      Warning:
      The input uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.
      
      Trust this certificate? [no]:  yes
      Certificate was added to keystore
      ```

1.  Allega il file TrustStore negli argomenti JVM: 

   ```
   -Djavax.net.ssl.trustStore=path_to_file/cassandra_truststore.jks 
   -Djavax.net.ssl.trustStorePassword=my_password
   ```

## Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java per Apache Cassandra utilizzando credenziali specifiche del servizio
<a name="java_tutorial"></a>

Il seguente step-by-step tutorial illustra come connettersi ad Amazon Keyspaces utilizzando un driver Java per Cassandra utilizzando credenziali specifiche del servizio. In particolare, utilizzerai la versione 4.0 del driver DataStax Java per Apache Cassandra. 

**Topics**
+ [Fase 1: prerequisiti](#java_tutorial.prereq)
+ [Fase 2: Configurare il driver](#java_tutorial.driverconfiguration)
+ [Fase 3: Esegui l'applicazione di esempio](#java_tutorial.application)

### Fase 1: prerequisiti
<a name="java_tutorial.prereq"></a>

Per seguire questo tutorial, è necessario generare credenziali specifiche del servizio e aggiungere il driver DataStax Java per Apache Cassandra al progetto Java.
+ Genera credenziali specifiche del servizio per il tuo utente IAM di Amazon Keyspaces completando i passaggi indicati in. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) Se preferisci utilizzare le chiavi di accesso IAM per l'autenticazione, consulta. [Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java 4.x per Apache Cassandra e il plug-in di autenticazione SigV4](#java_tutorial.SigV4)
+ Aggiungi il driver DataStax Java per Apache Cassandra al tuo progetto Java. Assicurati di utilizzare una versione del driver che supporti Apache Cassandra 3.11.2. Per ulteriori informazioni, consulta la documentazione del [driver DataStax Java per](https://github.com/datastax/java-driver) Apache Cassandra.

### Fase 2: Configurare il driver
<a name="java_tutorial.driverconfiguration"></a>

È possibile specificare le impostazioni per il driver DataStax Java Cassandra creando un file di configurazione per l'applicazione. Questo file di configurazione sostituisce le impostazioni predefinite e indica al driver di connettersi all'endpoint del servizio Amazon Keyspaces utilizzando la porta 9142. Per un elenco degli endpoint di servizio disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

Create un file di configurazione e salvatelo nella cartella delle risorse dell'applicazione, ad esempio. `src/main/resources/application.conf` Apri `application.conf` e aggiungi le seguenti impostazioni di configurazione.

1. **Provider di autenticazione**: crea il provider di autenticazione con la `PlainTextAuthProvider` classe. *ServiceUserName*e *ServicePassword* deve corrispondere al nome utente e alla password ottenuti quando sono state generate le credenziali specifiche del servizio seguendo la procedura riportata di seguito. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md)
**Nota**  
È possibile utilizzare credenziali a breve termine utilizzando il plug-in di autenticazione per il driver DataStax Java per Apache Cassandra anziché codificare le credenziali nel file di configurazione del driver. Per ulteriori informazioni, segui le istruzioni per. [Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java 4.x per Apache Cassandra e il plug-in di autenticazione SigV4](#java_tutorial.SigV4)

1. **Data center locale**: imposta il valore per la regione `local-datacenter` a cui ti stai connettendo. Ad esempio, se l'applicazione si connette a`cassandra.us-east-2.amazonaws.com`, imposta il data center locale su`us-east-2`. Per tutte le opzioni disponibili Regioni AWS, vedi[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md). Impostato `slow-replica-avoidance = false` per bilanciare il carico su un minor numero di nodi.

1. **SSL/TLS**: inizializza SSLEngine Factory aggiungendo una sezione nel file di configurazione con una singola riga che specifica la classe con. `class = DefaultSslEngineFactory` Fornisci il percorso del file TrustStore e la password che hai creato in precedenza. Amazon Keyspaces non supporta `hostname-validation` i peer, quindi imposta questa opzione su false.

```
datastax-java-driver {

    basic.contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]
    advanced.auth-provider{
        class = PlainTextAuthProvider
        username = "ServiceUserName"
        password = "ServicePassword"
    }
    basic.load-balancing-policy {
        local-datacenter = "us-east-2"
        slow-replica-avoidance = false           
    }

    advanced.ssl-engine-factory {
        class = DefaultSslEngineFactory
        truststore-path = "./src/main/resources/cassandra_truststore.jks"
        truststore-password = "my_password"
        hostname-validation = false
      }
}
```

**Nota**  
Invece di aggiungere il percorso al TrustStore nel file di configurazione, puoi anche aggiungere il percorso TrustStore direttamente nel codice dell'applicazione oppure puoi aggiungere il percorso al TrustStore agli argomenti JVM.

### Fase 3: Esegui l'applicazione di esempio
<a name="java_tutorial.application"></a>

Questo esempio di codice mostra una semplice applicazione a riga di comando che crea un pool di connessioni ad Amazon Keyspaces utilizzando il file di configurazione creato in precedenza. Conferma che la connessione è stata stabilita eseguendo una semplice query.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**Nota**  
Usa un `try` blocco per stabilire la connessione per assicurarti che sia sempre chiusa. Se non usi un `try` blocco, ricordati di chiudere la connessione per evitare perdite di risorse.

## Step-by-step tutorial per connettersi ad Amazon Keyspaces utilizzando il driver DataStax Java 4.x per Apache Cassandra e il plug-in di autenticazione SigV4
<a name="java_tutorial.SigV4"></a>

La sezione seguente descrive come utilizzare il plug-in di autenticazione SigV4 per il driver DataStax Java 4.x open source per Apache Cassandra per accedere ad Amazon Keyspaces (per Apache Cassandra). [Il plugin è disponibile nel repository. GitHub](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin)

Il plug-in di autenticazione SigV4 consente di utilizzare le credenziali IAM per utenti o ruoli durante la connessione ad Amazon Keyspaces. Invece di richiedere un nome utente e una password, questo plugin firma le richieste API utilizzando le chiavi di accesso. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md). 

### Fase 1: prerequisiti
<a name="java_tutorial.SigV4.1"></a>

Per seguire questo tutorial, devi completare le seguenti attività.
+ Se non l'hai già fatto, crea le credenziali per il tuo utente o ruolo IAM seguendo la procedura riportata qui. [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md) Questo tutorial presuppone che le chiavi di accesso siano memorizzate come variabili di ambiente. Per ulteriori informazioni, consulta [Memorizza le chiavi di accesso per l'accesso programmatico](aws.credentials.manage.md).
+ Aggiungi il driver DataStax Java per Apache Cassandra al tuo progetto Java. Assicurati di utilizzare una versione del driver che supporti Apache Cassandra 3.11.2. Per ulteriori informazioni, consulta la documentazione del [driver DataStax Java per](https://github.com/datastax/java-driver) Apache Cassandra.
+ Aggiungi il plugin di autenticazione alla tua applicazione. Il plugin di autenticazione supporta la versione 4.x del driver DataStax Java per Apache Cassandra. Se utilizzi Apache Maven o un sistema di compilazione in grado di utilizzare le dipendenze Maven, aggiungi le seguenti dipendenze al tuo file. `pom.xml`
**Importante**  
[Sostituisci la versione del plugin con l'ultima versione mostrata nel repository. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin#add-the-authentication-plugin-to-the-application)

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin</artifactId>
          <version>4.0.9</version>
  </dependency>
  ```

### Fase 2: Configurare il driver
<a name="java_tutorial.SigV4.2"></a>

È possibile specificare le impostazioni per il driver DataStax Java Cassandra creando un file di configurazione per l'applicazione. Questo file di configurazione sostituisce le impostazioni predefinite e indica al driver di connettersi all'endpoint del servizio Amazon Keyspaces utilizzando la porta 9142. Per un elenco degli endpoint di servizio disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

Create un file di configurazione e salvatelo nella cartella delle risorse dell'applicazione, ad esempio. `src/main/resources/application.conf` Apri `application.conf` e aggiungi le seguenti impostazioni di configurazione.

1. **Provider di autenticazione**: imposta una nuova istanza di`software.aws.mcs.auth.SigV4AuthProvider`. `advanced.auth-provider.class` SigV4 AuthProvider è il gestore di autenticazione fornito dal plugin per eseguire l'autenticazione SigV4. 

1. **Data center locale**: imposta il valore per la regione `local-datacenter` a cui ti stai connettendo. Ad esempio, se l'applicazione si connette a`cassandra.us-east-2.amazonaws.com`, imposta il data center locale su`us-east-2`. Per tutte le opzioni disponibili Regioni AWS, vedi[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md). Impostato `slow-replica-avoidance = false` per bilanciare il carico rispetto a tutti i nodi disponibili.

1. **Idempotenza**: imposta l'impostazione predefinita `idempotence` per l'applicazione in modo da configurare il driver in modo `true` che riprovi sempre le richieste non riuscite. read/write/prepare/execute Si tratta di una procedura ottimale per le applicazioni distribuite che consente di gestire gli errori temporanei riprovando le richieste non riuscite.

1. **SSL/TLS**: inizializza la SSLEngine fabbrica aggiungendo una sezione nel file di configurazione con una sola riga che specifica la classe con. `class = DefaultSslEngineFactory` Fornisci il percorso del file TrustStore e la password che hai creato in precedenza. Amazon Keyspaces non supporta `hostname-validation` i peer, quindi imposta questa opzione su false.

1. **Connessioni**: crea almeno 3 connessioni locali per endpoint impostando. `local.size = 3` Si tratta di una best practice che aiuta l'applicazione a gestire i sovraccarichi e i picchi di traffico. Per ulteriori informazioni su come calcolare il numero di connessioni locali per endpoint necessarie all'applicazione in base ai modelli di traffico previsti, consulta. [Come configurare le connessioni in Amazon Keyspaces](connections.md#connections.howtoconfigure)

1. **Politica di riprova**: implementa la `AmazonKeyspacesExponentialRetryPolicy` politica di riprova di Amazon Keyspaces anziché quella fornita con `DefaultRetryPolicy` il driver Cassandra. Ciò ti consente di configurare il numero di tentativi di riprova per quello che soddisfa le `AmazonKeyspacesExponentialRetryPolicy` tue esigenze. Per impostazione predefinita, il numero di tentativi di nuovo tentativo `AmazonKeyspacesExponentialRetryPolicy` è impostato su 3. Per ulteriori informazioni, consulta [Come configurare la politica di riprova per le connessioni in Amazon Keyspaces](connections.md#connections.retry-policies).

1. **Dichiarazioni preparate**: imposta su false `prepare-on-all-nodes` per ottimizzare l'utilizzo della rete.

```
datastax-java-driver {
    basic {
        contact-points = [ "cassandra.us-east-2.amazonaws.com:9142"]  
        request {
            timeout = 2 seconds
            consistency = LOCAL_QUORUM
            page-size = 1024
            default-idempotence = true
        }
        load-balancing-policy {
            local-datacenter = "us-east-2"
            class = DefaultLoadBalancingPolicy
            slow-replica-avoidance = false           
        }
    }
    advanced {
        auth-provider {
            class = software.aws.mcs.auth.SigV4AuthProvider
            aws-region = us-east-2
        }
        ssl-engine-factory {
            class = DefaultSslEngineFactory
            truststore-path = "./src/main/resources/cassandra_truststore.jks"
            truststore-password = "my_password"
            hostname-validation = false
        }
        connection {
	     connect-timeout = 5 seconds
	     max-requests-per-connection = 512
	     pool {
                local.size = 3
	     }
        }
       retry-policy {
           class =  com.aws.ssa.keyspaces.retry.AmazonKeyspacesExponentialRetryPolicy
	    max-attempts = 3
	    min-wait = 10 mills
	    max-wait = 100 mills
       }
       prepared-statements {
	    prepare-on-all-nodes = false
       }
    }
}
```

**Nota**  
Invece di aggiungere il percorso al TrustStore nel file di configurazione, puoi anche aggiungere il percorso TrustStore direttamente nel codice dell'applicazione oppure puoi aggiungere il percorso al TrustStore agli argomenti JVM.

### Passaggio 3: Esegui l'applicazione
<a name="java_tutorial.SigV4.3"></a>

Questo esempio di codice mostra una semplice applicazione a riga di comando che crea un pool di connessioni ad Amazon Keyspaces utilizzando il file di configurazione creato in precedenza. Conferma che la connessione è stata stabilita eseguendo una semplice query.

```
package <your package>;
// add the following imports to your project
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.config.DriverConfigLoader;
import com.datastax.oss.driver.api.core.cql.ResultSet;
import com.datastax.oss.driver.api.core.cql.Row;

public class App 
{
    
    public static void main( String[] args )
    {
        //Use DriverConfigLoader to load your configuration file
        DriverConfigLoader loader = DriverConfigLoader.fromClasspath("application.conf");
        try (CqlSession session = CqlSession.builder()
                .withConfigLoader(loader)
                .build()) {

            ResultSet rs = session.execute("select * from system_schema.keyspaces");
            Row row = rs.one();
            System.out.println(row.getString("keyspace_name"));
        }
    }
}
```

**Nota**  
Usa un `try` blocco per stabilire la connessione per assicurarti che sia sempre chiusa. Se non usi un `try` blocco, ricordati di chiudere la connessione per evitare perdite di risorse.

## Connect ad Amazon Keyspaces utilizzando il driver DataStax Java 3.x per Apache Cassandra e il plug-in di autenticazione SigV4
<a name="java3x_tutorial.SigV4"></a>

La sezione seguente descrive come utilizzare il plug-in di autenticazione SigV4 per il driver DataStax Java open source 3.x per Apache Cassandra per accedere ad Amazon Keyspaces. [Il plugin è disponibile nel repository. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible)

Il plug-in di autenticazione SigV4 consente di utilizzare le credenziali IAM per utenti e ruoli durante la connessione ad Amazon Keyspaces. Invece di richiedere un nome utente e una password, questo plugin firma le richieste API utilizzando le chiavi di accesso. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md). 

### Fase 1: prerequisiti
<a name="java3x_tutorial.SigV4.1"></a>

Per eseguire questo esempio di codice, è necessario innanzitutto completare le seguenti attività.
+ Crea le credenziali per il tuo utente o ruolo IAM seguendo la procedura descritta in[Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md). Questo tutorial presuppone che le chiavi di accesso siano memorizzate come variabili di ambiente. Per ulteriori informazioni, consulta [Memorizza le chiavi di accesso per l'accesso programmatico](aws.credentials.manage.md).
+ Segui i passaggi indicati [Prima di iniziare](#using_java_driver.BeforeYouBegin) per scaricare i certificati digitali, convertirli in file TrustStore e allegare il keystore negli argomenti JVM all'applicazione.
+ Aggiungi il driver DataStax Java per Apache Cassandra al tuo progetto Java. Assicurati di utilizzare una versione del driver che supporti Apache Cassandra 3.11.2. Per ulteriori informazioni, consulta la documentazione del [driver DataStax Java per](https://github.com/datastax/java-driver) Apache Cassandra.
+ Aggiungi il plugin di autenticazione alla tua applicazione. Il plugin di autenticazione supporta la versione 3.x del driver DataStax Java per Apache Cassandra. Se utilizzi Apache Maven o un sistema di compilazione in grado di utilizzare le dipendenze Maven, aggiungi le seguenti dipendenze al tuo file. `pom.xml` [Sostituisci la versione del plugin con l'ultima versione mostrata nel repository. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-java-driver-plugin/tree/3.x-Driver-Compatible)

  ```
  <dependency>
          <groupId>software.aws.mcs</groupId>
          <artifactId>aws-sigv4-auth-cassandra-java-driver-plugin_3</artifactId>
          <version>3.0.3</version>
  </dependency>
  ```

### Fase 2: Esegui l'applicazione
<a name="java3x_tutorial.SigV4.3"></a>

Questo esempio di codice mostra una semplice applicazione a riga di comando che crea un pool di connessioni ad Amazon Keyspaces. Conferma che la connessione è stata stabilita eseguendo una semplice query.

```
package <your package>;
// add the following imports to your project

import software.aws.mcs.auth.SigV4AuthProvider;  
import com.datastax.driver.core.Cluster;  
import com.datastax.driver.core.ResultSet;  
import com.datastax.driver.core.Row;  
import com.datastax.driver.core.Session;

public class App 
{
    
    public static void main( String[] args )
    {
        String endPoint = "cassandra.us-east-2.amazonaws.com";  
        int portNumber = 9142;
        Session session = Cluster.builder()  
	                                 .addContactPoint(endPoint)  
	                                 .withPort(portNumber)  
	                                 .withAuthProvider(new SigV4AuthProvider("us-east-2"))  
	                                 .withSSL()  
	                                 .build()  
	                                 .connect();

        ResultSet rs = session.execute("select * from system_schema.keyspaces");  
        Row row = rs.one();  
        System.out.println(row.getString("keyspace_name"));
    }
}
```

Note d'uso:

Per un elenco degli endpoint disponibili, vedere[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md).

Consulta il seguente repository per utili politiche, esempi e best practice dei driver Java per l'utilizzo del driver Java con Amazon [https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers](https://github.com/aws-samples/amazon-keyspaces-java-driver-helpers) Keyspaces:. 

# Utilizzo di un driver client Cassandra Python per accedere ad Amazon Keyspaces a livello di codice
<a name="using_python_driver"></a>

 In questa sezione, ti mostriamo come connetterti ad Amazon Keyspaces usando un driver client Python. Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:
+ Crea credenziali specifiche del servizio associate a un utente specifico (IAM). AWS Identity and Access Management 
+ Per una maggiore sicurezza, consigliamo di creare chiavi di accesso IAM per utenti o ruoli IAM utilizzati in tutti i servizi. AWS Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di accesso IAM anziché nome utente e password. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Prima di iniziare](#using_python_driver.BeforeYouBegin)
+ [Connect ad Amazon Keyspaces utilizzando il driver Python per Apache Cassandra e le credenziali specifiche del servizio](#python_ssc)
+ [Connect ad Amazon Keyspaces utilizzando il driver DataStax Python per Apache Cassandra e il plug-in di autenticazione SigV4](#python_SigV4)

## Prima di iniziare
<a name="using_python_driver.BeforeYouBegin"></a>

È necessario completare la seguente attività prima di iniziare.

Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. Per connetterti ad Amazon Keyspaces tramite TLS, devi scaricare i certificati digitali Amazon e configurare il driver Python per utilizzare TLS. 

 Scarica i seguenti certificati digitali e salva i file localmente o nella tua home directory.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opzionale, per compatibilità con le versioni precedenti)

Per scaricare i certificati, puoi usare i seguenti comandi.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**Nota**  
Amazon Keyspaces utilizzava in precedenza certificati TLS ancorati alla CA Starfield Class 2. AWS sta migrando tutto Regioni AWS verso certificati emessi nell'ambito di Amazon Trust Services (Amazon Root CAs 1—4). Durante questa transizione, configura i client in modo che si fidino sia di Amazon Root CAs 1-4 che di Starfield root per garantire la compatibilità in tutte le regioni.

Combina tutti i certificati scaricati in un unico `pem` file con il nome indicato *keyspaces-bundle.pem* nei nostri esempi. Per aggiungerlo, eseguire il comando seguente: Prendi nota del percorso del file, ne avrai bisogno in seguito.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ad Amazon Keyspaces utilizzando il driver Python per Apache Cassandra e le credenziali specifiche del servizio
<a name="python_ssc"></a>

Il seguente esempio di codice mostra come connettersi ad Amazon Keyspaces con un driver client Python e credenziali specifiche del servizio.

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2 )

ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')

ssl_context.verify_mode = CERT_REQUIRED
auth_provider = PlainTextAuthProvider(username='ServiceUserName', password='ServicePassword')
cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider, port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Note sull'utilizzo:

1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del file di certificato combinato salvato nel primo passaggio.

1. Assicurati che *ServiceUserName* e *ServicePassword* corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi per. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Per un elenco degli endpoint disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

## Connect ad Amazon Keyspaces utilizzando il driver DataStax Python per Apache Cassandra e il plug-in di autenticazione SigV4
<a name="python_SigV4"></a>

La sezione seguente mostra come utilizzare il plug-in di autenticazione SigV4 per il driver DataStax Python open source per Apache Cassandra per accedere ad Amazon Keyspaces (per Apache Cassandra). 

Se non l'hai già fatto, inizia a creare le credenziali per il tuo ruolo IAM seguendo i passaggi riportati di seguito. [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md) Questo tutorial utilizza credenziali temporanee, che richiedono un ruolo IAM. Per ulteriori informazioni sulle credenziali temporanee, consulta. [Crea credenziali temporanee per connetterti ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4](temporary.credentials.IAM.md)

[Quindi, aggiungi il plug-in di autenticazione Python SigV4 al tuo ambiente dal repository. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-python-driver-plugin)

```
pip install cassandra-sigv4
```

Il seguente esempio di codice mostra come connettersi ad Amazon Keyspaces utilizzando il driver DataStax Python open source per Cassandra e il plug-in di autenticazione SigV4. Il plugin dipende dall' AWS SDK per Python (Boto3). Viene utilizzato per `boto3.session` ottenere credenziali temporanee. 

```
from cassandra.cluster import Cluster
from ssl import SSLContext, PROTOCOL_TLSv1_2 , CERT_REQUIRED
from cassandra.auth import PlainTextAuthProvider
import boto3
from cassandra_sigv4.auth import SigV4AuthProvider

ssl_context = SSLContext(PROTOCOL_TLSv1_2)
ssl_context.load_verify_locations('path_to_file/keyspaces-bundle.pem')
ssl_context.verify_mode = CERT_REQUIRED

# use this if you want to use Boto to set the session parameters.
boto_session = boto3.Session(aws_access_key_id="AKIAIOSFODNN7EXAMPLE",
                             aws_secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
                             aws_session_token="AQoDYXdzEJr...<remainder of token>",
                             region_name="us-east-2")
auth_provider = SigV4AuthProvider(boto_session)

# Use this instead of the above line if you want to use the Default Credentials and not bother with a session.
# auth_provider = SigV4AuthProvider()

cluster = Cluster(['cassandra.us-east-2.amazonaws.com'], ssl_context=ssl_context, auth_provider=auth_provider,
                  port=9142)
session = cluster.connect()
r = session.execute('select * from system_schema.keyspaces')
print(r.current_rows)
```

Note d'uso:

1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del certificato salvato nel primo passaggio.

1. Assicurati che il *aws\$1access\$1key\$1id**aws\$1secret\$1access\$1key*, e il *aws\$1session\$1token* corrispondano a `Access Key``Secret Access Key`, e `Session Token` che hai ottenuto utilizzando`boto3.session`. Per ulteriori informazioni, consulta [Credentials](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html) nella *AWS SDK per Python (Boto3)*. 

1. Per un elenco degli endpoint disponibili, consulta[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md).

# Utilizzo di un driver client Cassandra Node.js per accedere ad Amazon Keyspaces a livello di codice
<a name="using_nodejs_driver"></a>

 Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client Node.js. Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:
+ Crea credenziali specifiche del servizio associate a un utente specifico (IAM). AWS Identity and Access Management 
+ Per una maggiore sicurezza, consigliamo di creare chiavi di accesso IAM per utenti o ruoli IAM utilizzati in tutti i servizi. AWS Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di accesso IAM anziché nome utente e password. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Prima di iniziare](#using_nodejs_driver.BeforeYouBegin)
+ [Connect ad Amazon Keyspaces utilizzando il DataStax driver Node.js per Apache Cassandra e le credenziali specifiche del servizio](#nodejs_ssc)
+ [Connect ad Amazon Keyspaces utilizzando il driver DataStax Node.js per Apache Cassandra e il plug-in di autenticazione SigV4](#nodejs_SigV4)

## Prima di iniziare
<a name="using_nodejs_driver.BeforeYouBegin"></a>

È necessario completare la seguente attività prima di iniziare.

Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. Per connetterti ad Amazon Keyspaces tramite TLS, devi scaricare un certificato digitale Amazon e configurare il driver Python per utilizzare TLS. 

 Scarica i seguenti certificati digitali e salva i file localmente o nella tua home directory.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opzionale, per compatibilità con le versioni precedenti)

Per scaricare i certificati, puoi usare i seguenti comandi.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**Nota**  
Amazon Keyspaces utilizzava in precedenza certificati TLS ancorati alla CA Starfield Class 2. AWS sta migrando tutto Regioni AWS verso certificati emessi nell'ambito di Amazon Trust Services (Amazon Root CAs 1—4). Durante questa transizione, configura i client in modo che si fidino sia di Amazon Root CAs 1-4 che di Starfield root per garantire la compatibilità in tutte le regioni.

Combina tutti i certificati scaricati in un unico `pem` file con il nome indicato *keyspaces-bundle.pem* nei nostri esempi. Per aggiungerlo, eseguire il comando seguente: Prendi nota del percorso del file, ne avrai bisogno in seguito.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ad Amazon Keyspaces utilizzando il DataStax driver Node.js per Apache Cassandra e le credenziali specifiche del servizio
<a name="nodejs_ssc"></a>

 Configura il driver per utilizzare il file di certificato combinato `keyspaces-bundle.pem` per TLS e autenticarsi utilizzando credenziali specifiche del servizio. Esempio: 

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const auth = new cassandra.auth.PlainTextAuthProvider('ServiceUserName', 'ServicePassword');
const sslOptions1 = {
         ca: [
                    fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],      
                    host: 'cassandra.us-west-2.amazonaws.com',
                    rejectUnauthorized: true
        };
const client = new cassandra.Client({
                   contactPoints: ['cassandra.us-west-2.amazonaws.com'],
                   localDataCenter: 'us-west-2',
                   authProvider: auth,
                   sslOptions: sslOptions1,
                   protocolOptions: { port: 9142 }
        });
const query = 'SELECT * FROM system_schema.keyspaces';
 
client.execute(query)
                    .then( result => console.log('Row from Keyspaces %s', result.rows[0]))
                    .catch( e=> console.log(`${e}`));
```

Note sull'utilizzo:

1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del file di certificato combinato salvato nel primo passaggio.

1. Assicurati che *ServiceUserName* e *ServicePassword* corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi per. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Per un elenco degli endpoint disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

## Connect ad Amazon Keyspaces utilizzando il driver DataStax Node.js per Apache Cassandra e il plug-in di autenticazione SigV4
<a name="nodejs_SigV4"></a>

La sezione seguente mostra come utilizzare il plug-in di autenticazione SigV4 per il driver open source DataStax Node.js per Apache Cassandra per accedere ad Amazon Keyspaces (per Apache Cassandra). 

Se non l'hai già fatto, crea le credenziali per il tuo utente o ruolo IAM seguendo la procedura descritta qui. [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md)

[Aggiungi il plug-in di autenticazione SigV4 Node.js all'applicazione dal repository. GitHub ](https://github.com/aws/aws-sigv4-auth-cassandra-nodejs-driver-plugin) Il plugin supporta la versione 4.x del driver DataStax Node.js per Cassandra e dipende dall'SDK per Node.js. AWS Viene utilizzato per `AWSCredentialsProvider` ottenere le credenziali.

```
$ npm install aws-sigv4-auth-cassandra-plugin --save
```

Questo esempio di codice mostra come impostare un'istanza specifica della regione `SigV4AuthProvider` come provider di autenticazione.

```
const cassandra = require('cassandra-driver');
const fs = require('fs');
const sigV4 = require('aws-sigv4-auth-cassandra-plugin');

const auth = new sigV4.SigV4AuthProvider({
    region: 'us-west-2', 
    accessKeyId:'AKIAIOSFODNN7EXAMPLE',
    secretAccessKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'});

const sslOptions1 = {
  ca: [
      fs.readFileSync('path_to_file/keyspaces-bundle.pem', 'utf-8')],
  host: 'cassandra.us-west-2.amazonaws.com',
  rejectUnauthorized: true
};


const client = new cassandra.Client({
  contactPoints: ['cassandra.us-west-2.amazonaws.com'],
  localDataCenter: 'us-west-2',
  authProvider: auth,
  sslOptions: sslOptions1,
  protocolOptions: { port: 9142 }
});


const query = 'SELECT * FROM system_schema.keyspaces';

client.execute(query).then(
    result => console.log('Row from Keyspaces %s', result.rows[0]))
    .catch( e=> console.log(`${e}`));
```

Note sull'utilizzo:

1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del certificato salvato nel primo passaggio.

1. Assicurati che *accessKeyId* e *secretAccessKey* corrispondano alla chiave di accesso e alla chiave di accesso segreta che hai ottenuto utilizzando`AWSCredentialsProvider`. Per ulteriori informazioni, consulta [Impostazione delle credenziali in Node.js](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html) nell'*AWS SDK per JavaScript in Node.js*. 

1. Per archiviare le chiavi di accesso al di fuori del codice, consulta le best practice all'indirizzo. [Memorizza le chiavi di accesso per l'accesso programmatico](aws.credentials.manage.md)

1. Per un elenco degli endpoint disponibili, consulta[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md).

# Utilizzo di un driver client Cassandra.NET Core per accedere ad Amazon Keyspaces a livello di codice
<a name="using_dotnetcore_driver"></a>

Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client.NET Core. I passaggi di configurazione variano a seconda dell'ambiente e del sistema operativo, potrebbe essere necessario modificarli di conseguenza. Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. Per connetterti ad Amazon Keyspaces tramite TLS, configura il driver per utilizzare il trust store di sistema, che include Amazon Root 1-4. CAs

1.  Installa il CSharp driver Cassandra tramite nuget, utilizzando la console nuget. 

   ```
   PM> Install-Package CassandraCSharpDriver
   ```

1. L'esempio seguente utilizza un progetto console.NET Core C\$1 per connettersi ad Amazon Keyspaces ed eseguire una query.

   ```
   using Cassandra;
   using System;
   using System.Collections.Generic;
   using System.Linq;
   using System.Net.Security;
   using System.Runtime.ConstrainedExecution;
   using System.Security.Cryptography.X509Certificates;
   using System.Text;
   using System.Threading.Tasks;
   
   namespace CSharpKeyspacesExample
   {
       class Program
       {
           public Program(){}
   
           static void Main(string[] args)
           {
               var userName = "ServiceUserName";
               var pwd = "ServicePassword";
               certCollection.Add(amazoncert);
    
               var awsEndpoint =  "cassandra.us-east-2.amazonaws.com" ;  
   
               var cluster = Cluster.Builder()
                        .AddContactPoints(awsEndpoint)
                        .WithPort(9142)
                        .WithAuthProvider(new PlainTextAuthProvider(userName, pwd))
                        .WithSSL(new SSLOptions().SetCertificateCollection(certCollection))
                        .Build();
   
               var session = cluster.Connect();
               var rs = session.Execute("SELECT * FROM system_schema.tables;");
               foreach (var row in rs)
               {
                   var name = row.GetValue<String>("keyspace_name");
                   Console.WriteLine(name);
               }
           }
       }
   }
   ```

Note sull'utilizzo:

1. Assicurati di utilizzare l'archivio di fiducia di sistema predefinito, che include Amazon Root CAs 1-4.

1. Assicurati che *ServiceUserName* e *ServicePassword* corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi per. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) 

1. Per un elenco degli endpoint disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

# Utilizzo di un driver client Cassandra Go per accedere ad Amazon Keyspaces a livello di codice
<a name="using_go_driver"></a>

Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client Go Cassandra. Per fornire agli utenti e alle applicazioni le credenziali per l'accesso programmatico alle risorse di Amazon Keyspaces, puoi effettuare una delle seguenti operazioni:
+ Crea credenziali specifiche del servizio associate a un utente specifico (IAM). AWS Identity and Access Management 
+ Per una maggiore sicurezza, consigliamo di creare chiavi di accesso IAM per i principali IAM che vengono utilizzate in tutti i servizi. AWS Il plug-in di autenticazione Amazon Keyspaces SigV4 per i driver client Cassandra consente di autenticare le chiamate ad Amazon Keyspaces utilizzando chiavi di accesso IAM anziché nome utente e password. Per ulteriori informazioni, consulta [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md).

**Topics**
+ [Prima di iniziare](#using_go_driver.BeforeYouBegin)
+ [Connect ad Amazon Keyspaces utilizzando il driver Gocql per Apache Cassandra e le credenziali specifiche del servizio](#go_ssc)
+ [Connect ad Amazon Keyspaces utilizzando il driver Go per Apache Cassandra e il plug-in di autenticazione SigV4](#go_SigV4)

## Prima di iniziare
<a name="using_go_driver.BeforeYouBegin"></a>

È necessario completare la seguente attività prima di iniziare.

Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. Per connetterti ad Amazon Keyspaces tramite TLS, devi scaricare un certificato digitale Amazon e configurare il driver Go per utilizzare TLS. 

 Scarica i seguenti certificati digitali e salva i file localmente o nella tua home directory.

1. AmazonRootCA1

1. AmazonRootCA2

1. AmazonRootCA3

1. AmazonRootCA4

1. Starfield Class 2 Root (opzionale, per compatibilità con le versioni precedenti)

Per scaricare i certificati, puoi usare i seguenti comandi.

```
curl -O https://www.amazontrust.com/repository/AmazonRootCA1.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA2.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA3.pem
curl -O https://www.amazontrust.com/repository/AmazonRootCA4.pem
curl -O https://certs.secureserver.net/repository/sf-class2-root.crt
```

**Nota**  
Amazon Keyspaces utilizzava in precedenza certificati TLS ancorati alla CA Starfield Class 2. AWS sta migrando tutto Regioni AWS verso certificati emessi nell'ambito di Amazon Trust Services (Amazon Root CAs 1—4). Durante questa transizione, configura i client in modo che si fidino sia di Amazon Root CAs 1-4 che di Starfield root per garantire la compatibilità in tutte le regioni.

Combina tutti i certificati scaricati in un unico `pem` file con il nome indicato *keyspaces-bundle.pem* nei nostri esempi. Per aggiungerlo, eseguire il comando seguente: Prendi nota del percorso del file, ne avrai bisogno in seguito.

```
cat AmazonRootCA1.pem \
 AmazonRootCA2.pem \
 AmazonRootCA3.pem \
 AmazonRootCA4.pem \
 sf-class2-root.crt \
 > keyspaces-bundle.pem
```

## Connect ad Amazon Keyspaces utilizzando il driver Gocql per Apache Cassandra e le credenziali specifiche del servizio
<a name="go_ssc"></a>

1. Crea una directory per l'applicazione.

   ```
   mkdir ./gocqlexample
   ```

1. Accedere alla nuova directory.

   ```
   cd gocqlexample
   ```

1. Crea un file per la tua applicazione.

   ```
   touch cqlapp.go
   ```

1. Scarica il driver Go. 

   ```
   go get github.com/gocql/gocql
   ```

1. Aggiungi il seguente codice di esempio al file cqlapp.go.

   ```
   package main
   
   import (
   	    "fmt"
   	    "github.com/gocql/gocql"
   	    "log"
   )
   
   func main() {
   
       // add the Amazon Keyspaces service endpoint 
       cluster := gocql.NewCluster("cassandra.us-east-2.amazonaws.com")
       cluster.Port=9142
       // add your service specific credentials
       cluster.Authenticator = gocql.PasswordAuthenticator{
               Username: "ServiceUserName",
               Password: "ServicePassword"}
   
       // provide the path to the keyspaces-bundle.pem
       cluster.SslOpts = &gocql.SslOptions{
               CaPath: "path_to_file/keyspaces-bundle.pem",
               EnableHostVerification: false,            
        }
   
        // Override default Consistency to LocalQuorum
        cluster.Consistency = gocql.LocalQuorum
        cluster.DisableInitialHostLookup = false
   
        session, err := cluster.CreateSession()
        if err != nil {
               fmt.Println("err>", err)
        }
        defer session.Close()
   
        // run a sample query from the system keyspace
        var text string
        iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
        for iter.Scan(&text) {
               fmt.Println("keyspace_name:", text)
        }
        if err := iter.Close(); err != nil {
               log.Fatal(err)
        }
        session.Close()
   }
   ```

   Note sull'utilizzo:

   1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del file di certificato combinato salvato nel primo passaggio.

   1. Assicurati che *ServiceUserName* e *ServicePassword* corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi per. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) 

   1. Per un elenco degli endpoint disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

1. Costruisci il programma.

   ```
   go build cqlapp.go
   ```

1. Esegui il programma.

   ```
   ./cqlapp
   ```

## Connect ad Amazon Keyspaces utilizzando il driver Go per Apache Cassandra e il plug-in di autenticazione SigV4
<a name="go_SigV4"></a>

Il seguente esempio di codice mostra come utilizzare il plug-in di autenticazione SigV4 per il driver open source Go per accedere ad Amazon Keyspaces (per Apache Cassandra). 

Se non l'hai già fatto, crea le credenziali per il tuo principale IAM seguendo la procedura riportata qui. [Crea e configura AWS credenziali per Amazon Keyspaces](access.credentials.md) Se un'applicazione è in esecuzione su Lambda o un'istanza Amazon EC2, l'applicazione utilizza automaticamente le credenziali dell'istanza. Per eseguire questo tutorial localmente, puoi memorizzare le credenziali come variabili di ambiente locali.

[Aggiungi il plug-in di autenticazione Go SigV4 all'applicazione dal repository. GitHub](https://github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin) Il plugin supporta la versione 1.2.x del driver open source Go per Cassandra e dipende dall'SDK for AWS Go.

```
$ go mod init
$ go get github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin
```

In questo esempio di codice, l'endpoint Amazon Keyspaces è rappresentato dalla classe. `Cluster` Utilizza la proprietà `AwsAuthenticator` for the authenticator del cluster per ottenere le credenziali.

```
package main

import (
        "fmt"
        "github.com/aws/aws-sigv4-auth-cassandra-gocql-driver-plugin/sigv4"
        "github.com/gocql/gocql"
        "log"
)

func main() {
    // configuring the cluster options
    cluster := gocql.NewCluster("cassandra.us-west-2.amazonaws.com")
    cluster.Port=9142
    
    // the authenticator uses the default credential chain to find AWS credentials
    cluster.Authenticator = sigv4.NewAwsAuthenticator()

    cluster.SslOpts = &gocql.SslOptions{

            CaPath: "path_to_file/keyspaces-bundle.pem",
            EnableHostVerification: false,
    }
    cluster.Consistency = gocql.LocalQuorum
    cluster.DisableInitialHostLookup = false
   
    session, err := cluster.CreateSession()
    if err != nil {
	    fmt.Println("err>", err)
	    return
    }
    defer session.Close()

    // doing the query
    var text string
    iter := session.Query("SELECT keyspace_name FROM system_schema.tables;").Iter()
    for iter.Scan(&text) {
	    fmt.Println("keyspace_name:", text)
    }
    if err := iter.Close(); err != nil {
	    log.Fatal(err)
    }
}
```

Note sull'utilizzo:

1. Sostituisci `"path_to_file/keyspaces-bundle.pem"` con il percorso del file di certificato salvato nel primo passaggio.

1. Affinché questo esempio venga eseguito localmente, è necessario definire le seguenti variabili come variabili di ambiente:
   + `AWS_ACCESS_KEY_ID`
   + `AWS_SECRET_ACCESS_KEY`
   + `AWS_DEFAULT_REGION`

1. Per memorizzare le chiavi di accesso al di fuori del codice, consulta le best practice all'indirizzo[Memorizza le chiavi di accesso per l'accesso programmatico](aws.credentials.manage.md).

1. Per un elenco degli endpoint disponibili, consulta[Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md).

# Utilizzo di un driver client Cassandra Perl per accedere ad Amazon Keyspaces a livello di codice
<a name="using_perl_driver"></a>

Questa sezione mostra come connettersi ad Amazon Keyspaces utilizzando un driver client Perl. Per questo esempio di codice, abbiamo usato Perl 5. Amazon Keyspaces richiede l'uso di Transport Layer Security (TLS) per proteggere le connessioni con i client. 

**Importante**  
I certificati Amazon Keyspaces stanno passando alla gerarchia di Amazon Trust Services (ATS). Assicurati che il tuo ambiente si fidi di Amazon Root CAs 1-4 per evitare errori di connessione durante questa rotazione. Il driver Perl non convalida il certificato Amazon SSL del server, il che significa che non puoi confermare che ti stai connettendo ad Amazon Keyspaces. Il secondo passaggio, configurare il driver per utilizzare TLS durante la connessione ad Amazon Keyspaces, è ancora necessario e garantisce che i dati trasferiti tra il client e il server siano crittografati. 

1. Scarica il driver Cassandra DBI da [https://metacpan.org/pod/DBD::Cassandra](https://metacpan.org/pod/DBD::Cassandra) e installalo nel tuo ambiente Perl. I passaggi esatti dipendono dall'ambiente. Di seguito è riportato un esempio comune.

   ```
   cpanm DBD::Cassandra
   ```

1. Crea un file per la tua applicazione.

   ```
   touch cqlapp.pl
   ```

1. Aggiungi il seguente codice di esempio al file cqlapp.pl.

   ```
   use DBI;
   my $user = "ServiceUserName";
   my $password = "ServicePassword";
   my $db = DBI->connect("dbi:Cassandra:host=cassandra.us-east-2.amazonaws.com;port=9142;tls=1;", 
   $user, $password);
   
   my $rows = $db->selectall_arrayref("select * from system_schema.keyspaces"); 
   print "Found the following Keyspaces...\n"; 
   for my $row (@$rows) { 
         print join(" ",@$row['keyspace_name']),"\n"; 
   } 
   
   $db->disconnect;
   ```
**Importante**  
 Assicurati che *ServiceUserName* e *ServicePassword* corrispondano al nome utente e alla password che hai ottenuto quando hai generato le credenziali specifiche del servizio seguendo i passaggi da. [Crea credenziali specifiche del servizio per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.ssc.md) 
**Nota**  
Per un elenco degli endpoint disponibili, consulta. [Endpoint di servizio per Amazon Keyspaces](programmatic.endpoints.md)

1. Esegui l'applicazione.

   ```
   perl cqlapp.pl
   ```

# Configura l'accesso tra account ad Amazon Keyspaces con endpoint VPC
<a name="access.cross-account"></a>

Puoi creare e utilizzare risorse separate Account AWS per isolare le risorse e utilizzarle in ambienti diversi, ad esempio sviluppo e produzione. Questo argomento illustra l'accesso tra più account per Amazon Keyspaces utilizzando gli endpoint VPC dell'interfaccia in un. Amazon Virtual Private Cloud Per ulteriori informazioni sulla configurazione dell'accesso tra account IAM, consulta [Scenario di esempio con account di sviluppo e produzione separati nella Guida per l'utente](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html#id_roles_common-scenarios_aws-accounts-example) IAM. 

Per ulteriori informazioni su Amazon Keyspaces e sugli endpoint VPC privati, consulta. [Utilizzo di Amazon Keyspaces con endpoint VPC di interfaccia](vpc-endpoints.md)

**Topics**
+ [Configura l'accesso tra account in un VPC condiviso](access.cross-account.sharedVPC.md)
+ [Configura l'accesso tra account diversi senza un VPC condiviso](access.cross-account.noVPC.setup.md)

# Configura l'accesso tra account ad Amazon Keyspaces utilizzando endpoint VPC in un VPC condiviso
<a name="access.cross-account.sharedVPC"></a>

È possibile creare risorse diverse Account AWS o separate dalle applicazioni. Ad esempio, puoi creare un account per le tabelle Amazon Keyspaces, un account diverso per le applicazioni in un ambiente di sviluppo e un altro account per le applicazioni in un ambiente di produzione. Questo argomento illustra i passaggi di configurazione necessari per configurare l'accesso tra account diversi per Amazon Keyspaces utilizzando gli endpoint VPC dell'interfaccia in un VPC condiviso. 

Per i passaggi dettagliati su come configurare un endpoint VPC per Amazon Keyspaces, consulta. [Fase 3: creare un endpoint VPC per Amazon Keyspaces](vpc-endpoints-tutorial.create-endpoint.md)

In questo esempio utilizziamo i seguenti tre account in un VPC condiviso:
+ `Account A:111111111111`— Questo account contiene l'infrastruttura, inclusi gli endpoint VPC, le sottoreti VPC e le tabelle Amazon Keyspaces. 
+ `Account B:222222222222`— Questo account contiene un'applicazione in un ambiente di sviluppo che deve connettersi alla tabella Amazon Keyspaces in. `Account A:111111111111` 
+ `Account C:333333333333`— Questo account contiene un'applicazione in un ambiente di produzione che deve connettersi alla tabella Amazon Keyspaces in. `Account A:111111111111`

![\[Diagramma che mostra tre diversi account di proprietà della stessa organizzazione nella stessa Regione AWS che utilizzano un VPC condiviso.\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/images/keyspaces_cross-account_sharedVPC.png)


`Account A:111111111111`è l'account che contiene le risorse (una tabella Amazon Keyspaces) a `Account C:333333333333` cui dobbiamo accedere, così come `Account A:111111111111` l'account *trusting*. `Account B:222222222222` `Account B:222222222222`e `Account C:333333333333` sono gli account con i principali che devono accedere alle risorse (una tabella Amazon Keyspaces) `Account A:111111111111` `Account C:333333333333` e sono `Account B:222222222222` quindi *gli* account affidabili. L'account trusting concede le autorizzazioni agli account fidati condividendo un ruolo IAM. La procedura seguente descrive i passaggi di configurazione richiesti in. `Account A:111111111111`

**Configurazione per `Account A:111111111111`**

1.  AWS Resource Access Manager Da utilizzare per creare una condivisione di risorse per la sottorete e condividere la sottorete privata con `Account B:222222222222` e. `Account C:333333333333`

   `Account B:222222222222`e ora `Account C:333333333333` possono vedere e creare risorse nella sottorete che è stata condivisa con loro. 

1. Crea un endpoint VPC privato Amazon Keyspaces basato su. AWS PrivateLink Questo crea più endpoint tra sottoreti condivise e voci DNS per l'endpoint del servizio Amazon Keyspaces.

1. Crea uno spazio di chiavi e una tabella Amazon Keyspaces.

1. Crea un ruolo IAM `Account A:111111111111` che abbia accesso completo alla tabella Amazon Keyspaces, accesso in lettura alle tabelle di sistema Amazon Keyspaces e sia in grado di descrivere le risorse Amazon EC2 VPC come mostrato nel seguente esempio di policy.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeNetworkInterfaces",
                   "ec2:DescribeVpcEndpoints",
                   "cassandra:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

1. Configura una policy di fiducia per il ruolo IAM in `Account A:111111111111` modo che `Account B:222222222222` e `Account C:333333333333` possano assumere il ruolo di account affidabili. Questo viene mostrato nell'esempio seguente. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Per ulteriori informazioni sulle politiche IAM tra account, consulta le politiche [tra account nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) per l'utente IAM.

**Configurazione in e `Account B:222222222222` `Account C:333333333333`**

1. In `Account B:222222222222` and`Account C:333333333333`, crea nuovi ruoli e allega la seguente politica che consente al principale di assumere il ruolo condiviso creato in`Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "ec2.amazonaws.com"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

   Consentire al principale di assumere il ruolo condiviso viene implementato utilizzando l'`AssumeRole`API di AWS Security Token Service (AWS STS). Per ulteriori informazioni, consulta [Fornire l'accesso a un utente IAM in un altro Account AWS di tua proprietà](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) nella Guida per l'utente IAM. 

1. Inoltre `Account B:222222222222``Account C:333333333333`, puoi creare applicazioni che utilizzano il plug-in di SIGV4 autenticazione, che consente a un'applicazione di assumere il ruolo condiviso per connettersi alla tabella Amazon Keyspaces situata tramite l'endpoint VPC `Account A:111111111111` nel VPC condiviso. Per ulteriori informazioni sul plug-in di autenticazione, consulta. SIGV4 [Crea credenziali per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.md) Per ulteriori informazioni su come configurare un'applicazione in modo che assuma un ruolo in un altro AWS account, consulta [Autenticazione e accesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) nella *Guida di riferimento agli strumenti AWS SDKs e* agli strumenti.

# Configurazione dell'accesso tra account ad Amazon Keyspaces senza un VPC condiviso
<a name="access.cross-account.noVPC.setup"></a>

Se la tabella Amazon Keyspaces e l'endpoint VPC privato sono di proprietà di account diversi ma non condividono un VPC, le applicazioni possono comunque connettersi tra account diversi utilizzando endpoint VPC. Perché gli account non condividono gli endpoint VPC e `Account C:333333333333` richiedono i `Account A:111111111111` propri endpoint VPC. `Account B:222222222222` Per il driver client Cassandra, Amazon Keyspaces appare come un singolo nodo anziché un cluster multinodo. Al momento della connessione, il driver client raggiunge il server DNS che restituisce uno degli endpoint disponibili nel VPC dell'account. 

Puoi anche accedere alle tabelle Amazon Keyspaces da diversi account senza un endpoint VPC condiviso utilizzando gli endpoint pubblici o implementando un endpoint VPC privato in ogni account. Quando non si utilizza un VPC condiviso, ogni account richiede il proprio endpoint VPC. In questo esempio `Account A:111111111111``Account B:222222222222`, `Account C:333333333333` richiedono i propri endpoint VPC per accedere alla tabella in. `Account A:111111111111` Quando si utilizzano gli endpoint VPC in questa configurazione, Amazon Keyspaces appare come un cluster a nodo singolo per il driver client Cassandra anziché un cluster multinodo. Al momento della connessione, il driver client raggiunge il server DNS che restituisce uno degli endpoint disponibili nel VPC dell'account. Ma il driver del client non è in grado di accedere alla `system.peers` tabella per scoprire endpoint aggiuntivi. Poiché ci sono meno host disponibili, il driver effettua meno connessioni. Per regolare questa impostazione, aumenta l'impostazione del pool di connessioni del driver di un fattore tre. 

![\[Diagramma che mostra tre diversi account di proprietà della stessa organizzazione nella stessa Regione AWS senza un VPC condiviso.\]](http://docs.aws.amazon.com/it_it/keyspaces/latest/devguide/images/keyspaces_cross-account_noVPC.png)


`Account A:111111111111`è l'account che contiene le risorse (una tabella Amazon Keyspaces) a `Account C:333333333333` cui dobbiamo accedere, così come `Account A:111111111111` l'account *trusting*. `Account B:222222222222` `Account B:222222222222`e `Account C:333333333333` sono gli account con i principali che devono accedere alle risorse (una tabella Amazon Keyspaces) `Account A:111111111111` `Account C:333333333333` e sono `Account B:222222222222` quindi *gli* account affidabili. L'account trusting concede le autorizzazioni agli account fidati condividendo un ruolo IAM. La procedura seguente descrive i passaggi di configurazione richiesti in. `Account A:111111111111`

**Configurazione per `Account A:111111111111`**

1. Crea uno spazio di chiavi Amazon Keyspaces e una tabella in. `Account A:111111111111`

1. Crea un ruolo IAM con accesso completo alla tabella Amazon Keyspaces e accesso in lettura alle tabelle di sistema Amazon Keyspaces. `Account A:111111111111`

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Action":[
               "cassandra:Select",
               "cassandra:Modify"
            ],
            "Resource":[
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/mykeyspace/table/mytable",
               "arn:aws:cassandra:us-east-1:111111111111:/keyspace/system*"
            ]
         }
      ]
   }
   ```

1. Configura una policy di fiducia per il ruolo IAM in `Account A:111111111111` modo che i responsabili abbiano `Account B:222222222222` e `Account C:333333333333` possano assumere il ruolo di account affidabili. Questo viene mostrato nell'esempio seguente. 

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
             "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
           ]
         },
         "Action": "sts:AssumeRole",
         "Condition": {}
       }
     ]
   }
   ```

   Per ulteriori informazioni sulle policy IAM tra account, consulta le policy relative a più [account](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic-cross-account.html) nella IAM User Guide.

1. Configura l'endpoint VPC `Account A:111111111111` e assegna all'endpoint le autorizzazioni che consentono ai ruoli da `Account B:222222222222` e `Account C:333333333333` di assumere il ruolo nell'utilizzo `Account A` dell'endpoint VPC. Queste autorizzazioni sono valide per l'endpoint VPC a cui sono collegate. Per ulteriori informazioni sulle policy degli endpoint VPC, consulta. [Controllo dell'accesso agli endpoint VPC di interfaccia per Amazon Keyspaces](vpc-endpoints.md#interface-vpc-endpoints-policies)

   ```
   {{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowAccessfromSpecificIAMroles",
         "Effect": "Allow",
         "Action": "cassandra:*",
         "Resource": "*",
         "Principal": "*",
         "Condition": {
           "ArnEquals": {
             "aws:PrincipalArn": [
               "arn:aws:iam::222222222222:role/Cross-Account-Role-B",
               "arn:aws:iam::333333333333:role/Cross-Account-Role-C"
             ]
           }
         }
       }
     ]
   }
   ```

**Configurazione in e `Account B:222222222222` `Account C:333333333333`**

1. In `Account B:222222222222` and`Account C:333333333333`, crea nuovi ruoli e allega la seguente politica che consente al principale di assumere il ruolo condiviso creato in`Account A:111111111111`.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": {
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": "arn:aws:iam::111111111111:role/keyspaces_access"
           }
   }
   ```

   Consentire al principale di assumere il ruolo condiviso viene implementato utilizzando l'`AssumeRole`API di AWS Security Token Service (AWS STS). Per ulteriori informazioni, consulta [Fornire l'accesso a un utente IAM in un altro Account AWS di tua proprietà](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) nella Guida per l'utente IAM. 

1. In `Account B:222222222222` and`Account C:333333333333`, puoi creare applicazioni che utilizzano il plug-in di SIGV4 autenticazione, che consente a un'applicazione di assumere il ruolo condiviso per connettersi alla tabella Amazon Keyspaces situata in. `Account A:111111111111` Per ulteriori informazioni sul plug-in di SIGV4 autenticazione, consulta. [Crea credenziali per l'accesso programmatico ad Amazon Keyspaces](programmatic.credentials.md) Per ulteriori informazioni su come configurare un'applicazione in modo che assuma un ruolo in un altro AWS account, consulta [Autenticazione e accesso](https://docs.aws.amazon.com/sdkref/latest/guide/access.html) nella *Guida di riferimento agli strumenti AWS SDKs e* agli strumenti.