Conceder acesso com semântica SQL
Você pode conceder permissões às tabelas usando a semântica SQL nas políticas de tabela e de bucket de tabela. Alguns exemplos de semântica SQL que você pode usar são CREATE, INSERT, DELETE, UPDATE e ALTER. A tabela a seguir fornece uma lista de ações de API associadas à semântica SQL que você pode usar para conceder permissões aos usuários.
A funcionalidade Tabelas do S3 oferece suporte parcial às permissões usando a semântica SQL. Por exemplo, a API CreateTable cria apenas uma tabela vazia no bucket de tabela. São necessárias permissões adicionais, como UpdateTableMetadata, PutTableData e GetTableMetadataLocation, para poder definir o esquema de tabela. Essas permissões adicionais também significam que você concederá ao usuário acesso para inserir linhas na tabela. Se quiser controlar o acesso exclusivamente com base na semântica SQL, recomendamos usar AWS Lake Formation ou alguma outra solução de terceiros integrada à funcionalidade Tabelas do S3.
| Atividade ao nível da tabela | Ações do IAM |
|---|---|
SELECT |
s3tables:GetTableData,
s3tables:GetTableMetadataLocation |
CREATE |
s3tables:CreateTable,
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation, |
INSERT |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation |
UPDATE |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation |
ALTER,RENAME |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation,
s3tables:RenameTable
|
DELETE,DROP |
s3tables:DeleteTable,
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation
|
nota
A permissão s3tables:DeleteTable é obrigatória para excluir uma tabela de um bucket de tabela. Essa permissão possibilita que você remova permanentemente uma tabela e todos os respectivos dados e metadados. Use essa permissão com cuidado, pois a operação de exclusão não pode ser desfeita.