Elementi delle policy JSON IAM: NotAction - 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à.

Elementi delle policy JSON IAM: NotAction

NotAction è un elemento di policy avanzato che corrisponde esplicitamente a tutte le operazioni tranne quelle specificamente elencate. L'utilizzo di NotAction può determinare una policy più breve dal momento che è possibile elencare solo poche operazioni che non devono corrispondere, anziché includere un lungo elenco di operazioni che devono corrispondere. Le azioni specificate in non NotAction sono influenzate dall'Denyeffetto Allow o contenuto in una dichiarazione politica. Questo significa a sua volta che tutte le operazioni o i servizi applicabili che non sono elencati sono consentiti se utilizzi l'effetto Allow. Inoltre, tali operazioni o servizi non elencati vengono negati se utilizzi l'effetto Deny. Quando utilizzi NotAction con l'elemento Resource, fornisci l'ambito della policy. In questo modo si AWS determinano le azioni o i servizi applicabili. Per ulteriori informazioni, consulta la policy di esempio seguente.

NotAction con Allow

È possibile utilizzare l'NotActionelemento in un'istruzione con "Effect": "Allow" per fornire l'accesso a tutte le azioni di un AWS servizio, ad eccezione delle azioni specificate inNotAction. È possibile utilizzarlo con l'elemento Resource per fornire l'ambito della policy, limitando le operazioni consentite a quelle che possono essere eseguite sulla risorsa specificata.

L'esempio seguente consente agli utenti di accedere a tutte le operazioni Amazon S3 che possono essere eseguite su qualsiasi risorsa S3 eccetto l'eliminazione di un bucket. Questo esempio non consente agli utenti di utilizzare l'operazione dell'API S3 ListAllMyBuckets, perché tale operazione richiede la risorsa "*". Inoltre, questa policy non consente operazioni in altri servizi, perché le operazioni di altri servizi non sono applicabili alle risorse S3.

"Effect": "Allow", "NotAction": "s3:DeleteBucket", "Resource": "arn:aws:s3:::*",

È possibile che talvolta si desideri consentire l'accesso a un numero elevato di operazioni. Utilizzando l'elemento NotAction si inverte efficacemente l'istruzione, determinando un elenco più breve di operazioni. Ad esempio, poiché AWS dispone di così tanti servizi, potresti voler creare una policy che consenta all'utente di fare tutto tranne accedere alle azioni IAM.

L'esempio seguente consente agli utenti di accedere a tutte le azioni in tutti i AWS servizi tranne IAM.

"Effect": "Allow", "NotAction": "iam:*", "Resource": "*"

Va prestata attenzione all'utilizzo dell'elemento NotAction e "Effect": "Allow" nella stessa istruzione o in un'istruzione diversa nella policy. NotAction corrisponde a tutti i servizi e le operazioni che non sono esplicitamente elencati o applicabili alla risorsa specificata e può finire col concedere agli utenti più autorizzazioni del previsto.

NotAction con Deny

Puoi utilizzare l'elemento NotAction in un'istruzione con "Effect": "Deny" per negare l'accesso a tutte le risorse elencate tranne le operazioni specificate nell'elemento NotAction. Questa combinazione non consente gli elementi elencati ma invece nega esplicitamente le operazioni non elencate. Devi comunque consentire le operazioni che desideri consentire.

Il seguente esempio condizionale nega l'accesso alle operazioni non IAM se l'utente non ha eseguito l'accesso utilizzando l'autenticazione MFA. Se l'utente ha eseguito l'accesso con l'autenticazione MFA, il test "Condition" non riesce e l'istruzione "Deny" finale non produce effetti. Nota, tuttavia, che questa istruzione non concederebbe all'utente l'accesso ad alcuna operazione, ma negherebbe solamente in modo esplicito tutte le altre operazioni eccetto le operazioni IAM.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "DenyAllUsersNotUsingMFA", "Effect": "Deny", "NotAction": "iam:*", "Resource": "*", "Condition": {"BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}} }] }

Per una policy di esempio che nega l'accesso alle operazioni al di fuori di regioni specifiche, ad eccezione delle operazioni di servizi specifici, consulta AWS: nega l'accesso in AWS base alla regione richiesta.