Gerenciamento de acesso para a funcionalidade Tabelas do S3
Na funcionalidade Tabelas do S3, os recursos incluem buckets de tabela e as tabelas contidas neles. O usuário-raiz da Conta da AWS que criou o recurso (proprietário do recurso) e os usuários do AWS Identity and Access Management (IAM) dentro dessa conta que têm as permissões necessárias podem acessar um recurso que eles criaram. O proprietário do recurso especifica quem mais pode acessar o recurso e as ações que podem realizar no recurso. O Amazon S3 tem várias ferramentas de gerenciamento de acesso que você pode usar para conceder a outros usuários acesso aos recursos do S3. Os tópicos a seguir fornecem uma visão geral dos recursos, das ações do IAM e das chaves de condição para a funcionalidade Tabelas do S3. Também apresentam exemplos de políticas baseadas em recurso e em identidade para a funcionalidade Tabelas do S3.
Tópicos
Recursos
Os recursos da funcionalidade Tabelas do S3 incluem buckets de tabela e as tabelas contidas neles.
Buckets de tabela: os buckets de tabela são projetados especificamente para tabelas e fornecem quantidades mais altas de transações por segundo (TPS) e melhor throughput de consultas em comparação com as tabelas autogerenciadas em buckets de uso geral do S3. Os buckets de tabela oferecem as mesmas características de durabilidade, disponibilidade, escalabilidade e performance dos buckets de uso geral do Amazon S3.
Tabelas: as tabelas nos buckets de tabela são armazenadas no formato Apache Iceberg. Você pode consultar essas tabelas usando SQL padrão em mecanismos de consulta compatíveis com Iceberg.
Os nomes de recursos da Amazon (ARNs) para tabelas e buckets de tabela contêm o namespace s3tables
, a Região da AWS, o ID da Conta da AWS e o nome do bucket. Para acessar e executar ações nas tabelas e nos buckets de tabela, você deve usar os seguintes formatos de ARN:
-
Formato do ARN de tabela:
arn:aws:s3tables:
us-west-2
:111122223333
:bucket/amzn-s3-demo-bucket
/table/demo-tableID
Ações para a funcionalidade Tabelas do S3
Em uma política baseada em identidade ou em recurso, defina quais ações da funcionalidade Tabelas do S3 são permitidas ou negadas para entidades principais do IAM específicas. As ações de tabelas correspondem às operações de API ao nível do bucket e da tabela. Todas as ações fazem parte de um namespace do IAM exclusivo: s3tables
.
Ao usar uma ação em uma política, você geralmente permite ou nega acesso à operação de API com o mesmo nome. No entanto, em alguns casos, uma única ação controla o acesso a mais de uma operação de API. Por exemplo, as ações s3tables:GetTableData
incluem permissões para as operações de API GetObject
, ListParts
e ListMultiparts
.
Veja a seguir as ações compatíveis com buckets de tabela. Você pode especificar as ações a seguir no elemento Action
de uma política do IAM ou de recurso.
Ação | Descrição | Nível de acesso | Acesso entre contas |
---|---|---|---|
s3tables:CreateTableBucket |
Concede permissões para criar um bucket de tabela. | Write |
Não |
s3tables:GetTableBucket |
Concede permissão para recuperar o ARN do bucket de tabela, o nome do bucket de tabela e a data de criação. | Write |
Sim |
s3tables:ListTableBuckets |
Concede permissão para listar todos os buckets de tabela da conta. | Read |
Não |
s3tables:CreateNamespace |
Concede permissão para criar um namespace em um bucket de tabela. | Read |
Sim |
s3tables:GetNamespace |
Concede permissão para recuperar os detalhes de um namespace. | Read |
Sim |
s3tables:ListNamespaces |
Concede permissão para listar todos os namespaces no bucket de tabela. | Read |
Sim |
s3tables:DeleteNamespace |
Concede permissão para excluir um namespace em um bucket de tabela. | Write |
Sim |
s3tables:DeleteTableBucket |
Concede permissão para excluir o bucket. | Write |
Sim |
s3tables:PutTableBucketPolicy |
Concede permissão para adicionar ou substituir uma política de bucket. | Permissions Management |
Não |
s3tables:GetTableBucketPolicy |
Concede permissão para recuperar a política de bucket. | Read |
Não |
s3tables:DeleteTableBucketPolicy |
Concede permissão para excluir a política do bucket. | Permissions Management |
Não |
s3tables:GetTableBucketMaintenanceConfiguration |
Concede permissão para recuperar a configuração de manutenção de um bucket de tabela. | Read |
Sim |
s3tables:PutTableBucketMaintenanceConfiguration |
Concede permissão para adicionar ou substituir a configuração de manutenção de um bucket de tabela. | Write |
Sim |
s3tables:PutTableBucketEncryption |
Concede permissão para adicionar ou substituir a configuração de criptografia de um bucket de tabela. | Write |
Não |
s3tables:GetTableBucketEncryption |
Concede permissão para recuperar a configuração de criptografia de um bucket de tabela. | Read |
Não |
s3tables:DeleteTableBucketEncryption |
Concede permissão para excluir a configuração de criptografia de um bucket de tabela. | Write |
Não |
As ações a seguir são compatíveis com tabelas:
Ação | Descrição | Nível de acesso | Acesso entre contas |
---|---|---|---|
s3tables:GetTableMaintenanceConfiguration |
Concede permissão para recuperar a configuração de manutenção de uma tabela. | Read |
Sim |
s3tables:PutTableMaintenanceConfiguration |
Concede permissão para adicionar ou substituir a configuração de manutenção de uma tabela. | Write |
Sim |
s3tables:PutTablePolicy |
Concede permissão para adicionar ou substituir uma política de tabela. | Permissions Management |
Não |
s3tables:GetTablePolicy |
Concede permissão para recuperar a política da tabela. | Read |
Não |
s3tables:DeleteTablePolicy |
Concede permissão para excluir a política da tabela. | Permissions management |
Não |
s3tables:CreateTable |
Concede permissão para criar uma tabela em um bucket de tabela. | Write |
Sim |
s3tables:GetTable |
Concede permissão para recuperar as informações de uma tabela. | Read |
Sim |
s3tables:GetTableMetadataLocation |
Concede permissão para recuperar o ponteiro-raiz da tabela (arquivo de metadados). | Read |
Sim |
s3tables:ListTables |
Concede permissão para listar todas as tabelas em um bucket de tabela. | Read |
Sim |
s3tables:RenameTable |
Concede permissões para alterar o nome de uma tabela. | Write |
Sim |
s3tables:UpdateTableMetadataLocation |
Concede permissão para atualizar o ponteiro-raiz da tabela (arquivo de metadados). | Write |
Sim |
s3tables:GetTableData |
Concede permissão para ler os metadados da tabela e os objetos de dados armazenados no bucket de tabela. | Read |
Sim |
s3tables:PutTableData |
Concede permissão para gravar os metadados da tabela e os objetos de dados armazenados no bucket de tabela. | Write |
Sim |
s3tables:GetTableEncryption |
Concede permissão para recuperar as configurações de criptografia de um bucket de tabela. | Write |
Não |
s3tables:PutTableEncryption |
Concede permissão para adicionar criptografia a uma tabela. | Write |
Não |
Para realizar ações de leitura e gravação ao nível da tabela, a funcionalidade Tabelas do S3 oferece suporte a operações de API do Amazon S3, como GetObject
e PutObject
. A tabela a seguir fornece uma lista de ações ao nível do objeto. Ao conceder permissões de leitura e gravação nas tabelas, use as ações a seguir.
Ação | APIs de objetos do S3 |
---|---|
s3tables:GetTableData |
GetObject , ListParts ,
HeadObject |
s3tables:PutTableData |
PutObject , CreateMultipartUpload ,
CompleteMultipartUpload , UploadPart ,
AbortMultipartUpload |
Por exemplo, se um usuário tiver permissões GetTableData
, ele poderá ler todos os arquivos associados à tabela, como o arquivo de metadados, o manifesto, os arquivos da lista de manifestos e os arquivos de dados parquet.
Chaves de condição para a funcionalidade Tabelas do S3
A funcionalidade Tabelas do S3 oferece suporte a chaves de contexto de condição globais da AWS.
Além disso, a funcionalidade Tabelas do S3 define as seguintes chaves de condição que você pode usar em uma política de acesso.
Chave de condição | Descrição | Tipo |
---|---|---|
s3tables:tableName |
Filtra o acesso pelos nomes das tabelas no bucket de tabela. Você pode usar a chave de condição É importante observar que, se você usar a chave de condição "s3tables:tableName":"department*" |
String |
s3tables:namespace |
Filtra o acesso pelos namespaces criados no bucket de tabela. Você pode usar a chave de condição É importante observar que, se você usar a chave de condição |
String |
s3tables:SSEAlgorithm |
Filtra o acesso pelo algoritmo de criptografia do lado do servidor usado para criptografar uma tabela. Você pode usar a chave de condição É importante observar que, se você usar a chave de condição |
String |
s3tables:KMSKeyArn |
Filtra o acesso pelo ARN da chave do AWS KMS usada para criptografar uma tabela. Você pode usar a chave de condição É importante observar que, se você usar a chave de condição |
ARN |