Configurar criptografia no AWS Glue - AWS Glue

Configurar criptografia no AWS Glue

O seguinte exemplo de fluxo de trabalho destaca as opções a serem configuradas quando você usa criptografia com AWS Glue. O exemplo demonstra o uso de chaves específicas do AWS Key Management Service (AWS KMS), mas você pode escolher outras configurações com base nas suas necessidades específicas. Esse fluxo de trabalho destaca apenas as opções que pertencem a criptografia ao configurar o AWS Glue.

  1. Se o usuário do console do AWS Glue não usar uma política de permissões que permita todas as operações de API do AWS Glue (por exemplo, "glue:*"), verifique se as seguintes ações são permitidas:

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. Qualquer cliente que acesse ou grave em um catálogo criptografado, ou seja, qualquer usuário do console, crawler, trabalho ou endpoint de desenvolvimento, precisa das permissões a seguir.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. Qualquer usuário ou função que acesse uma senha de conexão criptografada precisa das permissões a seguir.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. A função de qualquer trabalho de extração, transformação e carregamento (ETL) que grave dados criptografados no Amazon S3 precisa das permissões a seguir.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. Qualquer crawler ou trabalho de ETL que grave Amazon CloudWatch Logs criptografados requer as permissões a seguir nas políticas de chave e do IAM.

    Na política de chave (não na política do IAM):

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    Para obter mais informações sobre políticas de chave, consulte Usar políticas de chave no AWS KMS no Guia do desenvolvedor do AWS Key Management Service.

    Na política do IAM, anexe a permissão logs:AssociateKmsKey:

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }
  6. Qualquer trabalho de ETL que use um marcador de trabalho criptografado precisa das permissões a seguir.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. No console do AWS Glue, selecione Settings (Configurações) no painel de navegação.

    1. Na página Data catalog settings (Configurações do catálogo de dados), criptografe o Data Catalog selecionando Metadata encryption (Criptografia de metadados). Essa opção criptografa todos os objetos no Data Catalog com a chave do AWS KMS que você escolher.

    2. Em Chave do AWS KMS, escolha aws/glue. Também é possível escolher uma chave do AWS KMS criada por você.

    Importante

    O AWS Glue só oferece suporte a chaves mestras do cliente (CMKs) simétricas. A lista de chaves do AWS KMS exibe apenas chaves simétricas. No entanto, se você selecionar Escolher um ARN de chave AWS KMS, o console permitirá que você insira um ARN para qualquer tipo de chave. Certifique-se de inserir apenas ARNs para chaves simétricas.

    Quando a criptografia estiver habilitada, o cliente que estiver acessando o Data Catalog deverá ter permissões do AWS KMS.

  8. No painel de navegação, escolha Security configurations (Configurações de segurança). Uma configuração de segurança é um conjunto de propriedades de segurança que pode ser usado para configurar processos do AWS Glue. Em seguida, escolha Add security configuration (Adicionar configuração de segurança). Na configuração, escolha qualquer uma das opções a seguir:

    1. Selecione S3 encryption (Criptografia do S3). Para Encryption mode (Modo de criptografia), escolha SSE-KMS. Para a chave do AWS KMS, escolha aws/s3 (certifique-se de que o usuário tenha permissão para usar essa chave). Isso permite que os dados gravados pelo trabalho no Amazon S3 usem a chave do AWS KMS do AWS Glue gerenciada pela AWS.

    2. Selecione CloudWatch logs encryption (Criptografia do CloudWatch Logs) e escolha uma CMK. (Verifique se o usuário tem permissão para usar essa chave). Para obter mais informações, consulte Criptografar dados de log no CloudWatch Logs usando o AWS KMS no Guia do desenvolvedor do AWS Key Management Service.

      Importante

      O AWS Glue só oferece suporte a chaves mestras do cliente (CMKs) simétricas. A lista de chaves do AWS KMS exibe apenas chaves simétricas. No entanto, se você selecionar Escolher um ARN de chave AWS KMS, o console permitirá que você insira um ARN para qualquer tipo de chave. Certifique-se de inserir apenas ARNs para chaves simétricas.

    3. Selecione Advanced properties (Propriedades avançadas) e Job bookmark encryption (Criptografia do marcador de trabalho). Para a chave do AWS KMS, escolha aws/glue (certifique-se de que o usuário tenha permissão para usar essa chave). Isso habilita a criptografia de marcadores de trabalho gravados no Amazon S3 com a chave do AWS KMS do AWS Glue.

  9. No painel de navegação, escolha Connections.

    1. Escolha Add connection (Adicionar conexão) para criar uma conexão com o armazenamento de dados JDBC (Java Database Connectivity) que é o destino do seu trabalho de ETL.

    2. Para garantir que a criptografia do Secure Sockets Layer (SSL) seja usada, selecione Require SSL connection (Exigir conexão SSL) e teste a conexão.

  10. No painel de navegação, escolha Tarefas.

    1. Escolha Add job (Adicionar trabalho) para criar um trabalho que transforme dados.

    2. Na definição de tarefa, escolha a configuração de segurança que você criou.

  11. No console do AWS Glue, execute o trabalho sob demanda. Verifique se os dados do Amazon S3 e os CloudWatch Logs gravados pelo trabalho, e os marcadores de trabalho, estão criptografados.