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. 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:SourceArn
le chiavi di contesto della condizione aws:SourceAccount
globale nelle politiche delle risorse per limitare le autorizzazioni che AWSDeep RacerLong forniscono un altro servizio alla risorsa. Se si utilizzano entrambe le chiavi di contesto delle condizioni globali, il valore aws:SourceAccount
e l'account nel valore aws:SourceArn
devono utilizzare lo stesso ID account nella stessa istruzione di policy.
Il valore di aws:SourceArn
deve essere s3:::. your-bucket-name
Il modo più efficace per proteggersi dal problema "confused deputy" è quello di usare la chiave di contesto della condizione globale aws:SourceArn
con l'ARN completo della risorsa. Se non si conosce l'ARN completo della risorsa o si scelgono più risorse, è necessario utilizzare la chiave di contesto della condizione globale aws:SourceArn
con caratteri jolly (*
) per le parti sconosciute dell'ARN. Ad esempio arn:aws:
. servicename
::123456789012
:*
L'esempio seguente mostra come utilizzare i tasti di contesto aws:SourceArn
e aws:SourceAccount
global condition in AWSDeep Racer per evitare il confuso problema del vice.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1586917903457", "Effect": "Allow", "Principal": { "Service": "deepracer.amazonaws.com" }, "Action": [ "s3:GetObjectAcl", "s3:GetObject", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } } ] }
Se utilizzi una risorsa personalizzata AWS Key Management Service (KMS) per questo bucket, includi la AWS KMS politica delle risorse:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "statement identifier", "Effect": "effect", "Principal": "principal", "Action": "action", "Resource": "resource", "Condition": { "StringEquals": { "aws:SourceArn": "arn:${Partition}:deepracer:${Region}:${Account}:model/reinforcement_learning/${ResourceId}" } } }] }