Utilizzo di tag con punti di accesso S3 per bucket per uso generico
Un tag AWS è una coppia chiave-valore che contiene i metadati sulle risorse, in questo caso Punti di accesso Amazon S3. È possibile applicare i tag ai punti di accesso al momento della creazione o gestire i tag dei punti di accesso 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 punti di accesso oltre alle tariffe di richiesta API S3 standard. Per ulteriori informazioni, consulta Prezzi di Amazon S3
Metodi comuni per utilizzare i tag con i punti di accesso
Controllo degli accessi basato su attributi (ABAC) consente di scalare le autorizzazioni di accesso e fornire l’accesso ai punti di accesso in base ai tag. Per ulteriori informazioni su ABAC in Amazon S3, consulta Utilizzo dei tag per ABAC.
ABAC per Punti di accesso S3
Punti di accesso Amazon S3 supporta il controllo degli accessi basato su attributi (ABAC) tramite tag. Utilizza le chiavi di condizione basate su tag nelle policy di organizzazioni AWS, IAM e Punti di accesso. Per le aziende, ABAC in Amazon S3 supporta l’autorizzazione su più account AWS.
Nelle policy IAM, è possibile controllare l’accesso ai punti di accesso in base ai tag dei punti di accesso utilizzando le seguenti chiavi di condizione globali:
-
aws:ResourceTag/key-nameImportante
La chiave di condizione
aws:ResourceTagpuò essere utilizzata solo per le azioni S3 eseguite tramite l’ARN di un punto di accesso per bucket per uso generico e copre solo i tag del punto di accesso sottostante.-
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
Deptcollegata al valoreMarketing. 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
Depte che abbia il valoreAccounting. 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 APITagResourceeCreateAccessPoint.
-
-
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:TagKeysper 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 punto di accesso con tag. Per consentire il tagging durante l’operazione APICreateAccessPoint, è necessario creare una policy che comprende entrambe le azionis3:TagResourcees3:CreateAccessPoint. È quindi possibile utilizzare la chiave di condizioneaws:TagKeysper implementare nella richiestaCreateAccessPointspecifici tag.
-
-
s3:AccessPointTag/tag-key-
Utilizzare questa chiave di condizione per fornire le autorizzazioni a dati specifici tramite punti di accesso con tag. Quando si utilizza
aws:ResourceTag/tag-keyin una policy IAM, sia il punto di accesso sia il bucket a cui punta il punto di accesso devono avere lo stesso tag perché entrambi vengono presi in considerazione durante l’autorizzazione. Per controllare l’accesso ai dati in modo specifico solo tramite il tag del punto di accesso, è possibile utilizzare la chiave di condiziones3:AccessPointTag/tag-key.
-
Esempi di policy ABAC per i punti di accesso
Di seguito sono riportati esempi di policy ABAC per Punti di accesso 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 punti di accesso solo se applicano ai punti di accesso i tag con la chiave di tag project e il valore di tag Trinity nella richiesta di creazione dei punti di accesso. Possono anche aggiungere o modificare i tag sui punti di accesso esistenti, purché la richiesta TagResource includa la coppia chiave-valore project:Trinity del tag.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAccessPointWithTags", "Effect": "Allow", "Action": [ "s3:CreateAccessPoint", "s3:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/project": [ "Trinity" ] } } } ] }
1.2 - Policy del punto di accesso per limitare le operazioni sul punto di accesso con tag
In questa policy del punto di accesso, i principali IAM (utenti e ruoli) possono eseguire operazioni utilizzando l’azione GetObject sul punto di accesso solo se il valore del tag project del punto di accesso corrisponde al valore del tag project del principale.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowObjectOperations", "Effect": "Allow", "Principal": { "AWS": "111122223333" }, "Action": "s3:GetObject", "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" } } } ] }my-access-point
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 punto di accesso solo se il valore del tag project del punto di accesso 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 punti di accesso. Ciò aiuta a rafforzare la governance dei tag, impedisce modifiche non autorizzate dei tag e mantiene lo schema di tagging coerente tra i punti di accesso.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnforceTaggingRulesOnModification", "Effect": "Allow", "Action": [ "s3:TagResource" ], "Resource": "arn:aws::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "aws:ResourceTag/project": "${aws:PrincipalTag/project}" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "my-access-pointproject", "environment", "owner", "cost-center" ] } } } ] }
1.4 - Utilizzo della chiave di condizione s3:AccessPointTag
In questa policy IAM, l’istruzione di condizione consente l’accesso ai dati del bucket se il punto di accesso 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::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
1.5 - Utilizzo di una policy di delega del bucket
In Amazon S3, è possibile delegare l’accesso o il controllo della policy di bucket S3 a un altro account AWS o a un utente o un ruolo AWS Identity and Access Management (IAM) specifico nell’altro account. La policy di bucket con delega fornisce all’altro account, utente o ruolo l’autorizzazione al bucket e ai suoi oggetti. Per ulteriori informazioni, consulta Delega delle autorizzazioni.
Se si utilizza una policy di bucket con delega, come la seguente:
{ "Version": "2012-10-17", "Statement": { "Principal": {"AWS": "*"}, "Effect": "Allow", "Action": ["s3:*"], "Resource":["arn:aws::s3:::/*", "arn:aws::s3:::amzn-s3-demo-bucketamzn-s3-demo-bucket"], "Condition": { "StringEquals" : { "s3:DataAccessPointAccount" : "111122223333" } } } }
Nella seguente policy IAM, l’istruzione condizionale consente l’accesso ai dati del bucket se il punto di accesso 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::s3:region:111122223333:accesspoint/", "Condition": { "StringEquals": { "s3:AccessPointTag/Environment": "Production" } } } ] }my-access-point
Utilizzo dei tag per i punti di accesso per bucket per uso generico
È possibile aggiungere o gestire tag dei punti di accesso 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: