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à.
Policy basate su risorse per Tabelle S3
Tabelle S3 fornisce policy basate sulle risorse per la gestione dell'accesso ai bucket delle tabelle e alle tabelle: policy dei bucket delle tabelle e policy delle tabelle. Puoi utilizzare una policy dei bucket delle tabelle per concedere le autorizzazioni di accesso all'API a livello di bucket delle tabelle, spazio dei nomi o tabella. Le autorizzazioni associate al bucket delle tabelle possono essere applicate a tutte le tabelle del bucket o solo a parte di esse, a seconda della definizione della policy. È possibile utilizzare una policy della tabella per concedere autorizzazioni a livello di tabella.
Quando riceve una richiesta, Tabelle S3 verifica innanzitutto che il richiedente disponga delle autorizzazioni necessarie. Valuta quindi tutte le policy di accesso, le policy utente e le policy basate sulle risorse pertinenti per decidere se autorizzare la richiesta (la policy dell'utente IAM, la policy del ruolo IAM, la policy del bucket di tabelle e la policy della tabella). Ad esempio, se una policy del bucket delle tabelle concede a un utente le autorizzazioni per eseguire tutte le azioni sulle tabelle nel bucket (inclusa DeleteTable
), ma una singola tabella include una policy di tabella che nega l'azione DeleteTable
a tutti gli utenti, l'utente non può eliminare la tabella.
Il seguente argomento include esempi di policy relative alle tabelle e ai bucket delle tabelle. Per usare queste policy, sostituisci user input placeholders
con le tue informazioni.
Nota
-
Ogni policy che concede autorizzazioni per modificare le tabelle deve includere autorizzazioni per consentire a
GetTableMetadataLocation
di accedere al file radice della tabella. Per ulteriori informazioni, consultaGetTableMetadataLocation
. -
Ogni volta che si esegue un'attività di scrittura o eliminazione sulla tabella, includere le autorizzazioni per
UpdateTableMetadataLocation
nella tua policy di accesso. -
È consigliabile utilizzare una policy del bucket delle tabelle per regolare l'accesso alle azioni a livello di bucket e una policy della tabella per regolare l'accesso alle azioni a livello di tabella. Nei casi in cui si desidera definire lo stesso set di autorizzazioni su più tabelle, è consigliabile utilizzare una policy del bucket delle tabelle.
Esempio 1: la policy del bucket delle tabelle consente l'accesso a PutBucketMaintenanceConfiguration
per i bucket in un account
La seguente policy esemplificativa del bucket delle tabelle consente all'data steward
di IAM di eliminare gli oggetti senza riferimento per tutti i bucket di un account consentendo l'accesso a PutBucketMaintenanceConfiguration
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_id
:role/datasteward" }, "Action": ["s3tables:PutTableBucketMaintenanceConfiguration”], "Resource":"arn:aws:s3tables:region:account_id
:bucket/*” }] }
Esempio 2: policy Table bucket per consentire l'accesso in lettura (SELECT) alle tabelle archiviate nel hr
namespace
Di seguito è riportato un esempio di policy table bucket che consente a Jane, un utente di Account AWS ID, di accedere 123456789012
alle tabelle memorizzate nel hr
namespace in un table bucket.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "Principal": { "AWS": "arn:aws:iam::123456789012:user/Jane" }, "Action": [ "s3tables:GetTableData", "s3tables:GetTableMetadataLocation" ], "Resource":{ "arn:aws:s3tables:
region
:account_id
:bucket/amzn-s3-demo-bucket1
/table/*”} "Condition": { "StringLike": { "s3tables:namespace": "hr" } } ] }
Esempio 3: policy della tabella per consentire all'utente di eliminare una tabella
Il seguente esempio di policy di tabella consente al ruolo IAM di data steward
di eliminare una tabella.
{ "Version": "2012-10-17", "Id": "DeleteTable", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account_id
:role/datasteward
" }, "Action": [ "s3tables:DeleteTable", "s3tables:UpdateTableMetadataLocation", "s3tables:PutTableData", "s3tables:GetTableMetadataLocation" ], "Resource":"arn:aws:s3tables:region
:account_id
:bucket/amzn-s3-demo-bucket1
/table/tableUUID
" }] }