Identificare le risorse AWS con i nomi delle risorse Amazon (ARN)
Amazon Resource Name (ARN) identifica in modo univoco le risorse AWS. È richiesto un ARN quando è necessario specificare una risorsa in modo inequivocabile in tutto AWS, ad esempio nelle policy IAM, nei tag Amazon Relational Database Service (Amazon RDS) e nelle chiamate API. Sebbene gli ARN, come qualsiasi informazione identificativa, debbano essere utilizzati e condivisi con attenzione, non sono considerati informazioni segrete, sensibili o riservate.
Formato ARN
Di seguito sono riportati i formati generali per gli ARN. I formati specifici dipendono dalla risorsa. Per utilizzare un ARN, sostituire il testo in corsivo con le informazioni specifiche delle risorse. Tenere presente che gli ARN per alcune risorse omettono la regione, l'ID account o la regione e l'ID account.
arn:partition:service:region:account-id:resource-idarn:partition:service:region:account-id:resource-type/resource-idarn:partition:service:region:account-id:resource-type:resource-id
partition-
La partizione in cui si trova la risorsa. Una partizione è un gruppo di regioni AWS. Ogni account AWS ha l'ambito di una partizione.
Di seguito sono riportate le partizioni supportate:
-
aws– RegioniAWS -
aws-cn: regioni Cina -
aws-us-gov– RegioniAWS GovCloud (US)
-
service-
Il namespace del servizio che identifica il prodotto AWS.
region-
Il codice della regione. Ad esempio,
us-east-2per Stati Uniti orientali (Ohio). Per un elenco dei codici delle regioni, consulta Endpoint regionali nella Riferimenti generali di AWS. account-id-
L'ID dell'account AWS proprietario della risorsa, senza trattini. Ad esempio,
123456789012. resource-type-
Il tipo di risorsa. Ad esempio,
vpcper un cloud privato virtuale (VPC). resource-id-
L'identificatore di risorsa. Si tratta del nome della risorsa, dell'ID della risorsa o del percorso della risorsa. Alcuni identificatori delle risorse includono una risorsa padre (sub-resource-type/parent-resource/sub-resource) o un qualificatore, ad esempio una versione (resource-type:resource-name:qualifier).
Esempi
- Utente IAM
-
arn:aws:iam::
123456789012:user/john - Argomento SNS
-
arn:aws:sns:
us-east-1:123456789012:example-sns-topic-name - VPC
-
arn:aws:ec2:
us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE
Ricerca del formato dell'ARN per una risorsa
Il formato esatto di un ARN dipende dal servizio e dal tipo di risorsa. Alcuni ARN di risorse possono includere un percorso, una variabile o un carattere jolly. Per ricercare il formato dell'ARN per una risorsa AWS specifica, apri Service Authorization Reference, apri la pagina del servizio e passa alla tabella dei tipi di risorse.
Percorsi negli ARN
Alcuni ARN delle risorse possono includere un percorso. Ad esempio, in Amazon S3, l'identificatore di risorsa è un nome oggetto che può includere barre in avanti (/) per creare un percorso. Allo stesso modo, anche i nomi utente e i nomi di gruppo IAM possono includere percorsi. Nei percorsi IAM sono consentiti solo caratteri alfanumerici e i seguenti caratteri: barra obliqua (/), segno del più (+), segno dell'uguale (=), virgola (,), punto (.) chiocciola (@) trattino basso (_) e trattino (-).
Utilizzo di caratteri jolly nei percorsi
I percorsi possono includere un carattere jolly, vale a dire un asterisco (*). Alcuni elementi della policy consentono l'uso di caratteri jolly, mentre altri no. È possibile utilizzare i caratteri jolly per gli elementi Resource o NotResource ma non per gli elementi Principal o NotPrincipal. Per ulteriori informazioni, consulta Riferimento alla policy JSON IAM.
È possibile specificare role/* per indicare tutti i ruoli nell'account 123456789012, come nel seguente esempio:
arn:aws:iam::123456789012:role/*
Inoltre, è possibile terminare il nome di una risorsa con un carattere jolly. Ad esempio, puoi specificare service-* per indicare tutti i ruoli che iniziano con service e terminano con caratteri diversi come service-role1 o service-test:
arn:aws:iam::123456789012:role/service-*
Il seguente esempio mostra gli ARN per gli oggetti in un bucket Amazon S3 in cui il nome della risorsa include un percorso. L'ARN arn:aws:s3:::amzn-s3-demo-bucket/* è per tutti gli oggetti all'interno di quel bucket, indipendentemente dal prefisso. L'ARN arn:aws:s3:::amzn-s3-demo-bucket/ è per tutti gli oggetti creati all'interno del prefisso Development/*/Development/.
Puoi anche usare il carattere jolly ? per specificare un carattere in un ARN. Ad esempio, è possibile utilizzare il seguente ARN per tutte le cartelle che iniziano con quattro caratteri e terminano in -test nel bucket S3 denominato amzn-s3-demo-bucket. Alcune cartelle che potrebbero corrispondere a questo includono 1234-test, 2024-test o a100-test.
arn:aws:s3:::amzn-s3-demo-bucket/????-test
Puoi anche usare i caratteri jolly nelle diverse sezioni di un ARN, delimitate da due punti “:“. Nell'esempio seguente, vengono utilizzati due caratteri jolly per abbinare tutte le applicazioni e le risorse Amazon Q all'interno delle applicazioni in tutte le Regioni per l'account 123456789012:
arn:aws:qbusiness:*:123456789012:*
Analogamente, l'esempio seguente corrisponde a tutti i VPC Amazon in tutte le Regioni per l'account 123456789012:
arn:aws:ec2:*:123456789012:vpc/*
L'esempio seguente esegue la corrispondenza di tutti i volumi Amazon EBS in tutte le Regioni per l'account 123456789012:
arn:aws:ec2:*:123456789012:volume/*
Limitazioni all'utilizzo dei caratteri jolly all'interno degli ARN
Non è possibile utilizzare un carattere jolly nella porzione di ARN che specifica il tipo di risorsa. L'ARN di esempio seguente con un carattere jolly all'interno del tipo di risorsa non è valido:
arn:aws:lambda:us-east-2:123456789012:functi*:my-function <== not allowed
Nota
Quando si specifica un ARN incompleto (uno con meno di sei campi standard) in una policy basata sull'identità, AWS completa automaticamente l'ARN aggiungendo caratteri jolly (*) a tutti i campi mancanti. Ad esempio, specificare arn:aws:sqs è equivalente a arn:aws:sqs:*:*:*, il che concede l'accesso a tutte le risorse Amazon SQS in tutte le Regioni e gli account.
Inoltre, non è possibile utilizzare un carattere jolly nel prefisso ARN o avere un carattere jolly nella sezione delle partizioni di un ARN.
arn:aws:redshift:us-east-1:123456789012:? <== not allowed