Autenticazione tramite identità IAM - Amazon DocumentDB

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

Autenticazione tramite identità IAM

Gli utenti e le applicazioni di Amazon DocumentDB possono utilizzare utenti e ruoli IAM per autenticarsi in un cluster Amazon DocumentDB. L'autenticazione IAM di Amazon DocumentDB è un metodo di autenticazione senza password in cui le password degli utenti non vengono archiviate nel cluster Amazon DocumentDB. Inoltre, le applicazioni client non inviano le password segrete al cluster Amazon DocumentDB. Le connessioni client vengono invece autenticate AWS STS utilizzando token di sicurezza temporanei. Gli utenti e le applicazioni non amministrativi possono ora utilizzare lo stesso ARN di identità IAM per la connessione a diversi cluster Amazon DocumentDB e altri servizi. AWS

Puoi anche scegliere di utilizzare l'autenticazione basata su password e IAM per autenticare utenti e applicazioni in un cluster Amazon DocumentDB. L'autenticazione IAM è disponibile solo nella versione 5.0 del cluster basato su istanze di Amazon DocumentDB. L'autenticazione IAM tramite IAM identity ARN non è supportata per l'utente principale di Amazon DocumentDB.

Nota

L'utente principale può essere autenticato solo utilizzando l'autenticazione basata su password esistente.

Guida introduttiva all'autenticazione tramite utenti e ruoli IAM

Gli utenti e i ruoli di Amazon DocumentDB con identità IAM vengono creati e gestiti in un database. $external

Creazione di un utente

Connect come utente principale, quindi crea un utente e un ruolo IAM:

use $external; db.createUser( { user: "arn:aws:iam::123456789123:user/iamuser", mechanisms: ["MONGODB-AWS"], roles: [ { role: "readWrite", db: "readWriteDB" } ] } );

In alternativa, aggiungi un utente Amazon DocumentDB utilizzando un ruolo IAM:

use $external; db.createUser( { user: "arn:aws:iam::123456789123:roles/iamrole", mechanisms: ["MONGODB-AWS"], roles: [ { role: "readWrite", db: "readWriteDB" } ] } );

Modifica di un utente

Modifica un utente IAM esistente:

use $external; db.updateUser( { "arn:aws:iam::123456789123:user/iamuser", { roles: [ { role: "read", db: "readDB" } ] } } );

Per concedere o revocare ruoli a un utente:

use $external; db.grantRolesToUser("arn:aws:iam::123456789123:user/iamuser", [{db: "admin", role: "readWriteAnyDatabase"}])
use $external; db.revokeRolesFromUser("arn:aws:iam::123456789123:user/iamuser", [{db: "admin", role: "readWriteAnyDatabase"}])

Eliminare un utente

Per eliminare un utente IAM esistente:

use $external db.dropUser( { user: "arn:aws:iam::123456789123:user/iamuser" } );

Configura un URI di connessione per l'autenticazione tramite AWS IAM

Per autenticarti usandoMONGODB-AWS, usa authSource as $external e authMechanism as. MONGODB-AWS I campi nome utente e password vengono sostituiti rispettivamente da una chiave di accesso e una chiave segreta per l'utente IAM. Se stai assumendo un ruolo IAM, specifica il token di sicurezza per la sessione presunta. Se utilizzi driver MongoDB che supportano MONGODB-AWS il meccanismo di autenticazione, i driver hanno anche la possibilità di recuperare le credenziali del ruolo IAM dall'istanza di calcolo (ad esempio, Amazon EC2, la funzione Lambda e altre). L'esempio seguente utilizza una shell mongo per l'autenticazione MONGODB-AWS tramite il passaggio manuale di una chiave di accesso e una chiave segreta (di un utente IAM) per dimostrare l'autenticazione contro Amazon DocumentDB.

$ mongo 'mongodb://<access_key>:<secret_key>@<cluster_endpoint>:<db_port>/test?authSource=%24external&authMechanism=MONGODB-AWS'

Configurazione dei tipi di AWS elaborazione per l'autenticazione su Amazon DocumentDB tramite IAM AWS

Utilizzo di Amazon EC2

Amazon EC2 utilizza le seguenti variabili di ambiente:

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

Usando AWS Lambda

AWS Lambda utilizza le seguenti variabili di ambiente:

AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY AWS_SESSION_TOKEN

Per ulteriori informazioni sulle variabili di ambiente, consulta Using Lambda Environmental Variables nella AWS Lambda Developer Guide.

Utilizzo di Amazon EKS

Amazon Elastic Kubernetes Service (Amazon EKS) utilizza le seguenti variabili di ambiente:

AWS_WEB_IDENTITY_TOKEN_FILE - path of web identity token file AWS_ROLE_ARN - Name of IAM role to connect with

Per ulteriori informazioni su Amazon EKS, consulta What is Amazon EKS nella Amazon EKS User Guide.

Monitoraggio delle richieste di autenticazione IAM

Utilizzo del controllo di Amazon DocumentDB

Vai alla cartella dei log di controllo in Amazon CloudWatch e utilizza diversi modelli di ricerca per ottenere i log per l'autenticazione IAM. Ad esempio, utilizza { $.param.mechanism = "MONGODB-AWS" } come modello di ricerca «Cerca in tutti i flussi di log».

Per ulteriori informazioni sugli eventi supportati nel controllo, consulta. Controllo degli eventi di Amazon DocumentDB

Utilizzo dei CloudWatch parametri di Amazon

StsGetCallerIdentityCalls: questa metrica mostra quante GetCallerIdentity chiamate sta effettuando un'istanza Amazon DocumentDB all'endpoint AWS Security Token Service AWS STS regionalized (). Fai riferimento alle specifiche di MONGODB-AWS autenticazione per scoprire perché le istanze di database devono effettuare chiamate STS. GetCallerIdentity

Utilizzo dell'autenticazione IAM

Se non desideri gestire il nome utente e la password nel tuo database, puoi utilizzare l'autenticazione IAM. L'autenticazione IAM è disponibile solo nella versione 5.0 del cluster basato su istanze di Amazon DocumentDB.

L'autenticazione IAM dipende dal servizio STS. Ti consigliamo di valutare se è possibile ridurre la velocità di connessione quando utilizzi l'autenticazione IAM per la connessione e ottieni un'eccezione di limitazione STS.

Per le quote IAM, consulta IAM e quote. AWS STS

Driver IAM supportati

I driver che supportano Amazon DocumentDB 5.0 e il meccanismo di MONGODB-AWS autenticazione devono funzionare con l'implementazione dell'autenticazione IAM in Amazon DocumentDB. Esiste una limitazione nota con i driver NodeJS che attualmente non sono supportati da Amazon DocumentDB for IAM Authentication. Il supporto del driver NodeJS verrà aggiornato una volta risolta la limitazione.