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

Il problema confused deputy è un problema di sicurezza in cui un'entità che non dispone dell'autorizzazione per eseguire un'azione può costringere un'entità maggiormente privilegiata a eseguire l'azione. In effetti AWS, l'impersonificazione tra servizi diversi può portare alla confusione del vicesceriffo. 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: ruolo per l'accesso a un solo ambiente di elaborazione

Il ruolo seguente 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: 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/*" ] } } } ] }