IAMJSONelementi politici: 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à.

IAMJSONelementi politici: Resource

L'Resourceelemento di una dichiarazione IAM politica definisce l'oggetto o gli oggetti a cui si applica l'istruzione. Le istruzioni devono includere un elemento Resourceo un elemento NotResource.

Specifichi una risorsa utilizzando un Amazon Resource Name (ARN). Il formato di ARN dipende dalla Servizio AWS risorsa specifica a cui ti riferisci. Sebbene il ARN formato vari, si utilizza sempre un ARN per identificare una risorsa. Per ulteriori informazioni sul formato diARNs, vedereIAM ARNs. Per informazioni su come specificare una risorsa, consulta la documentazione relativa al servizio per la quale desideri scrivere un'istruzione.

Nota

Alcuni Servizi AWS non consentono di specificare azioni per singole risorse. In questi casi, tutte le azioni elencate nell'NotActionelemento Action or si applicano a tutte le risorse di quel servizio. In questo caso, utilizzate il carattere jolly (*) nell'Resourceelemento.

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

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

L'esempio seguente si riferisce all'IAMutente indicato Bob in un Account AWS.

Nota

Nell'Resourceelemento, il nome IAM utente fa distinzione tra maiuscole e minuscole.

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

Utilizzo di caratteri jolly nella risorsa ARNs

È possibile utilizzare caratteri jolly (*e?) all'interno dei singoli segmenti di an ARN (le parti separate da due punti) per rappresentare:

  • Qualsiasi combinazione di caratteri () *

  • Qualsiasi carattere singolo (?)

È possibile utilizzare più * o più ? caratteri in ogni segmento. Se il carattere * jolly è l'ultimo carattere di un ARN segmento di risorse, può espandersi fino a corrispondere oltre i confini dei due punti. Ti consigliamo di utilizzare caratteri jolly (*e?) all'interno di ARN segmenti separati da due punti.

Nota

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

L'esempio seguente si riferisce a tutti IAM gli utenti 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:::amzn-s3-demo-bucket/*"

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

"Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*/test/*"

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

amzn-s3-demo-bucket/1/test/object.jpg amzn-s3-demo-bucket/1/2/test/object.jpg amzn-s3-demo-bucket/1/2/test/3/object.jpg amzn-s3-demo-bucket/1/2/3/test/4/object.jpg amzn-s3-demo-bucket/1///test///object.jpg amzn-s3-demo-bucket/1/test/.jpg amzn-s3-demo-bucket//test/object.jpg amzn-s3-demo-bucket/1/test/

Considera gli ultimi due oggetti dell'elenco precedente. Il nome di un oggetto Amazon S3 può iniziare o terminare con il carattere delimitatore convenzionale forward slash (). / Sebbene / funzioni come delimitatore, non ha un significato specifico quando questo carattere viene utilizzato all'interno di una risorsa. ARN Viene trattato come qualsiasi altro carattere valido. Non ARN corrisponderebbe ai seguenti oggetti:

amzn-s3-demo-bucket/1-test/object.jpg amzn-s3-demo-bucket/test/object.jpg amzn-s3-demo-bucket/1/2/test.jpg

Specifica di più risorse

È possibile specificare più risorse nell'Resourceelemento utilizzando una matrice diARNs. 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 di variabili politiche nella risorsa ARNs

Nell'Resourceelemento, è possibile utilizzare le variabili di JSON policy nella parte ARN che identifica la risorsa specifica, ovvero nella parte finale di. ARN Ad esempio, è possibile utilizzare la chiave {aws:username} come parte di una risorsa ARN per indicare che il nome dell'utente corrente 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 JSON politiche, vedereElementi delle policy IAM: variabili e tag.