Como criptografar seu Data Catalog
A criptografia do AWS Glue Data Catalog fornece segurança aprimorada para dados sensíveis. O AWS Glue integra-se com o AWS Key Management Service (AWS KMS) para criptografar metadados armazenados no Data Catalog, incluindo automaticamente ativos registrados que você enriquece com contexto de negócios para pesquisa semântica. Você pode habilitar ou desabilitar as configurações de criptografia para recursos no Catálogo de Dados usando o console do AWS Glue ou a AWS CLI.
Quando você habilita a criptografia para seu Catálogo de Dados, todos os novos objetos que você criar serão criptografados. Quando você desabilita a criptografia, os novos objetos criados não serão criptografados, mas os objetos criptografados existentes permanecerão criptografados.
Você pode criptografar todo o seu Catálogo de Dados usando chaves de criptografia gerenciadas pela AWS ou chaves de criptografia gerenciadas pelo cliente. Para obter mais informações sobre os principais tipos e estados, consulte Conceitos do AWS Key Management Service no Guia do desenvolvedor do AWS Key Management Service.
nota
Ao usar o Catálogo de Dados criptografado com um crawler, é necessário manter as configurações de criptografia. A remoção das configurações de criptografia após um crawler processar um catálogo criptografado resulta em erros. Se você precisar remover as configurações de criptografia, crie um novo crawler em vez de modificar o existente.
AWSChaves gerenciadas pela
Chaves gerenciadas pelo AWS são chaves do KMS em sua conta que são criadas, gerenciadas e usadas em seu nome por um serviço da AWS integrado ao AWS KMS. É possível visualizar as chaves gerenciadas pela AWS na conta, visualize suas políticas de chaves e audite seu uso nos logs do AWS CloudTrail. No entanto, não é possível gerenciar essas chaves nem alterar suas permissões.
A criptografia em repouso se integra automaticamente com o AWS KMS para gerenciar as chaves gerenciadas pela AWS para o AWS Glue que são usadas para criptografar seus metadados. Se uma chave gerenciada pela AWS não existir quando a criptografia de metadados for habilitada, o AWS KMS criará automaticamente uma nova chave para você.
Para obter mais informações, consulte Chaves gerenciadas pela AWS.
Chaves gerenciadas pelo cliente
Chaves gerenciadas pelo cliente são chaves do KMS em sua Conta da AWS que você cria, detém e gerencia. Você tem controle total sobre essas chaves KMS. É possível:
-
Estabelecer e manter suas políticas de chaves, políticas do IAM e concessões
-
Habilitá-las e desabilitá-las
-
Alternar o material criptográfico
-
Adicionar tags.
-
Criar aliases que se referem a elas
-
Agendá-las para exclusão
Para obter mais informações sobre como gerenciar as permissões de uma chave gerenciada pelo cliente, consulte Chaves gerenciadas pelo cliente.
Importante
AWS GlueO oferece suporte somente a chaves gerenciadas pelo cliente simétricas. A lista de chaves do KMS exibe apenas chaves simétricas. No entanto, se você selecionar Escolher um ARN de chave do KMS, o console permitirá que você insira um ARN para qualquer tipo de chave. Certifique-se de inserir apenas ARNs para chaves simétricas.
Para criar uma chave simétrica gerenciada pelo cliente, siga as etapas para criar chaves gerenciadas pelo cliente simétricas e o Guia do desenvolvedor do AWS Key Management Service.
Quando você habilita a criptografia do Catálogo de Dados em repouso, os seguintes tipos de recursos são criptografados usando chaves do KMS:
Bancos de dados
Tabelas
Partições
Versões de tabela
Estatísticas de colunas
Funções definidas pelo usuário
Visualizações do Catálogo de Dados
Ativos do catálogo
AWS GlueContexto de criptografia do
Um contexto de criptografia é um conjunto opcional de pares de chave-valor que pode conter mais informações contextuais sobre os dados. O AWS KMS usa o contexto de criptografia como dados autenticados adicionais para comportar criptografia autenticada. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, o AWS KMS vincula de forma criptográfica o contexto de criptografia aos dados criptografados. Para descriptografar dados, é necessário incluir o mesmo contexto de criptografia na solicitação. O AWS Glue usa o mesmo contexto de criptografia em todas as operações criptográficas do AWS KMS, onde a chave é glue_catalog_id e o valor é catalogId.
"encryptionContext": { "glue_catalog_id": "111122223333" }
Ao usar uma chave gerenciada pela AWS ou uma chave simétrica gerenciada pelo cliente para criptografar seu Catálogo de Dados, você também pode utilizar o contexto de criptografia em registros de auditoria e logs para identificar como a chave está sendo utilizada. O contexto de criptografia também aparece nos logs gerados pelo AWS CloudTrail ou logs do Amazon CloudWatch.
Habilitar a criptografia
Você pode habilitar a criptografia para seus objetos do AWS Glue Data Catalog nas Configurações do Catálogo de Dados no console do AWS Glue ou usando a AWS CLI.
Quando você habilitar a criptografia, todos os objetos que você criar no Catálogo de Dados serão criptografados. Se você desmarcar essa configuração, os objetos que você criar no Catálogo de Dados não serão mais criptografados. Você pode continuar acessando os objetos criptografados existentes no Catálogo de Dados com as permissões do KMS necessárias.
ImportanteA chave do AWS KMS deve permanecer disponível no armazenamento de chaves do AWS KMS para todos os objetos que são criptografados com ela no Data Catalog. Se você remover a chave, os objetos não poderão mais ser descriptografados. Isso pode ser desejável em alguns cenários para impedir o acesso aos metadados do Data Catalog. |
Criptografar ativos do Catalog com chave gerenciada pelo cliente do AWS KMS
Os recursos de catálogo compatíveis são registrados automaticamente no AWS Glue Data Catalog como ativos. Você adiciona o contexto de negócios a esses ativos, o que permite pesquisar e filtrar semanticamente esses metadados no AWS Glue. Quando você habilita a criptografia de metadados com uma chave gerenciada pelo cliente, o AWS Glue também criptografa o índice de pesquisa do Data Catalog com sua chave do KMS. Nenhuma etapa adicional é necessária; o AWS Glue habilita automaticamente a criptografia do índice de pesquisa como parte da criptografia de metadados.
Se você habilitou anteriormente a criptografia do Data Catalog com uma chave gerenciada pelo cliente e a política existente inclui apenas kms:Decrypt, kms:Encrypt e kms:GenerateDataKey, adicione as seguintes permissões para garantir a compatibilidade com ativos do catálogo e pesquisa semântica:
kms:DescribeKey: obrigatório para validação de chave.kms:CreateGrant: permite que o AWS Glue criptografe e recriptografe o índice de pesquisa em segundo plano. O AWS Glue define o escopo da concessão como o contexto de criptografiaglue_catalog_id.
Para ver a política completa que inclui essas permissões, consulte Habilitar a criptografia. Se for a primeira vez que você configura a criptografia, a política nessa seção já inclui todas as permissões necessárias.
Importante
A pesquisa semântica em ativos do Data Catalog não é compatível com chave gerenciada do AWS (aws/glue). Se os metadados do Data Catalog forem criptografados com o aws/glue, a pesquisa nesse catálogo não estará disponível até a configuração ser removida ou alterada para usar uma chave gerenciada pelo cliente.
A habilitação da criptografia de metadados é uma operação assíncrona. O AWS Glue aceita sua solicitação e conclui a configuração da criptografia, incluindo a criptografia do índice de pesquisa existente. A primeira habilitação de criptografia pode levar algum tempo, dependendo do tamanho do Data Catalog. Durante esse tempo, o contexto de negócios e as APIs de pesquisa retornam erro até que o status seja Enabled.
A tabela a seguir descreve os diferentes status de criptografia dos metadados de ativos do Data Catalog:
| Status | Descrição |
|---|---|
Habilitar |
O AWS Glue está configurando a criptografia. A primeira vez que a criptografia é habilitada, a pesquisa não fica disponível até a configuração ser concluída. Quando uma chave gerenciada pelo cliente é alterada para outra, a pesquisa permanece disponível. |
Habilitado |
A criptografia foi concluída. Os metadados do Data Catalog podem ser pesquisados. |
Habilitada (com erros) |
A criptografia foi concluída e a pesquisa está disponível, mas o AWS Glue não conseguiu processar alguns metadados. O console exibe as mensagens de erro. Para tentar novamente os itens com falha, salve as configurações de criptografia novamente depois de corrigir os erros. |
Failed |
Não foi possível concluir a criptografia e a pesquisa não está disponível. Revise a mensagem de erro, corrija a configuração e salve novamente as configurações de criptografia com uma chave gerenciada pelo cliente. |
Desabilitando |
O AWS Glue está desabilitando a criptografia do índice de pesquisa com a chave do KMS. |
Desabilitado |
Os metadados do Data Catalog e o índice de pesquisa não estão mais criptografados com a chave do KMS. O contexto de negócios e as APIs de pesquisa continuam funcionando. |
Quando você muda a criptografia do Data Catalog de uma chave gerenciada pelo cliente para outra, o AWS Glue criptografa novamente o índice de pesquisa com a nova chave. A pesquisa permanece disponível enquanto a recriptografia está em andamento. Quando você desabilita a criptografia de metadados, AWS Glue remove sua chave KMS do índice de pesquisa e o status muda para Disabled.
Atenção
Não desabilite, exclua ou revogue o acesso à chave do KMS anterior até o status da criptografia voltar para Enabled (ou Disabled, se você tiver desabilitado a criptografia). Se o AWS Glue perder o acesso à chave anterior antes da conclusão da operação, não poderá descriptografar o índice de pesquisa, o status mudará para Failed e a pesquisa no Data Catalog não estará disponível.
A entidade principal que habilita ou altera a criptografia de metadados deve ter a permissão kms:CreateGrant descrita em Habilitar a criptografia. O AWS Glue usa o contexto de criptografia glue_catalog_id (o valor é o catalogId) nas operações AWS KMS do índice de pesquisa, consistente com o AWS GlueContexto de criptografia do. As chamadas do AWS KMS que o AWS Glue faz para o índice de pesquisa são registradas no AWS CloudTrail.
A entidade principal que acessa o contexto de negócios e a pesquisa também deve ter acesso à chave do KMS. Se você delegou operações do AWS KMS a um perfil de serviço do IAM, esse perfil de serviço deverá ter acesso à chave do KMS.
Além da política de identidade, adicione também a seguinte instrução à política de chave do KMS para permitir que o AWS Glue crie concessões para criptografia do índice de pesquisa. A condição kms:GrantIsForAWSResource limita a concessão ao AWS Glue, e o contexto de criptografia glue_catalog_id a define no Data Catalog. Para usar a instrução, substitua os espaços reservados para entrada do usuário por suas próprias informações.
{ "Sid": "AllowCreateGrantForSearchIndexEncryption", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:root" }, "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringLike": { "kms:CallerAccount": "account-id" }, "Bool": { "kms:GrantIsForAWSResource": "true" }, "StringEquals": { "kms:EncryptionContext:glue_catalog_id": "account-id" } } }
Monitorar suas chaves do KMS para o AWS Glue
Ao usar chaves do KMS com os recursos do Catálogo de Dados, você pode usar o AWS CloudTrail ou os Logs do Amazon CloudWatch para rastrear solicitações enviadas pelo AWS Glue para o AWS KMS. O AWS CloudTrail monitora e registra as operações do KMS chamadas pelo AWS Glue para acessar dados criptografados por suas chaves do KMS.
Os exemplos a seguir são eventos do AWS CloudTrail para as operações Decrypt, GenerateDataKey, CreateGrant e RetireGrant. Quando você habilita a criptografia com uma chave gerenciada pelo cliente, o AWS Glue cria uma concessão do AWS KMS com escopo definido como o contexto de criptografia glue_catalog_id, para poder criptografar e recriptografar os metadados do Data Catalog em segundo plano, e retira a concessão quando o AWS Glue não precisa mais dela.