Elementi della policy IAM JSON: NotResource - 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 della policy IAM JSON: NotResource

NotResource è un elemento della policy avanzato che corrisponde esplicitamente a tutte le risorse tranne quelle specificate. L'utilizzo di NotResource può risultare in una policy di durata inferiore elencando solo poche risorse che non devono corrispondere, anziché includere un lungo elenco di risorse che corrisponderanno. Ciò è particolarmente utile per le policy che si applicano all'interno di un singolo servizio AWS .

Ad esempio, immaginate di disporre di un gruppo denominato HRPayroll. I membri di HRPayroll non devono avere il permesso di accedere a qualsiasi risorsa Amazon S3 ad eccezione della cartella Payroll nel bucket HRBucket. La policy seguente rifiuta esplicitamente l'accesso a tutte le risorse Amazon S3 eccetto a quelle elencate. Tuttavia, questa policy non concede all'utente l'accesso a nessuna risorsa.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": "s3:*", "NotResource": [ "arn:aws:s3:::HRBucket/Payroll", "arn:aws:s3:::HRBucket/Payroll/*" ] } }

Di solito, per negare esplicitamente l'accesso a una risorsa è necessario scrivere una policy che utilizza "Effect":"Deny" e che include un elemento Resource che elenca ogni cartella individualmente. Tuttavia, in tal caso, ogni volta che aggiungi una cartella o aggiungi una risorsa ad Amazon S3 a cui non si dovrebbe accedere, devi aggiungerne il nome all'elenco dell'elemento. HRBucket Resource Se si utilizza invece un elemento NotResource, agli utenti viene automaticamente negato l'accesso a nuove cartelle a meno che non si aggiungano i nomi delle cartelle all'elemento NotResource.

Quando si utilizza NotResource, è necessario tenere presente che le risorse specificate in questo elemento sono le uniche risorse a non essere limitate. Questo, a sua volta, limita tutte le risorse che si applicano all'operazione. Nell'esempio precedente, la policy riguarda solo le operazioni di Amazon S3 e quindi solo le risorse di Amazon S3. Se l'Actionelemento includesse anche EC2 azioni Amazon, la policy negherebbe l'accesso a tutte EC2 le risorse non specificate nell'NotResourceelemento. Per sapere quali azioni in un servizio consentono di specificare l'ARN di una risorsa, consulta Azioni, risorse e chiavi AWS di condizione per i servizi.

NotResource con altri elementi

Non bisognerebbe mai utilizzare insieme gli elementi "Effect": "Allow", "Action": "*" e "NotResource": "arn:aws:s3:::HRBucket". Questa affermazione è molto pericolosa, perché consente tutte le azioni AWS su tutte le risorse tranne il bucket HRBucket S3. Ciò consentirebbe addirittura a un utente di aggiungere al proprio profilo una policy che gli consenta di accedere a HRBucket. Non bisogna farlo.

Va prestata attenzione all'utilizzo dell'elemento NotResource e "Effect": "Allow" nella stessa istruzione o in un'istruzione diversa nella policy. NotResource consente tutti i servizi e risorse che non sono elencati in modo esplicito e può concedere agli utenti più autorizzazioni del previsto. L'utilizzo dell'elemento NotResource e "Effect": "Deny" nella stessa istruzione nega i servizi e le risorse che non sono elencati in modo esplicito.