View a markdown version of this page

Configurar VPC endpoints de interface (AWS PrivateLink) para AWS Glue (AWS PrivateLink) - AWS Glue

Configurar VPC endpoints de interface (AWS PrivateLink) para AWS Glue (AWS PrivateLink)

É possível estabelecer uma conexão privada entre a VPC e o AWS Glue criando um endpoint da VPC de interface. Os endpoints de interface são habilitados por AWS PrivateLink, uma tecnologia que permite acessar de forma privada as APIs do AWS Glue sem um gateway da Internet, um dispositivo NAT, uma conexão VPN ou uma conexão do AWS Direct Connect. As instâncias AWS Glue na sua VPC não precisam de endereços IP públicos para a comunicação com APIs . O tráfego de rede entre a VPC e o AWS Glue não deixa a rede da Amazon.

Cada endpoint de interface é representado por uma ou mais interfaces de rede elástica nas sub-redes.

Para mais informações, consulte VPC endpoints de interface (AWS PrivateLink) no Guia do usuário da Amazon VPC.

Considerações sobre endpoints da VPC do AWS Glue

Antes de configurar um endpoint da VPC de interface para AWS Glue, certifique-se de revisar as Propriedades e limitações do endpoint de interface no Guia do Usuário da Amazon VPC.

AWS GlueO oferece suporte a chamadas para todas as ações de API da VPC.

Criar um endpoint da VPC de interface para o AWS Glue

É possível criar um endpoint da VPC para o serviço AWS Glue usando o console do Amazon VPC ou a AWS Command Line Interface (AWS CLI). Para obter mais informações, consulte Criar um endpoint de interface no Guia do Usuário do Amazon VPC.

Crie um endpoint da VPC para o AWS Glue usando os seguintes nomes de serviço:

  • com.amazonaws.region.glue: use esse endpoint para operações de API do AWS Glue, como CreateSession, GetSession e GetSessionEndpoint.

  • com.amazonaws.region.glue.sessions: use esse endpoint para o tráfego gRPC do Spark Connect para operadores de sessão interativos. Esse endpoint é necessário ao usar sessões do Spark Connect a partir de uma VPC sem acesso à internet.

Se habilitar o DNS privado para o endpoint glue, você poderá fazer solicitações de API para o AWS Glue usando o nome DNS padrão para a região, por exemplo, glue.us-east-1.amazonaws.com. Se você habilitar o DNS privado para o endpoint glue.sessions, o tráfego da sessão do Spark Connect será roteado automaticamente pelo endpoint da VPC.

Para obter mais informações, consulte Acessar um serviço por um endpoint de interface no Manual do Usuário do Amazon VPC.

Criando uma política de endpoint da VPC para o AWS Glue

É possível anexar uma política de endpoint ao endpoint da VPC que controla o acesso ao AWS Glue. Essa política especifica as seguintes informações:

  • A entidade principal que pode executar ações.

  • As ações que podem ser executadas.

  • Os recursos sobre os quais as ações podem ser realizadas.

Para mais informações, consulte Controlar o acesso a serviços com VPC endpoints no Guia do usuário da Amazon VPC.

Exemplo: política de endpoint de VPC para o AWS Glue para permitir a criação e atualização do trabalho

Veja a seguir um exemplo de uma política de endpoint para o AWS Glue. Quando anexada a um endpoint, essa política concede acesso às ações indicadas do AWS Glue para todos os principais em todos os recursos.

{ "Statement": [ { "Sid": "RestrictPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/GlueServiceRole*", "Condition": { "StringEquals": { "iam:PassedToService": "glue.amazonaws.com" } } } ] }
Exemplo: política de endpoint de VPC para permitir acesso somente de leitura ao catálogo de dados

Veja a seguir um exemplo de uma política de endpoint para o AWS Glue. Quando anexada a um endpoint, essa política concede acesso às ações indicadas do AWS Glue para todos os principais em todos os recursos.

{ "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetTableVersion", "glue:GetTableVersions", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition", "glue:SearchTables" ], "Resource": "*" } ] }