Esempi chiave di contesto multivalore - AWS Identity and Access Management

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à.

Esempi chiave di contesto multivalore

La seguente serie di esempi di policy mostra come creare condizioni politicy con chiavi di contesto multivalore.

Esempio: politica di rifiuto con operatore di set di condizioni ForAllValues

Gli esempi seguenti mostrano come utilizzare una policy basata sull’identità per negare l’uso di operazioni di tagging IAM quando nella richiesta sono inclusi prefissi specifici della chiave di tag. I valori per aws:TagKeys includono un carattere jolly (*) per la corrispondenza parziale delle stringhe. La policy include l’operatore dell’insieme ForAllValues con la chiave di contesto aws:TagKeys perché la chiave di contesto della richiesta può includere più valori. Affinché la chiave di contesto aws:TagKeys corrisponda, ogni valore nel contesto della richiesta deve corrispondere ad almeno un valore presente nella policy.

L’operatore dell’insieme ForAllValues restituisce True anche se non ci sono chiavi di contesto nella richiesta.

Puoi evitare che le chiavi di contesto mancanti o le chiavi di contesto con valori vuoti vengano valutate come True includendo un operatore di condizione Null nella tua policy con un valore false per verificare se la chiave di contesto nella richiesta esiste e il suo valore non è Null. Per ulteriori informazioni, consulta Operatore di condizione per verificare la presenza di chiavi di condizione .

Importante

Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche.

Esempio Negazione di un singolo valore di condizione della policy per una chiave di contesto multivalore

Nel seguente esempio, la policy nega le richieste in cui i valori di aws:TagKeys nella richiesta non includono il prefisso key1. Il contesto della richiesta può avere più valori, ma a causa dell’operatore dell’insieme di condizioni ForAllValues, tutti i valori chiave del tag nel contesto della richiesta devono iniziare con il prefisso key1.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyRestrictedTags", "Effect": "Deny", "Action": [ "iam:Tag*", "iam:UnTag*" ], "Resource": [ "*" ], "Condition": { "ForAllValues:StringNotLike": { "aws:TagKeys": "key1*" } } } ] }

La tabella seguente mostra come AWS valuta questa politica in base ai valori della chiave di condizione nella richiesta. Per un’istruzione Nega, una Corrispondenza è Negata e una Mancata corrispondenza è Non negata, quindi può essere consentita da un’altra istruzione.

Condizione della policy Contesto della richiesta Risultato
"ForAllValues:StringNotLike": { "aws:TagKeys": "key1*" }
aws:TagKeys: – key1:legal

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAllValues:StringNotLike": { "aws:TagKeys": "key1*" }
aws:TagKeys: – key1:hr – key1:personnel

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAllValues:StringNotLike": { "aws:TagKeys": "key1*" }
aws:TagKeys: – key2:audit

Partita

"ForAllValues:StringNotLike": { "aws:TagKeys": "key1*" }

aws:TagKeys non è presente nel contesto della richiesta.

Incontro

Esempio Negazione di più valori di condizione della policy per una chiave di contesto multivalore

Nell’esempio seguente, la policy nega le richieste in cui i valori aws:TagKeys della richiesta non includono il prefisso key1 o key2 Il contesto della richiesta può avere più valori, ma a causa dell’operatore dell’insieme di condizioni ForAllValues, tutti i valori chiave del tag nel contesto della richiesta devono iniziare con il prefisso key1 o key2.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "DenyRestrictedTags", "Effect": "Deny", "Action": [ "iam:Tag*", "iam:UnTag*" ], "Resource": [ "*" ], "Condition": { "ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] } } } ] }

La tabella seguente mostra come AWS valuta questa politica in base ai valori della chiave di condizione nella richiesta. Per un’istruzione Nega, una Corrispondenza è Negata e una Mancata corrispondenza è Non negata, quindi può essere consentita da un’altra istruzione.

Condizione della policy Contesto della richiesta Risultato
"ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] }
aws:TagKeys: – key1:legal

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] }
aws:TagKeys: – key1:hr – key1:personnel

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] }
aws:TagKeys: – key1:hr – key2:audit

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] }
aws:TagKeys: – key3:legal

Partita

"ForAllValues:StringNotLike": { "aws:TagKeys": [ "key1*", "key2*" ] }

aws:TagKeys non è presente nel contesto della richiesta.

Incontro

Esempio: politica di rifiuto con operatore di set di condizioni ForAnyValue

Il seguente esempio di policy basata sull'identità nega la creazione di istantanee di volumi di EC2 istanze se alcune istantanee sono contrassegnate con una delle chiavi di tag specificate nella policy, oppure. environment webserver La policy include l’operatore dell’insieme ForAnyValue con la chiave di contesto aws:TagKeys perché la chiave di contesto della richiesta può includere più valori. Se la richiesta di etichettatura include uno dei valori chiave dei tag specificati nella policy, la aws:TagKeys chiave di contesto restituisce true richiamando l'effetto della policy di negazione.

Importante

Questa policy non consente alcuna operazione. Utilizza questa policy in combinazione con altre policy che consentono operazioni specifiche.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ec2:CreateSnapshot", "ec2:CreateSnapshots" ], "Resource": "arn:aws:ec2:us-west-2::snapshot/*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "webserver" } } } ] }

La tabella seguente mostra come AWS valuta questa politica in base ai valori della chiave di condizione nella richiesta. Per un’istruzione Nega, una Corrispondenza è Negata e una Mancata corrispondenza è Non negata, quindi può essere consentita da un’altra istruzione.

Condizione della policy Contesto della richiesta Risultato
"ForAnyValue:StringEquals": { "aws:TagKeys": "webserver" }
aws:TagKeys: – webserver

Partita

"ForAnyValue:StringEquals": { "aws:TagKeys": "webserver" }
aws:TagKeys: – environment – webserver – test

Incontro

"ForAnyValue:StringEquals": { "aws:TagKeys": "webserver" }
aws:TagKeys: – environment – test

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.

"ForAnyValue:StringEquals": { "aws:TagKeys": "webserver" }

aws:TagKeys non è presente nel contesto della richiesta.

Nessuna corrispondenza

Può essere consentito da un’altra istruzione.