Trabalhar com buckets de tabela gerenciados pela AWS
Os buckets de tabela gerenciados pela AWS são buckets de tabela especializados do Amazon S3 projetados para armazenar tabelas gerenciadas pela AWS, como tabelas do S3 Metadata, de diário e de inventário em tempo real. Diferentemente dos buckets de tabela gerenciados pelo cliente, que você cria e gerencia diretamente, os buckets de tabela gerenciados pela AWS são provisionados automaticamente pela AWS quando você configura recursos que exigem tabelas gerenciadas pela AWS. Quando as tabelas gerenciadas são criadas, elas pertencem a um namespace predefinido com base no nome do bucket de origem. Esse namespace predefinido não pode ser modificado.
Cada Conta da AWS tem um bucket de tabela gerenciado pela AWS por região, seguindo a convenção de nomenclatura aws-s3. Esse bucket serve como um local centralizado para todas as tabelas gerenciadas associadas aos recursos da sua conta nessa região.
A tabela a seguir compara os buckets de tabela gerenciados pela AWS com os buckets de tabela gerenciados pelo cliente.
| Recurso | Buckets de tabela gerenciados pela AWS | Buckets de tabela gerenciados pelo cliente |
|---|---|---|
| Criação | Criados automaticamente por Serviços da AWS. | Você os cria manualmente. |
| Nomenclatura | Usam uma convenção de nomenclatura padrão (aws-s3). |
Você define seus próprios nomes. |
| Criação de tabela | Só Serviços da AWS podem criar tabelas. | Você pode criar tabelas. |
| Controle de namespace | Não é possível criar ou excluir namespaces (todas as tabelas pertencem a um namespace fixo). | Você pode criar e excluir namespaces. |
| Acesso da | Acesso somente leitura. | Acesso total. |
| Criptografia | Você pode alterar as configurações de criptografia padrão (SSE-S3) somente se tiver criptografado a tabela inicial com uma chave do AWS Key Management Service (AWS KMS) gerenciada pelo cliente. | Você pode definir a criptografia padrão em nível de bucket e modificá-la a qualquer momento. |
| Manutenção | Gerenciado pela Serviços da AWS | É possível personalizar a manutenção automatizada em nível de bucket. |
Permissões para trabalhar com buckets de tabela gerenciados pela AWS para consultar tabelas
Para trabalhar com buckets de tabela gerenciados pela AWS, você precisa de permissões para criar buckets de tabela e tabelas gerenciados pela AWS e especificar configurações de criptografia para tabelas gerenciadas pela AWS. Você também precisa de permissões para consultar as tabelas em seus buckets de tabela gerenciados pela AWS.
A seguinte política de exemplo permite que você crie um bucket de tabela gerenciado pela AWS por meio de uma configuração do 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" ] } ] }
A seguinte política de exemplo permite que você consulte tabelas em buckets de tabela gerenciados pela 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" ] } ] }
Consultar tabelas em buckets de tabela gerenciados pela AWS
Você pode consultar tabelas gerenciadas pela AWS em buckets de tabela gerenciados pela AWS usando métodos e mecanismos de acesso compatíveis com a funcionalidade Tabelas do S3. A seguir são apresentados alguns exemplos de consulta.
Criptografia para buckets de tabela gerenciados pela AWS
Por padrão, os buckets de tabela gerenciados pela AWS são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3). Depois de criar o bucket de tabela gerenciado pela AWS, você poderá usar PutTableBucketEncryption para definir a configuração de criptografia padrão do bucket como criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS).
Durante a criação de tabelas gerenciadas pela AWS, você pode optar por criptografá-las com o SSE-KMS. Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de tabela gerenciado pela AWS. Você pode definir o tipo de criptografia de uma tabela gerenciada pela AWS somente ao criar a tabela. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia.
Se você quiser que o bucket de tabela AWS gerenciado e as tabelas armazenadas nele usem a mesma chave KMS, certifique-se de usar a mesma chave KMS que você usou para criptografar suas tabelas para criptografar o bucket de tabela depois de criado. Depois de alterar as configurações de criptografia padrão do bucket de tabelas para usar SSE-KMS, essas configurações de criptografia serão usadas para qualquer tabela futura criada no bucket.