Specifica della crittografia lato server con chiavi AWS KMS (SSE-KMS) in bucket di tabelle
Tutti i bucket di tabelle Amazon S3 hanno la crittografia configurata per impostazione predefinita e tutte le nuove tabelle create in un bucket di tabelle vengono automaticamente crittografate quando sono a riposo. La crittografia lato server con le chiavi gestite da Amazon S3 (SSE-S3) è la configurazione di crittografia predefinita per ogni bucket di tabelle. Per specificare un tipo di crittografia diverso, è possibile utilizzare la crittografia lato server con chiavi AWS Key Management Service (AWS KMS) (SSE-KMS).
È possibile specificare la crittografia SSE-KMS nelle richieste CreateTableBucket or CreateTable oppure impostare la configurazione di crittografia predefinita nel bucket di tabelle di una richiesta PutTableBucketEncryption.
Importante
Per consentire la manutenzione automatica delle tabelle e dei bucket di tabelle crittografati SSE-KMS, è necessario fornire al principale del servizio maintenance.s3tables.amazonaws.com l’autorizzazione per utilizzare la chiave KMS. Per ulteriori informazioni, consulta Requisiti di autorizzazione per la crittografia SSE-KMS di Tabelle S3.
Specifica della crittografia per bucket di tabelle
È possibile specificare SSE-KMS come tipo di crittografia predefinito quando si crea un nuovo bucket di tabelle, per esempi consulta Creazione di un bucket di tabelle. Dopo aver creato un bucket di tabelle, è possibile specificare l’uso di SSE-KMS come impostazione di crittografia predefinita utilizzando le operazioni REST API, AWS SDK e AWS Command Line Interface (AWS CLI).
Nota
Quando si specifica SSE-KMS come tipo di crittografia predefinito, la chiave utilizzata per la crittografia deve consentire l’accesso al principale del servizio di manutenzione di Tabelle S3. Se il principale del servizio di manutenzione non dispone dell’accesso, non sarà possibile creare tabelle in quel bucket di tabelle. Per ulteriori informazioni, consulta Concessione delle autorizzazioni per la chiave KMS al principale del servizio di manutenzione di Tabelle S3 .
Per utilizzare il seguente comando AWS CLI di esempio, sostituisci i segnaposto per l’input dell’utente con le informazioni appropriate.
aws s3tables put-table-bucket-encryption \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket; \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }' \ --region us-east-1
È possibile rimuovere l’impostazione di crittografia predefinita per un bucket di tabella utilizzando l’operazione API DeleteTableBucketEncryption. Quando si rimuovono le impostazioni di crittografia, le nuove tabelle create nel bucket di tabelle utilizzano la crittografia SSE-S3 predefinita.
Specifica della crittografia per tabelle
È possibile applicare la crittografia SSE-KMS a una nuova tabella quando viene creata utilizzando motori di query, operazioni REST API, AWS SDK e AWS Command Line Interface (AWS CLI). Le impostazioni di crittografia specificate durante la creazione di una tabella hanno la precedenza sull’impostazione di crittografia predefinita del bucket di tabelle.
Nota
Quando si utilizza la crittografia SSE-KMS per una tabella, la chiave utilizzata per la crittografia deve consentire l’accesso al principale del servizio di manutenzione di Tabelle S3. Se il principale del servizio di manutenzione non dispone dell’accesso, non sarà possibile creare la tabella. Per ulteriori informazioni, consulta Concessione delle autorizzazioni per la chiave KMS al principale del servizio di manutenzione di Tabelle S3 .
Autorizzazioni richieste
Per creare tabelle crittografate sono necessarie le seguenti autorizzazioni:
s3tables:CreateTables3tables:PutTableEncryption
L’esempio AWS CLI seguente crea una nuova tabella con uno schema di base e la crittografa con una chiave AWS KMS gestita dal cliente. Per utilizzare il comando, sostituisci i segnaposto inseriti dall'utente con le tue informazioni.
aws s3tables create-table \ --table-bucket-arn "arn:aws:s3tables:Region:ownerAccountId:bucket/amzn-s3-demo-table-bucket" \ --namespace "mydataset" \ --name "orders" \ --format "ICEBERG" \ --encryption-configuration '{ "sseAlgorithm": "aws:kms", "kmsKeyArn": "arn:aws:kms:Region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }'\ --metadata '{ "iceberg": { "schema": { "fields": [ { "name": "order_id", "type": "string", "required": true }, { "name": "order_date", "type": "timestamp", "required": true }, { "name": "total_amount", "type": "decimal(10,2)", "required": true } ] } } }'