Prevenzione del problema "confused deputy" tra servizi - AWS Clean Rooms

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 problema "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ò causare il problema del sostituto confuso. 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 le chiavi di contesto della condizione aws:SourceArnglobale nelle politiche delle risorse per limitare le autorizzazioni che AWSClean Rooms forniscono un altro servizio alla risorsa. Utilizza aws:SourceArn se desideri consentire l'associazione di una sola risorsa all'accesso tra servizi.

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. Inoltre AWSClean Rooms, devi anche confrontarlo con la chiave di sts:ExternalId condizione.

Il valore di aws:SourceArn deve essere impostato sull'ARN dell'appartenenza al ruolo assunto.

L'esempio seguente mostra come utilizzare la chiave aws:SourceArn global condition context AWSClean Rooms per evitare il confuso problema del vice.

Nota

La politica di esempio si applica alla politica di attendibilità del ruolo di servizio che AWS Clean Rooms utilizza per accedere ai dati e ai metadati per una tabella configurata.

Il valore di <query-runner-membership-id> deve essere impostato sull'ID di appartenenza del query runner.

Tutti i membri della collaborazione possono visualizzare la tabella matadata configurata, quindi ogni ARN di appartenenza deve essere incluso nell'elenco dei membri. ARNs

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIfExternalIdMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "sts:ExternalId": "arn:aws:*:<aws-region>:*:dbuser:*/<query-runner-membership-id>*" } } }, { "Sid": "AllowIfSourceArnMatches", "Effect": "Allow", "Principal": { "Service": "cleanrooms.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ForAnyValue:ArnEquals": { "aws:SourceArn": [ "arn:aws:cleanrooms:<aws-region>:<member-1-account-id>:membership/<member-1-membership-id>", "arn:aws:cleanrooms:<aws-region>:<member-2-account-id>:membership/<member-2-membership-id>" ] } } } ] }