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à.
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
"
}]
}