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à.
Utilizzo dei segreti per accedere AWS Database Migration Service endpoint
Infatti AWS DMS, un segreto è una chiave crittografata che puoi utilizzare per rappresentare un set di credenziali utente per autenticare, tramite l'autenticazione segreta, la connessione al database per un endpoint di AWS DMS origine o di destinazione supportato. Per un endpoint Oracle che utilizza anche Oracle Automatic Storage Management (ASM), è AWS DMS necessario un segreto aggiuntivo che rappresenti le credenziali dell'utente per accedere a Oracle ASM.
È possibile creare il segreto o i segreti AWS DMS necessari per l'autenticazione segreta utilizzando un servizio per creare AWS Secrets Manager, archiviare e recuperare in modo sicuro le credenziali per accedere ad applicazioni, servizi e risorse IT nel cloud e in sede. È incluso il supporto per la rotazione periodica automatica del valore del segreto crittografato senza l'intervento dell'utente, che fornisce un ulteriore livello di sicurezza per le credenziali. L'attivazione della rotazione dei valori segreti garantisce AWS Secrets Manager inoltre che questa rotazione dei valori segreti avvenga senza alcun effetto su alcuna migrazione del database che si basa sul segreto. Per autenticare segretamente una connessione del database agli endpoint, crea un segreto e assegnane l'identità o l'ARN a SecretsManagerSecretId, da includere nelle impostazioni dell'endpoint. Per autenticare segretamente Oracle ASM come parte di un endpoint Oracle, crea un segreto e assegnane l'identità o l'ARN a SecretsManagerOracleAsmSecretId, da includere sempre nelle impostazioni dell'endpoint.
Nota
Non puoi usare le credenziali master gestite da Amazon RDS Aurora. Queste credenziali non includono informazioni sull'host o sulla porta, AWS DMS necessarie per stabilire le connessioni. Crea invece un utente e un segreto nuovi. Per informazioni sulla creazione di un utente e un segreto, consulta Utilizzo di Console di gestione AWS per creare un ruolo di accesso segreto e segreto di seguito.
Per ulteriori informazioni su AWS Secrets Manager, consulta What Is AWS Secrets Manager? nella Guida AWS Secrets Manager per l'utente.
AWS DMS supporta l'autenticazione segreta per i seguenti database locali o AWS gestiti sugli endpoint di origine e destinazione supportati:
-
Amazon DocumentDB
-
IBM Db2 LUW
-
Microsoft SQL Server
-
MongoDB
-
MySQL
-
Oracle
-
PostgreSQL
-
Amazon Redshift
-
SAP ASE
Per la connessione a uno di questi database, puoi scegliere di specificare uno dei seguenti set di valori, ma non entrambi, come parte delle impostazioni dell'endpoint:
-
Clear-text valori per autenticare la connessione al database utilizzando le impostazioni
UserName,, ePassword.ServerNamePortPer un endpoint Oracle che utilizza anche Oracle ASM, includi valori in chiaro aggiuntivi per autenticare ASM utilizzando le impostazioniAsmUserName,AsmPasswordeAsmServerName. -
Autenticazione dei segreti utilizzando i valori per le impostazioni
SecretsManagerSecretIdeSecretsManagerAccessRoleArn. Per un endpoint Oracle che utilizza Oracle ASM, includi valori aggiuntivi per le impostazioniSecretsManagerOracleAsmSecretIdeSecretsManagerOracleAsmAccessRoleArn. I valori dei segreti di queste impostazioni possono includere:-
SecretsManagerSecretId: il nome della risorsa Amazon (ARN) completo, l'ARN parziale o il nome descrittivo di un segreto che hai creato per l'accesso al database degli endpoint in AWS Secrets Manager. -
SecretsManagerAccessRoleArn— L'ARN di un ruolo di accesso segreto che hai creato in IAM per fornire AWS DMS l'accesso a questoSecretsManagerSecretIdsegreto per tuo conto. -
SecretsManagerOracleAsmSecretId: il nome della risorsa Amazon (ARN) completo, l'ARN parziale o il nome descrittivo di un segreto che hai creato per l'accesso a Oracle ASM in AWS Secrets Manager. -
SecretsManagerOracleAsmAccessRoleArn: l'ARN di un ruolo di accesso al segreto che hai creato in IAM per fornire ad AWS DMS l'accesso al segretoSecretsManagerOracleAsmSecretIdper tuo conto.
Nota
Puoi anche utilizzare un singolo ruolo di accesso segreto per fornire AWS DMS l'accesso sia al
SecretsManagerSecretIdsegreto che alSecretsManagerOracleAsmSecretIdsegreto. Se crei questo singolo ruolo di accesso per entrambi i segreti, assicurati di assegnare lo stesso ARN per il ruolo di accesso a entrambiSecretsManagerAccessRoleArneSecretsManagerOracleAsmAccessRoleArn. Ad esempio, se il ruolo di accesso per entrambi i segreti ha il relativo ARN assegnato alla variabileARN2xsecrets, puoi impostare le impostazioni dell'ARN come segue:SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;Per ulteriori informazioni sulla creazione di questi valori, consulta Utilizzo di Console di gestione AWS per creare un ruolo di accesso segreto e segreto.
-
Dopo aver creato e specificato le impostazioni necessarie per l'endpoint con il ruolo di accesso al segreto e il segreto, aggiorna le autorizzazioni sugli account utente che eseguono la richiesta API CreateEndpoint o ModifyEndpoint con questi dettagli del segreto. Assicurati che queste autorizzazioni dell'account includano l'IAM:GetRoleautorizzazione sul ruolo di accesso segreto e l'SecretsManager:DescribeSecretautorizzazione sul segreto. AWS DMS richiede queste autorizzazioni per convalidare sia il ruolo di accesso che il relativo segreto.
Per fornire e verificare le autorizzazioni utente richieste
-
Accedi Console di gestione AWS e apri la AWS Identity and Access Management console all'indirizzo. https://console.aws.amazon.com/iam/
-
Scegli Utenti, quindi seleziona l'ID utente utilizzato per effettuare le chiamate API
CreateEndpointeModifyEndpoint. -
Nella scheda Autorizzazioni scegli {} JSON.
-
Assicurati che l'utente disponga delle autorizzazioni mostrate di seguito.
{ "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "SECRET_ACCESS_ROLE_ARN" }, { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "SECRET_ARN" } ] } -
Se l'utente non dispone di tali autorizzazioni, aggiungile.
-
Se utilizzi un ruolo IAM per effettuare chiamate API DMS, ripeti i passaggi precedenti per il rispettivo ruolo.
-
Apri un terminale e utilizza AWS CLI per convalidare che le autorizzazioni siano state concesse correttamente assumendo il ruolo o l'utente utilizzato sopra.
-
Convalida l'autorizzazione dell'utente sull' SecretAccessRole utilizzo del comando IAM.
get-roleaws iam get-role --role-nameROLE_NAMESostituisci
ROLE_NAMEcon il nome di.SecretsManagerAccessRoleSe il comando restituisce un messaggio di errore, assicurati che le autorizzazioni siano state specificate correttamente.
-
Convalida l'autorizzazione dell'utente per il segreto utilizzando il comando Secrets Manager
describe-secret.aws secretsmanager describe-secret --secret-idSECRET_NAME OR SECRET_ARN--region=REGION_NAMEL'utente può essere il nome descrittivo, l'ARN parziale o l'ARN completo. Per ulteriori informazioni, consulta describe-secret.
Se il comando restituisce un messaggio di errore, assicurati che le autorizzazioni siano state specificate correttamente.
-
Utilizzo di Console di gestione AWS per creare un ruolo di accesso segreto e segreto
Puoi utilizzare il per Console di gestione AWS creare un segreto per l'autenticazione degli endpoint e per creare la policy e il ruolo che consentano AWS DMS di accedere al segreto per tuo conto.
Per creare un segreto utilizzando il Console di gestione AWS that AWS DMS può essere utilizzato per autenticare un database per le connessioni agli endpoint di origine e destinazione
-
Accedi Console di gestione AWS e apri la AWS Secrets Manager console all'indirizzo. https://console.aws.amazon.com/secretsmanager/
-
Scegli Archivia un nuovo segreto.
-
Nella pagina Archivia un nuovo segreto scegli Altro tipo di segreti in Seleziona il tipo di segreto quindi scegli Testo in chiaro.
Nota
Questa è l'unica richiesta di inserimento delle credenziali con testo in chiaro per stabilire d'ora in avanti la connessione al database degli endpoint.
-
Nel campo Testo in chiaro:
-
Per un segreto di cui assegni l'identità a
SecretsManagerSecretId, immetti la seguente struttura JSON.{ "username":db_username, "password":db_user_password, "port":db_port_number, "host":db_server_name}Nota
Questo è l'elenco minimo dei membri JSON necessari per autenticare il database degli endpoint. Puoi aggiungere tutte le impostazioni degli endpoint JSON che desideri come membri JSON usando solo lettere minuscole. Tuttavia, AWS DMS ignora gli eventuali membri JSON aggiuntivi per l'autenticazione dell'endpoint.
Qui
è il nome dell'utente che accede al database,db_usernameè la password dell'utente del database,db_user_passwordè il numero di porta per accedere al database edb_port_numberè il nome (indirizzo) del server di database sul Web, come nell'esempio seguente.db_server_name{ "username": "admin", "password": "some_password", "port": "8190", "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com" } -
Per un segreto di cui assegni l'identità a
SecretsManagerOracleAsmSecretId, immetti la seguente struttura JSON.{ "asm_user":asm_username, "asm_password":asm_user_password, "asm_server":asm_server_name}Nota
Questo è l'elenco minimo dei membri JSON necessari per autenticare Oracle ASM per un endpoint Oracle. È anche l'elenco completo che è possibile specificare in base alle impostazioni degli endpoint Oracle ASM disponibili.
Qui
è il nome dell'utente che accede a Oracle ASM,asm_usernameè la password dell'utente Oracle ASM easm_user_passwordè il nome (indirizzo) del server Oracle ASM sul Web, inclusa la porta, come nell'esempio seguente.asm_server_name{ "asm_user": "oracle_asm_user", "asm_password": "oracle_asm_password", "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" }
-
-
Seleziona una chiave di AWS KMS crittografia per crittografare il segreto. Puoi accettare la chiave di crittografia predefinita creata per il tuo servizio AWS Secrets Manager o selezionare una AWS KMS chiave creata da te.
-
Specifica un nome per fare riferimento a questo segreto e una descrizione facoltativa. Questo è il nome descrittivo che utilizzi come valore per
SecretsManagerSecretIdoSecretsManagerOracleAsmSecretId. -
Se desideri abilitare la rotazione automatica del segreto, devi selezionare o creare una AWS Lambda funzione con l'autorizzazione a ruotare le credenziali del segreto come descritto. Tuttavia, prima di impostare la rotazione automatica per utilizzare la funzione Lambda, assicurati che le impostazioni di configurazione della funzione aggiungano al valore della variabile di ambiente
EXCLUDE_CHARACTERSi seguenti quattro caratteri.;.:+{}*&,%\AWS DMS non consente l'uso di questi caratteri nelle password utilizzate per le credenziali degli endpoint. La configurazione della funzione Lambda per escluderli impedisce ad AWS Secrets Manager di generare questi caratteri come parte dei valori della password ruotate. Dopo aver impostato la rotazione automatica per utilizzare la funzione Lambda, ruota AWS Secrets Manager immediatamente il segreto per convalidare la configurazione segreta.
Nota
A seconda della configurazione del motore di database, è possibile che il database non recuperi le credenziali ruotate. In questo caso, è necessario riavviare manualmente l'attività per aggiornare le credenziali.
-
Rivedi e archivia il tuo segreto in. AWS Secrets ManagerÈ quindi possibile cercare ogni segreto in base al relativo nome descrittivo AWS Secrets Manager, quindi recuperare l'ARN segreto come valore
SecretsManagerSecretIdoSecretsManagerOracleAsmSecretIdcome appropriato per autenticare l'accesso alla connessione al database dell'endpoint e a Oracle ASM (se utilizzato).
Per creare la politica e il ruolo di accesso segreti per impostare il tuo or, che consente SecretsManagerAccessRoleArn SecretsManagerOracleAsmAccessRoleArn AWS DMS per accedere AWS Secrets Manager per accedere al segreto appropriato
-
Accedi Console di gestione AWS e apri la console AWS Identity and Access Management (IAM) all'indirizzo https://console.aws.amazon.com/iam/
. -
Seleziona Policy, quindi scegli Crea policy.
-
Scegli JSON e inserisci la seguente policy per consentire l'accesso e la decrittografia del tuo segreto.
Qui
è l'ARN del tuo segreto, che puoi ottenere dasecret_arnSecretsManagerSecretIdoSecretsManagerOracleAsmSecretId, come appropriato, eè l'ARN della chiave AWS KMS che stai usando per crittografare il segreto, come nell'esempio seguente.kms_key_arnNota
Se si utilizza la chiave di crittografia predefinita creata da AWS Secrets Manager, non è necessario specificare le AWS KMS autorizzazioni per
.kms_key_arnSe desideri che la tua policy fornisca l'accesso a entrambi i segreti, specifica semplicemente un oggetto risorsa JSON aggiuntivo per l'altro.
secret_arnSe il segreto si trova in un account diverso, il ruolo
SecretsManagerAccessRoleArnnecessita di una policy aggiuntiva per verificare il segreto tra gli account. Per questi casi d'uso, aggiungi l'azionesecretsmanager:DescribeSecretalla policy. Per maggiori dettagli sull'impostazione di un segreto per più account, vedi Autorizzazioni ai AWS segreti di Secrets Manager per gli utenti di un altro account. -
Rivedi e crea la policy con un nome descrittivo e, facoltativamente, una descrizione.
-
Seleziona Ruoli, quindi scegli Crea ruolo.
-
Per il tipo di entità attendibile, scegli Servizio AWS .
-
Scegli DMS dall'elenco dei servizi come servizio attendibile, quindi seleziona Successivo: Autorizzazioni.
-
Cerca e collega la policy che hai creato nella fase 4, quindi procedi con l'aggiunta di eventuali tag ed esamina il ruolo. A questo punto, modifica le relazioni di fiducia per il ruolo in modo da utilizzare il responsabile del servizio AWS DMS regionale come entità attendibile. Questo principale ha il seguente formato.
dms.region-name.amazonaws.com.rproxy.goskope.comQui
è il nome della regione, ad esempioregion-nameus-east-1. Segue quindi un responsabile di servizio AWS DMS regionale per questa regione.dms.us-east-1.amazonaws.com -
Dopo aver modificato l'entità attendibile per il ruolo, crea il ruolo con un nome descrittivo e, facoltativamente, una descrizione. Ora puoi cercare il nuovo ruolo in base al suo nome descrittivo in IAM, quindi recuperare il ruolo ARN come valore
SecretsManagerAccessRoleArnoSecretsManagerOracleAsmAccessRoleArnper autenticare la connessione al database degli endpoint.
Per utilizzare Secrets Manager con un'istanza di replica in una sottorete privata
-
Crea un endpoint VPC con Secrets Manager e annota il DNS per l'endpoint. Per ulteriori informazioni sulla creazione di un endpoint VPC con Secrets Manager, consulta Connessione a Secrets Manager tramite un endpoint VPC nella Guida per l'utente di AWS Secrets Manager.
-
Per le regole di ingresso dei gruppi di sicurezza degli endpoint VPC, consenti il traffico HTTPS proveniente dall'indirizzo IP privato dell'istanza di replica o dai gruppi di sicurezza collegati alle istanze di replica.
-
Per le regole di uscita del gruppo di sicurezza dell'istanza di replica, consenti tutto il traffico per la destinazione
0.0.0.0/0. -
Imposta l'attributo aggiuntivo di connessione dell'endpoint
secretsManagerEndpointOverride=per fornire il DNS dell'endpoint VPC di Secrets Manager, come illustrato nell'esempio seguente.secretsManager endpoint DNSsecretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com