Revisar as permissões do IAM necessárias para o usuário do AWS Glue Studio - AWS Glue

Revisar as permissões do IAM necessárias para o usuário do AWS Glue Studio

Para usar AWS Glue Studio, o usuário deve ter acesso a vários recursos da AWS. O usuário deve ser capaz de visualizar e selecionar buckets do Amazon S3, políticas e funções do IAM e objetos do AWS Glue Data Catalog.

Permissões de serviço do AWS Glue

O AWS Glue Studio usa as ações e recursos do serviço do AWS Glue. Seu usuário precisa de permissões sobre essas ações e recursos para usar com eficiência o AWS Glue Studio. Você pode conceder ao usuário do AWS Glue Studio a política gerenciada AWSGlueConsoleFullAccess ou criar uma política personalizada com um conjunto menor de permissões.

Importante

De acordo com as práticas recomendadas de segurança, recomenda-se restringir o acesso enrijecendo políticas para restringir ainda mais o acesso ao bucket do Amazon S3 e grupos de logs do Amazon CloudWatch. Para obter um exemplo de política do Amazon S3, consulte Gravar políticas do IAM: como conceder acesso a um bucket do Amazon S3.

Criação de políticas do IAM personalizadas para o AWS Glue Studio

Você pode criar uma política personalizada com um conjunto menor de permissões para o AWS Glue Studio. A política pode conceder permissões para um subconjunto de objetos ou ações. Use as seguintes informações ao criar uma política personalizada.

Para usar as APIs do AWS Glue Studio, inclua glue:UseGlueStudio na política de ação em suas permissões do IAM. O uso de glue:UseGlueStudio permitirá que você acesse todas as ações do AWS Glue Studio mesmo quando mais ações forem adicionadas à API no decorrer do tempo.

Para obter mais informações sobre as ações definidas pelo AWS Glue, consulte Ações definidas pelo AWS Glue.

Preparação de dados em autoria de ações

  • SendRecipeAction

  • GetRecipeAction

Ações do gráfico acíclico dirigido (DAG)

  • CreateDag

  • UpdateDag

  • GetDag

  • DeleteDag

Ações de trabalho

  • SaveJob

  • GetJob

  • CreateJob

  • DeleteJob

  • GetJobs

  • UpdateJob

Ações de execução de trabalho

  • StartJobRun

  • GetJobRuns

  • BatchStopJobRun

  • GetJobRun

  • QueryJobRuns

  • QueryJobs

  • QueryJobRunsAggregated

Ações do esquema

  • GetSchema

  • GetInferredSchema

Ações de banco de dados

  • GetDatabases

Ações de planejamento

  • GetPlan

Ações de tabela

  • SearchTables

  • GetTables

  • GetTables

Ações de conexão

  • CreateConnection

  • DeleteConnection

  • UpdateConnection

  • GetConnections

  • GetConnection

Ações de mapeamento

  • GetMapping

Ações do proxy do S3

  • ListBuckets

  • ListObjectsV2

  • GetBucketLocation

Ações de configuração de segurança

  • GetSecurityConfigurations

Ações de script

  • CreateScript (diferente da API de mesmo nome no AWS Glue)

Acesso às APIs do AWS Glue Studio

Para acessar o AWS Glue Studio, adicione glue:UseGlueStudio na lista de políticas de ações nas permissões do IAM.

No exemplo abaixo, glue:UseGlueStudio está incluído na política de ação, mas as APIs do AWS Glue Studio não estão identificadas individualmente. Isso ocorre porque ao incluir glue:UseGlueStudio, você recebe automaticamente acesso às APIs internas sem precisar especificar as APIs individuais do AWS Glue Studio nas permissões do IAM.

No exemplo, as políticas adicionais de ação listadas (p. ex., glue:SearchTables) não são APIs do AWS Glue Studio, portanto, será necessário incluí-las nas permissões do IAM, conforme necessário. Você também pode incluir ações do Amazon S3 Proxy para especificar o nível de acesso do Amazon S3 a ser concedido. O exemplo de política abaixo fornece acesso para abrir o AWS Glue Studio, criar um trabalho visual e salvá-lo/executá-lo se o perfil do IAM selecionado tiver acesso suficiente.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "glue:UseGlueStudio", "iam:ListRoles", "iam:ListUsers", "iam:ListGroups", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "glue:SearchTables", "glue:GetConnections", "glue:GetJobs", "glue:GetTables", "glue:BatchStopJobRun", "glue:GetSecurityConfigurations", "glue:DeleteJob", "glue:GetDatabases", "glue:CreateConnection", "glue:GetSchema", "glue:GetTable", "glue:GetMapping", "glue:CreateJob", "glue:DeleteConnection", "glue:CreateScript", "glue:UpdateConnection", "glue:GetConnection", "glue:StartJobRun", "glue:GetJobRun", "glue:UpdateJob", "glue:GetPlan", "glue:GetJobRuns", "glue:GetTags", "glue:GetJob", "glue:QueryJobRuns", "glue:QueryJobs", "glue:QueryJobRunsAggregated", "glue:SendRecipeAction", "glue:GetRecipeAction" ], "Resource": "*" }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }

Permissões de visualização de dados e caderno

As visualizações de dados e os cadernos permitem que você veja uma amostra dos seus dados em qualquer estágio do trabalho (leitura, transformação, gravação), sem precisar executar o trabalho. Você especifica uma função do AWS Identity and Access Management (IAM) para a AWS Glue Studio para usar ao acessar os dados. As funções do IAM destinam-se a poder ser assumidas e não têm credenciais de longo prazo padrão, como uma senha ou chaves de acesso, associadas a ela. Em vez disso, quando o AWS Glue Studio assume a função, o IAM fornece credenciais de segurança temporárias.

Para garantir que as visualizações de dados e os comandos do caderno funcionem corretamente, use uma função que tenha um nome que comece com a string AWSGlueServiceRole. Se você escolher usar um nome diferente para a função, será necessário adicionar a permissão iam:passrole e configurar uma política para a função no IAM. Para ter mais informações, consulte Criar uma política do IAM para funções não nomeadas “AWSGlueServiceRole*”.

Atenção

Se uma função conceder a permissão iam:passrole a um caderno e você implementar o encadeamento de funções, um usuário pode inadvertidamente obter acesso ao caderno. No momento, não há auditoria implementada que permita monitorar quais usuários receberam acesso ao caderno.

Caso queira negar a uma identidade do IAM a capacidade de criar sessões de pré-visualização de dados, consulte o exemplo para Negação da capacidade de criar sessões de pré-visualização de dados para uma identidade.

Permissões Amazon CloudWatch

É possível monitorar os trabalhos do AWS Glue Studio usando o Amazon CloudWatch, o qual coleta e processa dados brutos do AWS Glue e os transforma em métricas legíveis quase em tempo real. Por padrão, os dados de métricas do AWS Glue são enviados para o CloudWatch automaticamente. Para obter mais informações, consulte O que é o Amazon CloudWatch? no Manual do usuário do Amazon CloudWatch e Métricas do AWS Glue no Guia do desenvolvedor do AWS Glue.

Para acessar os painéis do CloudWatch, o usuário que acessa o AWS Glue Studio precisa de um dos seguintes:

  • A política AdministratorAccess

  • A política CloudWatchFullAccess

  • Uma política personalizada que inclui uma ou mais destas permissões específicas:

    • cloudwatch:GetDashboard e cloudwatch:ListDashboards para visualizar painéis

    • cloudwatch:PutDashboard para criar ou modificar painéis

    • cloudwatch:DeleteDashboards para excluir painéis

Para obter mais informações sobre como alterar as permissões de um usuário do IAM usando políticas, consulte Alterar permissões de um usuário do IAM no Manual do usuário do IAM.