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à.
Infatti AWS DMS, un segreto è una chiave crittografata che è possibile 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 richiede un segreto aggiuntivo che rappresenti le credenziali 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 locale. È 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 sulla 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, che AWS DMS devono stabilire connessioni. Crea invece un utente e un segreto nuovi. Per informazioni sulla creazione di un utente e un segreto, consulta Utilizzo di AWS Management Console per creare un ruolo segreto e di accesso 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 di 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:
-
Valori in chiaro per autenticare la connessione al database utilizzando le impostazioni
UserName
,Password
,ServerName
ePort
. Per un endpoint Oracle che utilizza anche Oracle ASM, includi valori in chiaro aggiuntivi per autenticare ASM utilizzando le impostazioniAsmUserName
,AsmPassword
eAsmServerName
. -
Autenticazione dei segreti utilizzando i valori per le impostazioni
SecretsManagerSecretId
eSecretsManagerAccessRoleArn
. Per un endpoint Oracle che utilizza Oracle ASM, includi valori aggiuntivi per le impostazioniSecretsManagerOracleAsmSecretId
eSecretsManagerOracleAsmAccessRoleArn
. 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 questoSecretsManagerSecretId
segreto 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 segretoSecretsManagerOracleAsmSecretId
per tuo conto.
Nota
Puoi anche utilizzare un singolo ruolo di accesso segreto per fornire AWS DMS l'accesso sia al
SecretsManagerSecretId
segreto che alSecretsManagerOracleAsmSecretId
segreto. Se crei questo singolo ruolo di accesso per entrambi i segreti, assicurati di assegnare lo stesso ARN per il ruolo di accesso a entrambiSecretsManagerAccessRoleArn
eSecretsManagerOracleAsmAccessRoleArn
. 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 AWS Management Console per creare un ruolo segreto e di accesso 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:GetRole
autorizzazione sul ruolo di accesso segreto e l'SecretsManager:DescribeSecret
autorizzazione 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 a AWS Management Console 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
CreateEndpoint
eModifyEndpoint
. -
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 usa il AWS CLI per verificare che le autorizzazioni siano state fornite correttamente assumendo il ruolo o l'utente usato sopra.
-
Convalida l'autorizzazione dell'utente sull' SecretAccessRole utilizzo del comando IAM.
get-role
aws iam get-role --role-name
ROLE_NAME
Sostituisci
ROLE_NAME
con il nome di.SecretsManagerAccessRole
Se 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-id
SECRET_NAME OR SECRET_ARN
--region=REGION_NAME
L'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 AWS Management Console per creare un ruolo segreto e di accesso segreto
È possibile utilizzare il per AWS Management Console creare un segreto per l'autenticazione degli endpoint e per creare la politica e il ruolo che consentano l'accesso AWS DMS al segreto per conto dell'utente.
Per creare un segreto utilizzando il comando AWS Management Console that AWS DMS can use per autenticare un database per le connessioni agli endpoint di origine e di destinazione
-
Accedi a AWS Management Console 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. È possibile accettare la chiave di crittografia predefinita creata per il servizio da AWS Secrets Manager o selezionare una AWS KMS chiave creata dall'utente.
-
Specifica un nome per fare riferimento a questo segreto e una descrizione facoltativa. Questo è il nome descrittivo che utilizzi come valore per
SecretsManagerSecretId
oSecretsManagerOracleAsmSecretId
. -
Se desideri abilitare la rotazione automatica nel 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_CHARACTERS
i seguenti quattro caratteri.;.:+{}
AWS DMS non ammette 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 in AWS Secrets Manager, quindi recuperare l'ARN segreto come valore
SecretsManagerOracleAsmSecretId
o, se appropriato,SecretsManagerSecretId
per autenticare l'accesso alla connessione al database degli endpoint e a Oracle ASM (se utilizzato).
Per creare la politica di accesso segreto e il ruolo su cui impostare SecretsManagerAccessRoleArn
oSecretsManagerOracleAsmAccessRoleArn
, che consente di accedere AWS DMSAWS Secrets Manager al segreto appropriato
-
Accedi AWS Management Console 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.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource":
secret_arn
, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource":kms_key_arn
, } ] }Qui
è l'ARN del tuo segreto, che puoi ottenere dasecret_arn
SecretsManagerSecretId
oSecretsManagerOracleAsmSecretId
, come appropriato, e
è l'ARN della chiave AWS KMS che stai usando per crittografare il segreto, come nell'esempio seguente.kms_key_arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd" } ] }
Nota
Se si utilizza la chiave di crittografia predefinita creata da AWS Secrets Manager, non è necessario specificare le AWS KMS autorizzazioni per
.kms_key_arn
Se desideri che la tua policy fornisca l'accesso a entrambi i segreti, specifica semplicemente un oggetto risorsa JSON aggiuntivo per l'altro.
secret_arn
Se il segreto si trova in un account diverso, il ruolo
SecretsManagerAccessRoleArn
necessita di una policy aggiuntiva per verificare il segreto tra gli account. Per questi casi d'uso, aggiungi l'azionesecretsmanager:DescribeSecret
alla policy. Per maggiori dettagli sulla configurazione di un segreto per più account, consulta Autorizzazioni ai AWS segreti di Secrets Manager per gli utenti di un account diverso. -
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 trust relative al ruolo in modo da utilizzare il responsabile del servizio AWS DMS regionale come entità affidabile. Questo principale ha il seguente formato.
dms.
region-name
.amazonaws.com.rproxy.goskope.comQui
è il nome della regione, ad esempioregion-name
us-east-1
. Segue quindi un responsabile del 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
SecretsManagerAccessRoleArn
oSecretsManagerOracleAsmAccessRoleArn
per 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.
-
Collega il gruppo di sicurezza dell'istanza di replica all'endpoint VPC di Secrets Manager.
-
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 DNS
secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com