Elementi delle policy JSON IAM: Resource - 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: Resource

L'elemento Resource specifica l'oggetto o gli oggetti coperti dall'istruzione. Le istruzioni devono includere un elemento Resource o un elemento NotResource. È possibile specificare una risorsa utilizzando un ARN. Per ulteriori informazioni sul formato di ARN, consulta ARN IAM.

Ogni servizio possiede il proprio gruppo di risorse. Anche se utilizzi sempre un ARN per specificare una risorsa, i dettagli dell'ARN per una risorsa dipendono dal servizio e dalla risorsa. Per informazioni su come specificare una risorsa, consulta la documentazione relativa al servizio per la quale desideri scrivere un'istruzione.

Nota

Alcuni servizi non consentono di specificare le operazioni per le singole risorse; invece, ogni operazione elencata nell'elemento Action o NotAction si applica a tutte le risorse in quel servizio. In questi casi, è possibile utilizzare il carattere jolly * nell'elemento Resource.

L'esempio seguente si riferisce a una determinata coda Amazon SQS.

"Resource": "arn:aws:sqs:us-east-2:account-ID-without-hyphens:queue1"

L'esempio seguente si riferisce all'utente IAM denominato Bob in un Account AWS.

Nota

Nell'elemento Resource, il nome utente IAM prevede una distinzione tra lettere minuscole e maiuscole.

"Resource": "arn:aws:iam::account-ID-without-hyphens:user/Bob"

Utilizzo di caratteri jolly negli ARN delle risorse

È possibile utilizzare caratteri jolly come parte dell'ARN della risorsa. Puoi usare caratteri jolly (* e ?) all'interno dei segmenti dell'ARN (le parti separate da due punti) per rappresentare qualsiasi combinazione di caratteri con un asterisco (*) e qualsiasi carattere singolo con un punto interrogativo (?). È possibile utilizzare più caratteri * o ? in ogni segmento. Se il carattere jolly asterisco (*) è l'ultimo carattere del segmento dell'ARN di una risorsa, può espandersi fino a superare i limiti dei due punti. Consigliamo di utilizzare i caratteri jolly (* e ?) all'interno dei segmenti dell'ARN separati da due punti.

Nota

Non puoi utilizzare un carattere jolly nel segmento di servizio che identifica il AWS prodotto. Per ulteriori informazioni sui segmenti degli ARN, consulta Amazon Resource Names (ARN)

L'esempio seguente si riferisce a tutti gli utenti IAM il cui percorso è /accounting.

"Resource": "arn:aws:iam::account-ID-without-hyphens:user/accounting/*"

L'esempio seguente si riferisce a tutti gli elementi all'interno di un determinato bucket Amazon S3.

"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"

Il carattere asterisco (*) può espandersi per sostituire tutto all'interno di un segmento, inclusi caratteri come una barra (/) che potrebbero sembrare un delimitatore all'interno di un determinato spazio dei nomi del servizio. Ad esempio, considera il seguente ARN di Amazon S3 come la stessa logica di espansione con caratteri jolly si applica a tutti i servizi.

"Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/test/*"

I caratteri jolly nell'ARN si applicano a tutti i seguenti oggetti nel bucket, non solo al primo oggetto elencato.

DOC-EXAMPLE-BUCKET/1/test/object.jpg DOC-EXAMPLE-BUCKET/1/2/test/object.jpg DOC-EXAMPLE-BUCKET/1/2/test/3/object.jpg DOC-EXAMPLE-BUCKET/1/2/3/test/4/object.jpg DOC-EXAMPLE-BUCKET/1///test///object.jpg DOC-EXAMPLE-BUCKET/1/test/.jpg DOC-EXAMPLE-BUCKET//test/object.jpg DOC-EXAMPLE-BUCKET/1/test/

Considera gli ultimi due oggetti dell'elenco precedente. Il nome di un oggetto Amazon S3 può iniziare o terminare validamente con il carattere barra (/) del delimitatore convenzionale. Mentre "/" funziona come delimitatore, non vi è alcun significato specifico quando questo carattere viene utilizzato all'interno di una risorsa ARN. Viene trattato come qualsiasi altro carattere valido. L'ARN non corrisponde ai seguenti oggetti:

DOC-EXAMPLE-BUCKET/1-test/object.jpg DOC-EXAMPLE-BUCKET/test/object.jpg DOC-EXAMPLE-BUCKET/1/2/test.jpg

Specifica di più risorse

Puoi specificare più risorse. L'esempio seguente si riferisce a due tabelle DynamoDB.

"Resource": [ "arn:aws:dynamodb:us-east-2:account-ID-without-hyphens:table/books_table", "arn:aws:dynamodb:us-east-2:account-ID-without-hyphens:table/magazines_table" ]

Utilizzo delle variabili delle policy negli ARN delle risorse

Nell'elemento Resource, puoi utilizzare le variabili di policy JSON nella parte dell'ARN che identifica la risorsa specifica (ovvero nella parte finale di ARN). Ad esempio, puoi utilizzare la chiave {aws:username} come parte di una risorsa ARN per indicare che l'attuale nome dell'utente deve essere incluso come parte del nome della risorsa. L'esempio seguente mostra come puoi utilizzare la chiave {aws:username} in un elemento Resource. La policy consente l'accesso a una tabella Amazon DynamoDB che corrisponde al nome dell'utente corrente.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:account-id:table/${aws:username}" } }

Per ulteriori informazioni sulle variabili di policy JSON, consultare la pagina Elementi delle policy IAM: variabili e tag.