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
Importante
Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto il 31/07/2025. Per ulteriori dettagli, consulta Migrare un Amazon QLDB Ledger ad Amazon Aurora Postgre
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. In AWS, l'impersonificazione tra diversi servizi può portare alla confusione del problema 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 il problema del vicesceriffo, AWS fornisce strumenti che vi aiutano a proteggere i vostri dati per tutti i servizi con responsabili del servizio a cui è stato concesso l'accesso alle risorse del vostro account.
Ti consigliamo di utilizzare le chiavi di contesto aws:SourceArn
e aws:SourceAccount
global condition nelle politiche delle risorse per limitare le autorizzazioni che Amazon QLDB concede a un altro servizio alla risorsa. Se utilizzi entrambe le chiavi di contesto della condizione globale, il aws:SourceAccount
valore e l'account nel aws:SourceArn
valore devono utilizzare lo stesso ID account quando vengono utilizzati nella stessa dichiarazione politica.
La tabella seguente elenca i valori possibili delle aws:SourceArn
StreamsJournalToKinesis
QLDBAPIoperazioni ExportJournalToS3
and. Queste operazioni rientrano nell'ambito di questo problema di sicurezza perché chiamano AWS Security Token Service (AWS STS) per assumere un IAM ruolo specificato dall'utente.
APIoperazione | Servizio chiamato | leggi: SourceArn |
---|---|---|
ExportJournalToS3 |
AWS STS (AssumeRole ) |
Consente QLDB di assumere il ruolo di qualsiasi QLDB risorsa nell'account:
Attualmente, supporta questo jolly QLDB solo ARN per le esportazioni di riviste. |
StreamsJournalToKinesis |
AWS STS (AssumeRole ) |
Consente di QLDB assumere il ruolo per uno QLDB stream specifico:
Nota: è possibile specificare un ID di stream solo ARN dopo la creazione della risorsa di streaming. In questo modoARN, puoi consentire l'utilizzo del ruolo solo per un singolo QLDB stream. Consente QLDB di assumere il ruolo per qualsiasi QLDB flusso di un registro:
Consente di QLDB assumere il ruolo di qualsiasi QLDB stream nell'account:
Consente QLDB di assumere il ruolo di qualsiasi QLDB risorsa dell'account:
|
Il modo più efficace per proteggersi dal confuso problema del vicesceriffo consiste nell'utilizzare la chiave di contesto ARN della condizione aws:SourceArn
globale con l'intera risorsa. Se non conosci la dimensione completa ARN della risorsa o se stai specificando più risorse, usa la chiave aws:SourceArn
global context condition con caratteri jolly (*
) per le parti sconosciute di ARN —ad esempio,. arn:aws:qldb:us-east-1:
123456789012
:*
Il seguente esempio di politica di fiducia relativo a un IAM ruolo mostra come utilizzare le chiavi di contesto aws:SourceArn
e aws:SourceAccount
global condition per evitare il confuso problema del vice. Con questa politica di fiducia, QLDB puoi assumere il ruolo di qualsiasi QLDB stream presente nell'account myExampleLedger
solo 123456789012
per il registro.
Per utilizzare questa politica, sostituisci us-east-1
,
123456789012
e myExampleLedger
nell'esempio con le tue informazioni.
{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "qldb.amazonaws.com" }, "Action": [ "sts:AssumeRole" ], "Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:qldb:
us-east-1
:123456789012
:stream/myExampleLedger
/*" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } }