Utilizzo dei bucket di tabelle gestiti da AWS
I bucket di tabelle gestiti da AWS sono bucket di tabelle specializzati di Amazon S3 progettati per archiviare tabelle gestite da AWS, come le tabelle di inventario in tempo reale e quelle del diario S3 Metadata. A differenza dei bucket di tabelle gestiti dal cliente che si creano e gestiscono direttamente, i bucket di tabelle gestiti da AWS vengono allocati automaticamente da AWS quando si configurano funzionalità che richiedono tabelle gestite da AWS. Quando vengono create, le tabelle gestite appartengono a un namespace predefinito basato sul nome del bucket di origine. Questo namespace predefinito non può essere modificato.
Ogni Account AWS ha un bucket di tabelle gestito da AWS per Regione, secondo la convenzione di denominazione aws-s3. Questo bucket funge da posizione centralizzata per tutte le tabelle gestite associate alle risorse dell’account nella Regione in uso.
La tabella seguente confronta i bucket di tabelle gestiti da AWS con i bucket di tabelle gestiti dal cliente.
| Funzionalità | Bucket di tabelle gestiti da AWS | Bucket di tabelle gestiti dal cliente |
|---|---|---|
| Creazione | Creati automaticamente da Servizi AWS | Creati manualmente |
| Denominazione | Utilizzano una convenzione di denominazione standard (aws-s3) |
I nomi vengono definiti dall’utente |
| Creazione di tabelle | Solo i Servizi AWS possono creare tabelle | Le tabelle possono essere create dall’utente |
| Controllo dei namespace | Non è possibile creare o eliminare namespace (tutte le tabelle appartengono a un namespace fisso) | I namespace possono essere creati ed eliminati dall’utente |
| Accesso | Accesso in sola lettura | Accesso completo |
| Crittografia | È possibile modificare le impostazioni di crittografia predefinite (SSE-S3) solo se la tabella iniziale è stata crittografata con una chiave AWS Key Management Service (AWS KMS) gestita dal cliente | La crittografia predefinita a livello di bucket può essere impostata e modificata in qualsiasi momento dall’utente |
| Manutenzione | Gestita da Servizi AWS | La manutenzione automatizzata a livello di bucket può essere personalizzata dall’utente |
Autorizzazioni per utilizzare i bucket di tabelle gestiti da AWS e per eseguire query sulle tabelle
Per utilizzare i bucket di tabelle gestiti da AWS, sono necessarie le autorizzazioni per creare tabelle e bucket di tabelle gestiti da AWS e per specificare le impostazioni di crittografia per le tabelle gestite da AWS. Sono inoltre necessarie le autorizzazioni per eseguire query sulle tabelle nei bucket di tabelle gestiti da AWS.
La seguente policy di esempio consente di creare un bucket di tabelle gestito da AWS tramite una configurazione di S3 Metadata:
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3tables:CreateTableBucket", "s3tables:CreateNamespace", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:PutTablePolicy" "s3tables:PutTableEncryption", "kms:DescribeKey" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }
La seguente policy di esempio consente di eseguire query sulle tabelle di bucket di tabelle gestiti da AWS:
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToQueryMetadataTables", "Effect":"Allow", "Action":[ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource":[ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*", "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef" ] } ] }
Query sulle tabelle in bucket di tabelle gestiti da AWS
È possibile eseguire query sulle tabelle gestite da AWS in bucket di tabelle gestiti da AWS utilizzando i motori e i metodi di accesso supportati da Tabelle S3. Di seguito sono riportati alcuni esempi di query.
Crittografia per i bucket di tabelle gestiti da AWS
Per impostazione predefinita, i bucket di tabelle gestiti da AWS sono crittografati con crittografia lato server utilizzando chiavi gestite da Amazon S3 (SSE-S3). Dopo aver creato il bucket di tabelle gestito da AWS, è possibile utilizzare PutTableBucketEncryption per impostare la crittografia predefinita del bucket in modo da utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS).
Durante la creazione delle tabelle gestite da AWS, è possibile scegliere di crittografarle con SSE-KMS. Se si sceglie di utilizzare SSE-KMS, è necessario fornire una chiave KMS gestita dal cliente nella stessa Regione del bucket di tabelle gestito da AWS. È possibile impostare il tipo di crittografia per le tabelle gestite da AWS solo durante la creazione della tabella. Dopo aver creato una tabella gestita da AWS, non è possibile modificarne le impostazioni di crittografia.
Se desideri che il bucket di tabelle gestito da AWS e le tabelle in esso archiviate utilizzino la stessa chiave KMS, assicurati di utilizzare la stessa chiave KMS utilizzata per crittografare le tabelle per crittografare il bucket di tabelle dopo averlo creato. Dopo aver modificato le impostazioni di crittografia predefinite per il bucket di tabelle in modo da utilizzare SSE-KMS, tali impostazioni di crittografia vengono utilizzate per tutte le future tabelle create nel bucket.