Utilizzo di tag con i bucket di directory S3 - Amazon Simple Storage Service

Utilizzo di tag con i bucket di directory S3

Un tag AWS è una coppia chiave-valore che contiene i metadati sulle risorse, in questo caso bucket di directory Amazon S3. È possibile applicare i tag ai bucket di directory S3 al momento della creazione o gestire i tag sui bucket di directory esistenti. Per informazioni generali sui tag, consulta Tagging per l’allocazione dei costi o il controllo degli accessi basato su attributi (ABAC).

Nota

Non sono previsti costi aggiuntivi per l’utilizzo dei tag sui bucket di directory oltre alle tariffe di richiesta API S3 standard. Per ulteriori informazioni, consulta Prezzi di Amazon S3.

Metodi comuni per utilizzare i tag con i bucket di directory

Si utilizzano i tag nei bucket di directory S3 per:

  1. Allocazione dei costi: monitorare i costi di archiviazione in base al tag del bucket in Gestione dei costi e fatturazione AWS. Per ulteriori informazioni, consultare Utilizzo dei tag per l’allocazione dei costi.

  2. Controllo degli accessi basato su attributi (ABAC): scalare le autorizzazioni di accesso e fornire l’accesso ai bucket di directory S3 in base ai loro tag. Per ulteriori informazioni, consulta Utilizzo dei tag per ABAC.

Nota

È possibile utilizzare gli stessi tag sia per l’allocazione dei costi che per il controllo degli accessi.

ABAC per bucket di directory S3

I bucket di directory Amazon S3 supportano il controllo degli accessi basato su attributi (ABAC) con tag. Utilizza le chiavi di condizione basate su tag nelle policy di organizzazioni AWS, IAM e bucket di directory S3. Per le aziende, ABAC in Amazon S3 supporta l’autorizzazione su più account AWS.

Nelle policy IAM, è possibile controllare l’accesso ai bucket di directory S3 in base ai tag del bucket utilizzando le seguenti chiavi di condizione globali:

  • aws:ResourceTag/key-name

    • Utilizzare questa chiave per confrontare la coppia chiave-valore del tag specificata nella policy con la coppia chiave-valore associata alla risorsa. Ad esempio, puoi richiedere che l'accesso a una risorsa sia consentito solo se la risorsa dispone di una chiave di tag Dept collegata al valore Marketing. Per ulteriori informazioni, consulta Controllo dell'accesso alle risorse AWS.

  • aws:RequestTag/key-name

    • Utilizzare questa chiave per confrontare la coppia chiave-valore del tag passata nella richiesta con la coppia del tag specificata nella policy. Ad esempio, è possibile controllare che la richiesta includa la chiave del tag Dept e che abbia il valore Accounting. Per ulteriori informazioni, consulta Controllo dell’accesso durante le richieste AWS. È possibile utilizzare questa chiave di condizione per limitare quali coppie chiave-valore di tag possono essere passate durante le operazioni API TagResource e CreateBucket.

  • aws:TagKeys

    • Utilizzare questa chiave per confrontare le chiavi dei tag in una richiesta con quelle specificate nella policy. Nell'utilizzo delle policy per controllare gli accessi tramite tag, è consigliabile utilizzare la chiave di condizione aws:TagKeys per definire le chiavi di tag ammesse. Per esempi di policy e ulteriori informazioni, consulta Controllo dell’accesso in base alle chiavi di tag. È possibile creare un bucket di directory S3 con tag. Per consentire il tagging durante l’operazione API CreateBucket, è necessario creare una policy che comprende entrambe le azioni s3express:TagResource e s3express:CreateBucket. È quindi possibile utilizzare la chiave di condizione aws:TagKeys per implementare nella richiesta CreateBucket specifici tag.

  • s3express:BucketTag/tag-key

    • Utilizzare questa chiave di condizione per fornire le autorizzazioni a dati specifici in bucket di directory con tag. Quando si accede a un bucket di directory utilizzando un punto di accesso, questa chiave di condizione fa riferimento ai tag del bucket di directory durante l’autorizzazione del punto di accesso e del bucket di directory, mentre aws:ResourceTag/tag-key fa riferimento solo ai tag della risorsa per cui viene autorizzata.

Esempi di policy ABAC per bucket di directory

Di seguito sono riportati esempi di policy ABAC per i bucket di directory Amazon S3.

1.1 - Policy IAM per creare o modificare bucket con tag specifici

In questa policy IAM, gli utenti o i ruoli con questa policy possono creare bucket di directory S3 solo se applicano ai bucket i tag con la chiave di tag project e il valore di tag Trinity nella richiesta di creazione del bucket. Possono anche aggiungere o modificare i tag sui bucket di directory S3 esistenti, purché la richiesta TagResource includa la coppia chiave-valore project:Trinity del tag. Questa policy non fornisce autorizzazioni di lettura, scrittura o eliminazione sui bucket o sui relativi oggetti.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateBucketWithTags", "Effect": "Allow", "Action": [ "s3express:CreateBucket", "s3express:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }

1.2 - Policy di bucket per limitare le operazioni sul bucket con tag

In questa policy di bucket, i principali IAM (utenti e ruoli) possono eseguire operazioni utilizzando l’azione CreateSession sul bucket solo se il valore del tag project del bucket corrisponde al valore del tag project del principale.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3express:CreateSession", "Resource": "arn:aws::s3express:us-west-2:111122223333:bucket/amzn-s3-demo-bucket--usw2-az1--x-s3", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }

1.3 - Policy IAM per modificare i tag sulle risorse esistenti mantenendo la governance dei tag

In questa policy IAM, i principali IAM (utenti o ruoli) possono modificare i tag su un bucket solo se il valore del tag project del bucket corrisponde al valore del tag project del principale. Solo i quattro tag project, environment, owner e cost-center specificati nelle chiavi di condizione aws:TagKeys sono consentiti per questi bucket di directory. Ciò aiuta a rafforzare la governance dei tag, impedisce modifiche non autorizzate dei tag e mantiene lo schema di tagging coerente tra i bucket.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3express:TagResource" ], "Resource": "arn:aws::s3express:us-west-2:111122223333:bucket/*", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "project", "environment", "owner", "cost-center" ] } } } ] }

1.4 - Utilizzo della chiave di condizione s3express:BucketTag

In questa policy IAM, l’istruzione di condizione consente l’accesso ai dati del bucket solo se il bucket ha la chiave di tag Environment e il valore di tag Production.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSpecificAccessPoint", "Effect": "Allow", "Action": "*", "Resource": "arn:aws::s3express:us-west-2:111122223333:accesspoint/*", "Condition": { "StringEquals": { "s3express:BucketTag/Environment": "Production" } } } ] }

Gestione dei tag per bucket di directory

È possibile aggiungere o gestire tag per bucket di directory S3 utilizzando la console Amazon S3, l’Interfaccia della linea di comando AWS (AWS CLI), gli AWS SDK o le API S3 TagResource, UntagResource e ListTagsForResource. Per ulteriori informazioni, consultare: