Definir permissões para configurar tabelas de metadados - Amazon Simple Storage Service

Definir permissões para configurar tabelas de metadados

Para criar uma configuração de tabela de metadados, é necessário ter as permissões do AWS Identity and Access Management (IAM) necessárias para criar e gerenciar essa configuração de tabela de metadados e para criar e gerenciar suas tabelas de metadados e o bucket de tabela em que as tabelas de metadados estão armazenadas.

Para criar e gerenciar a configuração de tabelas de metadados, você deve ter as seguintes permissões:

  • s3:CreateBucketMetadataTableConfiguration: essa permissão possibilita criar uma configuração de tabelas de metadados para o bucket de uso geral. Para criar uma configuração de tabela de metadados, são necessárias permissões adicionais, inclusive permissões da funcionalidade Tabelas do S3, conforme explicado nas seções a seguir. Para obter um resumo das permissões necessárias, consulte Permissões e operações de bucket.

  • s3:GetBucketMetadataTableConfiguration: essa permissão possibilita recuperar informações sobre a configuração de tabelas de metadados.

  • s3:DeleteBucketMetadataTableConfiguration: essa permissão possibilita excluir a configuração de tabelas de metadados.

  • s3:UpdateBucketMetadataJournalTableConfiguration: essa permissão possibilita que você atualize a configuração da tabela de diário para expirar os respectivos registros.

  • s3:UpdateBucketMetadataInventoryTableConfiguration: essa permissão possibilita que você atualize a configuração da tabela de inventário para habilitar ou desabilitar a tabela de inventário. Para atualizar uma configuração de tabela de inventário, são necessárias permissões adicionais, inclusive permissões da funcionalidade Tabelas do S3. Para obter uma lista das permissões necessárias, consulte Permissões e operações de bucket.

    nota

    As permissões s3:CreateBucketMetadataTableConfiguration, s3:GetBucketMetadataTableConfiguration e s3:DeleteBucketMetadataTableConfiguration são usadas para configurações do S3 Metadata V1 e V2. Para a V2, os nomes das operações de API correspondentes são CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration e DeleteBucketMetadataConfiguration.

Para criar e trabalhar com tabelas e buckets de tabela, é necessário ter determinadas permissões s3tables. No mínimo, para criar uma configuração de tabelas de metadados, você deve ter as seguintes permissões s3tables:

  • s3tables:CreateTableBucket: essa permissão possibilita que você crie um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS denominado aws-s3. Para ter mais informações, consulte Como funcionam as tabelas de metadados e Trabalhar com buckets de tabela gerenciados pela AWS.

  • s3tables:CreateNamespace: essa permissão possibilita criar um namespace em um bucket de tabela. As tabelas de metadados normalmente usam o namespace b_general_purpose_bucket_name. Para ter mais informações sobre namespaces de tabela de metadados, consulte Como funcionam as tabelas de metadados.

  • s3tables:CreateTable: essa permissão possibilita que você crie tabelas de metadados.

  • s3tables:GetTable: essa permissão possibilita que você recupere informações sobre suas tabelas de metadados.

  • s3tables:PutTablePolicy: essa permissão possibilita que você adicione ou atualize as políticas da tabela de metadados.

  • s3tables:PutTableEncryption: essa permissão possibilita que você defina a criptografia do lado do servidor para suas tabelas de metadados. Permissões adicionais serão necessárias se você quiser criptografar suas tabelas de metadados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Para ter mais informações, consulte Permissões para SSE-KMS.

  • kms:DescribeKey: essa permissão possibilita que você recupere informações sobre a chave do KMS.

Para ter informações detalhadas sobre todas as permissões de tabelas e de buckets de tabela, consulte Access management for S3 Tables.

Importante

Se você também quiser integrar o bucket de tabela com os serviços de analytics da AWS para poder consultar a tabela de metadados, precisará de permissões adicionais. Para ter mais informações, consulte Integrating Amazon S3 Tables with AWS analytics services.

Permissões para SSE-KMS

Para criptografar tabelas de metadados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), você deve ter outras permissões.

  1. O usuário ou o perfil do AWS Identity and Access Management (IAM) precisa das permissões a seguir. Você pode conceder essas permissões no console do IAM: https://console.aws.amazon.com/iam/.

    1. s3tables:PutTableEncryption para configurar a criptografia de tabelas.

    2. kms:DescribeKey na chave usada do AWS KMS.

  2. Na política de recursos para a chave do KMS, você precisa das permissões a seguir. Você pode conceder essas permissões no console do AWS KMS: https://console.aws.amazon.com/kms.

    1. Conceder a permissão kms:GenerateDataKey a metadata.s3.amazonaws.com e a maintenance.s3tables.amazonaws.com.

    2. Conceder a permissão kms:Decrypt a metadata.s3.amazonaws.com e a maintenance.s3tables.amazonaws.com.

    3. Conceder a permissão kms:DescribeKey à entidade principal invocadora da AWS.

Além dessas permissões, a chave do KMS gerenciada pelo cliente usada para criptografar as tabelas ainda deve existir, estar ativa e estar na mesma região do bucket de uso geral.

Exemplo de política

Para criar e trabalhar com tabelas de metadados e buckets de tabela, você pode usar o exemplo de política a seguir. Nesta política, o bucket de uso geral ao qual você está aplicando a configuração de tabelas de metadados é chamado de amzn-s3-demo-bucket. Para usar essa política, substitua os user input placeholders por suas próprias informações.

Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS denominado aws-s3.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PermissionsToWorkWithMetadataTables", "Effect": "Allow", "Action": [ "s3:CreateBucketMetadataTableConfiguration", "s3:GetBucketMetadataTableConfiguration", "s3:DeleteBucketMetadataTableConfiguration", "s3:UpdateBucketMetadataJournalTableConfiguration", "s3:UpdateBucketMetadataInventoryTableConfiguration", "s3tables:*", "kms:DescribeKey" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }

Para consultar tabelas de metadados, você pode usar a política de exemplo a seguir. Se as tabelas de metadados tiverem sido criptografadas com SSE-KMS, você precisará da permissão kms:Decrypt, conforme mostrado. Para usar essa política, substitua os user input placeholders por suas próprias informações.

JSON
{ "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/*" ] } ] }