Políticas de catálogo de dados de exemplo
Esta seção inclui exemplos de políticas que você pode usar para habilitar várias ações nos catálogos de dados.
Um catálogo de dados é um recurso do IAM gerenciado pelo Athena. Portanto, se sua política de catálogo de dados usa ações que usam o datacatalog
como uma entrada, especifique o ARN do catálogo de dados da seguinte maneira:
"Resource": [arn:aws:athena:
<region>
:<user-account>
:datacatalog/<datacatalog-name>
]
O <datacatalog-name>
é o nome do seu catálogo de dados. Por exemplo, para um catálogo de dados chamado test_datacatalog
, especifique-o como um recurso da seguinte forma:
"Resource": ["arn:aws:athena:us-east-1:123456789012:datacatalog/test_datacatalog"]
Para obter uma lista completa de ações do Amazon Athena, consulte os nomes das ações de API na Referência de API do Amazon Athena. Para obter mais informações sobre as políticas do IAM, consulte Criar políticas com o editor visual no Guia do usuário do IAM. Para obter mais informações sobre como criar políticas do IAM para grupos de trabalho, consulte Controlar o acesso a catálogos de dados com políticas do IAM.
exemplo Exemplo de política para acesso total a todos os catálogos de dados
A seguinte política permite acesso total a todos os recursos do catálogo de dados que podem existir na conta. Recomendamos que você use essa política para os usuários da sua conta que devem administrar e gerenciar catálogos de dados para todos os outros usuários.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "athena:*" ], "Resource":[ "*" ] } ] }
exemplo Exemplo de política para acesso total a um catálogo de dados especificado
A seguinte política permite acesso total ao único recurso específico do catálogo de dados, denominado datacatalogA
. Você pode usar essa política para os usuários com controle total sobre um determinado catálogo de dados.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "athena:ListDataCatalogs", "athena:ListWorkGroups", "athena:GetDatabase", "athena:ListDatabases", "athena:ListTableMetadata", "athena:GetTableMetadata" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "athena:StartQueryExecution", "athena:GetQueryResults", "athena:DeleteNamedQuery", "athena:GetNamedQuery", "athena:ListQueryExecutions", "athena:StopQueryExecution", "athena:GetQueryResultsStream", "athena:ListNamedQueries", "athena:CreateNamedQuery", "athena:GetQueryExecution", "athena:BatchGetNamedQuery", "athena:BatchGetQueryExecution", "athena:DeleteWorkGroup", "athena:UpdateWorkGroup", "athena:GetWorkGroup", "athena:CreateWorkGroup" ], "Resource":[ "arn:aws:athena:us-east-1:123456789012:workgroup/*" ] }, { "Effect":"Allow", "Action":[ "athena:CreateDataCatalog", "athena:DeleteDataCatalog", "athena:GetDataCatalog", "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDatabases", "athena:ListTableMetadata", "athena:UpdateDataCatalog" ], "Resource":"arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA" } ] }
exemplo Exemplo de política para consulta em um catálogo de dados especificado
Na política a seguir, um usuário tem permissão para executar consultas no datacatalogA
especificado. O usuário não tem permissão para executar tarefas de gerenciamento para o próprio catálogo de dados, como atualizá-lo ou excluí-lo.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "athena:StartQueryExecution" ], "Resource":[ "arn:aws:athena:us-east-1:123456789012:workgroup/*" ] }, { "Effect":"Allow", "Action":[ "athena:GetDataCatalog" ], "Resource":[ "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA" ] } ] }
exemplo Exemplo de política para operações de gerenciamento em um catálogo de dados especificado
Na política a seguir, o usuário tem permissão para criar, excluir, obter detalhes e atualizar um catálogo de dados datacatalogA
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:CreateDataCatalog", "athena:GetDataCatalog", "athena:DeleteDataCatalog", "athena:UpdateDataCatalog" ], "Resource": [ "arn:aws:athena:us-east-1:123456789012:datacatalog/datacatalogA" ] } ] }
exemplo Exemplo de política para listagem de catálogos de dados
A política a seguir permite que todos os usuários listem todos os catálogos de dados:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:ListDataCatalogs" ], "Resource": "*" } ] }
exemplo Exemplo de política para operações de metadados em catálogos de dados
A política a seguir permite operações de metadados em catálogos de dados:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "athena:GetDatabase", "athena:GetTableMetadata", "athena:ListDatabases", "athena:ListTableMetadata" ], "Resource": "*" } ] }