Prevenzione del confused deputy tra servizi - AWS Batch

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 frattempo 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 Batch forniscono un altro servizio alla risorsa. Se il valore aws:SourceArn non contiene l'ID account, ad esempio un ARN di un bucket Amazon S3, è necessario 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.

Il valore di aws:SourceArn deve essere la risorsa che AWS Batch memorizza.

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:servicename:*:123456789012:*.

Gli esempi seguenti mostrano come utilizzare le chiavi di contesto aws:SourceArn e aws:SourceAccount global condition AWS Batch per prevenire il confuso problema del vice.

Esempio 1: Ruolo per l'accesso a un solo ambiente di elaborazione

Il seguente ruolo può essere utilizzato solo per accedere a un ambiente di calcolo. Il nome del processo deve essere specificato in * quanto la coda dei lavori può essere associata a più ambienti di elaborazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batch.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:batch:us-east-1:123456789012:compute-environment/testCE", "arn:aws:batch:us-east-1:123456789012:job/*" ] } } } ] }

Esempio 2: Ruolo per l'accesso a più ambienti di elaborazione

Il seguente ruolo può essere utilizzato per accedere a più ambienti di elaborazione. Il nome del processo deve essere specificato in * quanto la coda dei lavori può essere associata a più ambienti di elaborazione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "batch.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": [ "arn:aws:batch:us-east-1:123456789012:compute-environment/*", "arn:aws:batch:us-east-1:123456789012:job/*" ] } } } ] }