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à.
Condizioni con più chiavi di contesto o valori
Puoi utilizzare l'elemento Condition
di una policy per testare più chiavi di contesto o valori per una singola chiave di contesto in una richiesta. Quando fai una richiesta a AWS, a livello di codice o tramite AWS Management Console, la richiesta include informazioni sul principale, sull'operazione, sui tag e altro ancora. Puoi utilizzare le chiavi di contesto per testare i valori delle chiavi di contesto corrispondenti nella richiesta, con le chiavi di contesto specificate nella condizione della policy. Per ulteriori informazioni e i dati inclusi in una richiesta, consulta Il contesto della richiesta.
Argomenti
Logica di valutazione per condizioni con più chiavi di contesto o valori
Un elemento Condition
può contenere più operatori di condizione e ciascun operatore di condizione può includere a sua volta più coppie chiave-valore. La maggior parte delle chiavi di contesto supporta l'utilizzo di più valori, se non diversamente specificato.
-
Se la tua policy contiene più operatori di condizione, questi vengono valutati utilizzando un
AND
logico. -
Se la policy contiene più chiavi di contesto collegate a un singolo operatore di condizione, le chiavi di contesto vengono valutate utilizzando un
AND
logico. -
Se un singolo operatore di condizione include valori multipli per una chiave di contesto, questi valori sono valutato con un
OR
logico. -
Se un singolo operatore di condizione di corrispondenza negata include valori multipli per una chiave di contesto, questi valori vengono valutati con un
NOR
logico.
Tutte le chiavi di contesto in un blocco di elementi condizionali devono essere risolte in true per richiamare il Allow
desiderato o l’effetto Deny
. La figura seguente illustra la logica di valutazione per una condizione con più operatori di condizione e coppie chiave-valore di contesto.
Ad esempio, la seguente policy del bucket S3 illustra come la figura precedente è rappresentata in una policy. Il blocco condizione utilizza operatori di condizione StringEquals
e ArnLike
e chiavi di contesto aws:PrincipalTag
eaws:PrincipalArn
. Per richiamare l'effetto Allow
o Deny
desiderato, tutte le chiavi di contesto nel blocco di condizione devono restituire il valore true. L'utente che effettua la richiesta deve avere entrambe le chiavi tag principali, dipartimento e ruolo, che includono uno dei valori chiave dei tag specificati nella policy. Inoltre, il principale ARN dell'utente che effettua la richiesta deve corrispondere a uno dei aws:PrincipalArn
valori specificati nella politica per essere valutato come vero.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExamplePolicy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:PrincipalTag/department": [ "finance", "hr", "legal" ], "aws:PrincipalTag/role": [ "audit", "security" ] }, "ArnLike": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:user/Ana", "arn:aws:iam::222222222222:user/Mary" ] } } } ] }
Logica di valutazione per gli operatori di negazione della condizione di corrispondenza
Alcuni operatori di condizione, ad esempio StringNotEquals
o ArnNotLike
, usano la corrispondenza negata per confrontare le coppie chiave-valore di contesto nella tua policy con le coppie chiave-valore di contesto in una richiesta. Quando più valori sono elencati in una singola chiave di contesto in una policy con operatori di negazione della condizione di corrispondenza le autorizzazioni efficaci funzionano come un NOR
logico. Nella corrispondenza negata, un NOR
o NOT
OR
restituisce true solo se tutti i valori restituiscono false.
La figura seguente illustra la logica di valutazione per una condizione con più operatori di condizione e coppie chiave-valore di contesto. La figura include un operatore di negazione della condizione di corrispondenza per la chiave di contesto 3.
Ad esempio, la seguente policy del bucket S3 illustra come la figura precedente è rappresentata in una policy. Il blocco condizione utilizza operatori di condizione StringEquals
e ArnNotLike
e chiavi di contesto aws:PrincipalTag
eaws:PrincipalArn
. Per richiamare l'effetto Allow
o Deny
desiderato, tutte le chiavi di contesto nel blocco di condizione devono restituire il valore true. L'utente che effettua la richiesta deve avere entrambe le chiavi tag principali, dipartimento e ruolo, che includono uno dei valori chiave dei tag specificati nella policy. Poiché l'operatore di ArnNotLike
condizione utilizza la corrispondenza negata, il principale ARN dell'utente che effettua la richiesta non deve corrispondere a nessuno dei aws:PrincipalArn
valori specificati nella politica per essere valutato come vero.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ExamplePolicy", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:root" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket", "Condition": { "StringEquals": { "aws:PrincipalTag/department": [ "finance", "hr", "legal" ], "aws:PrincipalTag/role": [ "audit", "security" ] }, "ArnNotLike": { "aws:PrincipalArn": [ "arn:aws:iam::222222222222:user/Ana", "arn:aws:iam::222222222222:user/Mary" ] } } } ] }