Prevenzione del confused deputy tra servizi - AWS Servizio di migrazione del Database

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

Prevenzione del confused deputy tra servizi

Con "confused deputy" si intende un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire una certa operazione può costringere un'entità con più privilegi a eseguire tale operazione. Nel AWS, l'impersonificazione tra servizi può portare al confuso problema del vice. La rappresentazione tra servizi può verificarsi quando un servizio (il servizio chiamante) effettua una chiamata a un altro servizio (il servizio chiamato). Il servizio chiamante può essere manipolato per utilizzare le proprie autorizzazioni e agire sulle risorse di un altro cliente, a cui normalmente non avrebbe accesso. Per evitare ciò, AWS fornisce strumenti per poterti a proteggere i tuoi dati per tutti i servizi con entità di servizio a cui è stato concesso l'accesso alle risorse del tuo account.

Si consiglia di utilizzare aws:SourceArnle chiavi di contesto della condizione aws:SourceAccountglobale nelle politiche delle risorse per limitare le autorizzazioni che AWS Database Migration Service forniscono un altro servizio alla risorsa. Se il valore aws:SourceArn non contiene l'ID account, ad esempio un nome dell'istanza di replica (ARN) AWS DMS , devi utilizzare entrambe le chiavi di contesto delle condizioni globali per limitare le autorizzazioni. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali e il valore aws:SourceArn contiene l'ID account, il valore aws:SourceAccount e l'account nel valore aws:SourceArn deve utilizzare lo stesso ID account nella stessa dichiarazione di policy. Utilizzare aws:SourceArn se si desidera consentire l'associazione di una sola risorsa all'accesso tra servizi. Utilizza aws:SourceAccount se desideri consentire l'associazione di qualsiasi risorsa in tale account all'uso tra servizi.

AWS DMS supporta opzioni alternative confuse a partire dalla versione 3.4.7 e successive. Per ulteriori informazioni, consulta AWS Note di rilascio di Database Migration Service 3.4.7. Se l'istanza di replica utilizza AWS DMS 3.4.6 o versione precedente, assicurati di eseguire l'aggiornamento alla versione più recente prima di impostare le opzioni "confused deputy".

Il modo più efficace per proteggersi dal problema "confused deputy" è quello di usare la chiave di contesto della condizione globale aws:SourceArncon l'ARN completo della risorsa. Se non conosci l'ARN completo della risorsa o scegli più risorse, utilizza la chiave di contesto della condizione globale aws:SourceArn con caratteri jolly (*) per le parti sconosciute dell'ARN. Ad esempio, arn:aws:dms:*:123456789012:rep:*.

Ruoli IAM da utilizzare con l' AWS DMS API per la prevenzione della confusione tra servizi

Per utilizzare l'API AWS CLI o l' AWS DMS API per la migrazione del database, devi aggiungere i ruoli dms-vpc-role e dms-cloudwatch-logs-role IAM al tuo AWS account prima di poter utilizzare le funzionalità di AWS DMS. Per ulteriori informazioni, consulta Creazione dei IAM ruoli da utilizzare con AWS CLI e AWS DMS API.

L'esempio seguente mostra le policy per l'utilizzo del ruolo dms-vpc-role con l'istanza di replica my-replication-instance. Usa queste policy per evitare il problema del "confused deputy".

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnEqual": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:rep:my-replication-instance" } } } ] }

La policy IAM prevede l'archiviazione delle valutazioni preliminari in Amazon S3 per la prevenzione di "confused deputy" tra servizi

Per archiviare i risultati della valutazione preliminare nel bucket S3, crea una policy IAM che consenta ad AWS DMS di gestire gli oggetti in Amazon S3. Per ulteriori informazioni, consulta Crea risorse IAM .

L'esempio seguente mostra una politica di fiducia con condizioni sostitutive confuse impostate su un ruolo IAM che consente di accedere AWS DMS a tutte le attività e le esecuzioni di valutazione con un account utente specifico.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": [ "arn:aws:dms:your_region:your_account_id:assessment-run:*", "arn:aws:dms:region:your_account_id:task:*" ] } } } ] }

Utilizzo di Amazon DynamoDB come endpoint di destinazione per la prevenzione della confusione tra AWS DMS servizi

Per utilizzare Amazon DynamoDB come endpoint di destinazione per la migrazione del database, devi creare il ruolo IAM che AWS DMS consenta di assumere e concedere l'accesso alle tabelle DynamoDB. Quindi, usa questo ruolo quando crei l'endpoint DynamoDB di destinazione in AWS DMS. Per ulteriori informazioni, consulta Utilizzo di Amazon DynamoDB come destinazione.

L'esempio seguente mostra una policy di fiducia con condizioni sostitutive confuse impostate su un ruolo IAM che consente a tutti gli AWS DMS endpoint di accedere alle tabelle DynamoDB.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "dms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "AWS:SourceAccount": "your_account_id" }, "ArnLike": { "AWS:SourceArn": "arn:aws:dms:your_region:your_account_id:endpoint:*" } } } ] }