Especificar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de tabela - Amazon Simple Storage Service

Especificar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de tabela

Todos os buckets da funcionalidade Tabelas do Amazon S3 têm criptografia configurada por padrão e todas as novas tabelas criadas em um bucket de tabela são automaticamente criptografadas em repouso. A criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) é a configuração de criptografia padrão para todos os buckets de diretório. Se você quiser especificar um tipo de criptografia diferente, é possível usar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS).

Você pode especificar a criptografia SSE-KMS em solicitações CreateTableBucket ou CreateTable ou definir a configuração de criptografia padrão no bucket de tabela em uma solicitação PutTableBucketEncryption.

Importante

Para permitir a manutenção automática em tabelas e buckets de tabela criptografados com SSE-KMS, você deve conceder permissão à entidade principal de serviço maintenance.s3tables.amazonaws.com para usar sua chave do KMS. Para obter mais informações, consulte Requisitos de permissão para criptografia SSE-KMS da funcionalidade Tabelas do S3.

Especificar criptografia para buckets de tabela

Você pode especificar o SSE-KMS como o tipo de criptografia padrão ao criar um bucket de tabela. Para ter exemplos, consulte Criar um bucket de tabela. Depois de criar um bucket de tabela, você pode especificar o uso do SSE-KMS como a configuração de criptografia padrão usando operações da API REST, SDKs da AWS e a AWS Command Line Interface (AWS CLI).

nota

Quando você especifica o SSE-KMS como o tipo de criptografia padrão, a chave usada para criptografia deve permitir acesso à entidade principal do serviço de manutenção da funcionalidade Tabelas do S3. Se a entidade principal do serviço de manutenção não tiver acesso, você não conseguirá criar tabelas nesse bucket de tabela. Para obter mais informações, consulte Conceder à entidade principal do serviço de manutenção da funcionalidade Tabelas do S3 permissões para sua chave do KMS .

Para usar o exemplo de comando a seguir da AWS CLI, substitua os espaços reservados para entrada do usuário por suas próprias informações.

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

Você pode remover a configuração de criptografia padrão de um bucket de tabela usando a operação de API DeleteTableBucketEncryption. Ao remover as configurações de criptografia, as novas tabelas criadas no bucket de tabela usarão a criptografia SSE-S3 padrão.

Especificar criptografia para tabelas

Você pode aplicar a criptografia SSE-KMS ao criar uma tabela usando mecanismos de consulta, operações da API REST, SDKs da AWS e a AWS Command Line Interface (AWS CLI). As configurações de criptografia que você especifica ao criar uma tabela têm precedência sobre a configuração de criptografia padrão do bucket de tabela.

nota

Ao usar a criptografia SSE-KMS para uma tabela, a chave utilizada para criptografia deve permitir que a entidade principal do serviço de manutenção da funcionalidade Tabelas do S3 a acesse. Se a entidade principal do serviço de manutenção não tiver acesso, você não conseguirá criar a tabela. Para obter mais informações, consulte Conceder à entidade principal do serviço de manutenção da funcionalidade Tabelas do S3 permissões para sua chave do KMS .

Permissões obrigatórias do

As seguintes permissões são necessárias para criar tabelas criptografadas:

  • s3tables:CreateTable

  • s3tables:PutTableEncryption

O exemplo a seguir da AWS CLI cria uma tabela com um esquema básico e a criptografa com uma chave do AWS KMS gerenciada pelo cliente. Para usar o comando, substitua os espaços reservados para entrada do usuário por suas próprias informações.

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 } ] } } }'