Come creare e configurare AWS credenziali per Amazon Keyspaces - Amazon Keyspaces (per Apache Cassandra)

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

Come creare e configurare AWS credenziali per Amazon Keyspaces

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 o un ruolo IAM con chiavi di accesso. Quando utilizzi in modo AWS programmatico, fornisci le chiavi di AWS accesso in modo da poter verificare la tua identità nelle chiamate programmatiche. AWS Le chiavi di accesso sono costituite da un ID chiave di accesso (ad esempio, AKIAIOSFODNN7EXAMPLE) e da una chiave di accesso segreta (ad esempio, wjalrxutnfemi/k7mdEng/ CYEXAMPLEKEY). bPxRfi Questo argomento illustra i passaggi necessari di questo processo.

Le best practice 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 contribuire a mitigare questo rischio, ti consigliamo 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 nella IAM User Guide.

Credenziali richieste dal AWS CLI, dall' AWS SDK o dal plug-in Amazon Keyspaces SigV4 per i driver client Cassandra

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 Utilizzo di credenziali temporanee per connettersi ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4.

Se ti connetti con un utente IAM, non aws_session_token è necessario.

Creazione di un utente IAM per l'accesso programmatico ad Amazon Keyspaces nel tuo account AWS

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 AWS Management Console strumenti per Windows PowerShell o utilizzando un' AWS operazione API. AWS CLI Se si crea l'utente in AWS Management Console, le credenziali vengono create automaticamente.

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

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

Per informazioni sulle autorizzazioni necessarie per creare un utente, consulta Autorizzazioni necessarie per accedere alle risorse IAM.

Creazione di utenti IAM (console)

Puoi utilizzare il AWS Management Console per creare utenti IAM.

Per creare un utente IAM con accesso programmatico (console)
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione seleziona Utenti, quindi seleziona Aggiungi utenti.

  3. 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ù (+), uguale (=), virgola (,), punto (.), chiocciola (@), trattino basso (_) e trattino (-). I nomi devono essere univoci nell'account. Non fanno distinzione tra maiuscole e minuscole. Ad esempio, non è possibile creare due utenti chiamati TESTUSER e testuser.

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

  5. 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, consultaAWSpolitiche gestite per Amazon Keyspaces.

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

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

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

  8. Per visualizzare le chiavi di accesso dell'utente (ID chiave di accesso e chiavi di accesso segrete), scegliere 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.

Creazione di utenti IAM (AWS CLI)

Puoi usare il AWS CLI per creare un utente IAM.

Per creare un utente IAM con accesso programmatico ()AWS CLI
  1. Crea un utente con il AWS CLI codice seguente.

  2. Concedi all'utente l'accesso programmatico. Ciò richiede chiavi di accesso, che possono essere generate nei seguenti modi.

    • AWS CLI: aws iam create-access-key

    • Strumenti per Windows PowerShell: New-IAMAccessKey

    • API IAM: CreateAccessKey

      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.

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

Creazione di nuove chiavi di accesso per un utente IAM

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 ruotare le chiavi di accesso, consulta Managing access keys for IAM users.

Per creare chiavi di accesso per un utente IAM (console)
  1. Accedi AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, seleziona Utenti.

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

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

  5. Nella sezione Chiavi di accesso, scegliere Crea chiave di accesso.

    Per visualizzare la nuova chiave di accesso, seleziona Mostra. Le credenziali saranno simili a quanto segue:

    • ID chiave di accesso: AKIAIOSFODNN7EXAMPLE

    • Chiave di accesso segreta: bPxRfi WJALRXUTNFEMI/K7MDENG/CYEXAMPLEKEY

    Nota

    Non sarà possibile accedere nuovamente alla chiave di accesso segreta dopo la chiusura di questa finestra di dialogo.

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

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

Come gestire le chiavi di accesso per gli utenti IAM

Come procedura consigliata, ti consigliamo di non incorporare le chiavi di accesso direttamente nel codice. Gli AWS SDK e gli strumenti a riga di AWS 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, scegli 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. Un tep-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 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.

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>

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>

Se si utilizza set 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 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>"

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 per ulteriori informazioni sulla memorizzazione delle variabili di ambiente o sulla loro persistenza tra le sessioni.

Utilizzo di credenziali temporanee per connettersi ad Amazon Keyspaces utilizzando un ruolo IAM e il plug-in SigV4

Per una maggiore sicurezza, puoi utilizzare credenziali temporanee 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). È invece possibile 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).

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 AWS Management Console e apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.

  2. Nel pannello di navigazione, scegli Ruoli, quindi Crea ruolo.

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

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

  5. 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 a livello di codice 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

Per dettagli su come richiamare AssumeRole, GetFederationToken e altre operazioni API, consulta la Documentazione di riferimento delle API AWS Security Token Service. 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 gli AWS SDK nella pagina di AWS documentazione principale, nella sezione SDK e Toolkit.