Configurar a chave gerenciadora de clientes para criptografia
Os administradores de conta podem usar o console Databricks account para configurar a chave gerenciadora de clientes para criptografia. O senhor também pode configurar a chave do gerenciador de clientes usando a chave da conta Configurações API.
Há dois casos de uso Databricks para adicionar um gerenciador de clientes key:
-
dados do serviço gerenciado no plano de controle doDatabricks (Notebook, segredos e dados de consulta do Databricks SQL ).
-
armazenamento do espaço de trabalho (seu bucket de armazenamento workspace e os volumes EBS de compute recurso no plano clássico compute ).
Chave de gerenciamento de clientes para volumes EBS, não se aplica a serverless compute recurso. Os discos para serverless compute recurso são de curta duração e estão vinculados ao ciclo de vida da carga de trabalho serverless. Quando o recurso compute é interrompido ou reduzido, as VMs e seu armazenamento são destruídos.
Para comparar os casos de uso do gerenciador de clientes key, consulte Comparar os principais casos de uso do gerenciador de clientes.
Para obter uma lista das regiões que suportam a chave gerenciadora de clientes, consulte Databricks clouds and regions. Esse recurso requer a camada Enterprise preços.
O que é uma configuração de chave de criptografia?
A chave gerenciar-cliente é gerenciar com configurações de chave de criptografia. As configurações de chave de criptografia são objetos de nível accountque fazem referência à sua nuvem key.
Os administradores de conta criam configurações de chave de criptografia no console account e uma configuração de chave de criptografia pode ser anexada a um ou mais espaços de trabalho.
O senhor pode compartilhar um objeto de configuração Databricks key entre os dois casos de uso de criptografia diferentes (serviço gerenciado e armazenamento workspace ).
O senhor pode adicionar uma configuração de chave de criptografia ao seu Databricks workspace durante a criação do workspace ou pode atualizar um workspace existente com uma configuração de criptografia key.
Etapa 1: Criar ou selecionar um key em AWS KMS
O senhor pode usar o mesmo AWS KMS key entre os casos de uso workspace storage e serviço gerenciado.
- Crie ou selecione uma chave simétrica key em AWS KMS, seguindo as instruções em Creating symmetric CMKs ou Viewing key.
O site KMS key deve estar na mesma região AWS que o seu site workspace.
-
Copie esses valores, que você precisará em uma passo posterior:
- key ARN : Obtenha o ARN do console ou o API (o campo
Arn
na resposta JSON ). - alias de chave : Um alias especifica um nome de exibição para o CMK em AWS KMS.
- key ARN : Obtenha o ARN do console ou o API (o campo
-
Na política principal tab, mude para a política view. Edite a política key para adicionar o abaixo JSON na seção
"Statement"
. Não exclua as políticas existentes do site key.Selecione tab para seu caso de uso de criptografia abaixo e clique em Copy (Copiar ).
A política usa o AWS account ID
414351767826
. Se o senhor estiver usando Databricks on AWS GovCloud use o AWS account ID044793339203
para AWS GovCloud ou170661010020
para AWS GovCloud DoD.
- Both managed services and workspace storage
- Managed services
- Workspace storage
To allow Databricks to encrypt cluster EBS volumes, replace the <cross-account-iam-role-arn>
in the policy with the ARN for the cross-cloud IAM role that you created to allow Databricks to access your account. This is the same Role ARN that you use to register a Databricks credential configuration for a Databricks workspace.
{
"Sid": "Allow Databricks to use KMS key for DBFS",
"Effect": "Allow",
"Principal":{
"AWS":"arn:aws:iam::414351767826:root"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/DatabricksAccountId": ["<databricks-account-id>(s)"]
}
}
},
{
"Sid": "Allow Databricks to use KMS key for managed services in the control plane",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::414351767826:root"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/DatabricksAccountId": ["<databricks-account-id>(s)"]
}
}
},
{
"Sid": "Allow Databricks to use KMS key for EBS",
"Effect": "Allow",
"Principal": {
"AWS": "<cross-account-iam-role-arn>"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"kms:ViaService": "ec2.*.amazonaws.com"
}
}
}
{
"Sid": "Allow Databricks to use KMS key for managed services in the control plane",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::414351767826:root"
},
"Action": ["kms:Encrypt", "kms:Decrypt"],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/DatabricksAccountId": ["<databricks-account-id>(s)"]
}
}
}
To allow Databricks to encrypt cluster EBS volumes, replace the <cross-account-iam-role-arn>
in the policy with the ARN for the cross-cloud IAM role that you created to allow Databricks to access your account. This is the same Role ARN that you use to register a Databricks credential configuration for a Databricks workspace.
{
"Sid": "Allow Databricks to use KMS key for DBFS",
"Effect": "Allow",
"Principal":{
"AWS":"arn:aws:iam::414351767826:root"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/DatabricksAccountId": ["<databricks-account-id>(s)"]
}
}
},
{
"Sid": "Allow Databricks to use KMS key for EBS",
"Effect": "Allow",
"Principal": {
"AWS": "<cross-account-iam-role-arn>"
},
"Action": [
"kms:Decrypt",
"kms:GenerateDataKey*",
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*",
"Condition": {
"ForAnyValue:StringLike": {
"kms:ViaService": "ec2.*.amazonaws.com"
}
}
}
Para recuperar sua ID Databricks account , siga Localize sua ID account.
Etapa 2: Adicione uma política de acesso ao seu siteaccount IAM role (opcional)
Se o seu KMS key estiver em um AWS account diferente do account IAM roleusado para implantar o seu workspace, o senhor deverá adicionar uma apólice a esseaccount IAM role. Esta política permite que Databricks acesse seu key. Se o seu KMS key estiver no mesmo AWS account que oaccount IAM role cruzado usado para implantar o seu workspace, o senhor não precisará executar esta etapa.
-
Faça login no AWS Management Console como um usuário com privilégios de administrador e vá para o IAM console.
-
No painel de navegação esquerdo, clique em Funções .
-
Na lista de funções, clique no cruzamentoaccount IAM roleque o senhor criou para Databricks.
-
Adicione uma política em linha.
-
Em Permissions (Permissões ) tab, clique em Add inline policy (Adicionar política em linha ).
-
No editor de políticas, clique na guia JSON .
-
Copie a política de acesso abaixo
JSON{
"Sid": "AllowUseOfCMKInAccount <AccountIdOfCrossAccountIAMRole>",
"Effect": "Allow",
"Action": ["kms:Decrypt", "kms:GenerateDataKey*", "kms:CreateGrant", "kms:DescribeKey"],
"Resource": "arn:aws:kms:<region>:<AccountIdOfKMSKey>:key/<KMSKeyId>",
"Condition": {
"ForAnyValue:StringLike": {
"kms:ViaService": "ec2.*.amazonaws.com"
}
}
} -
Clique em Revisar política .
-
No campo Nome , insira um nome de política.
-
Clique em Criar política .
-
Etapa 3: Criar uma nova configuração do site key
Crie um objeto de configuração Databricks encryption key usando o console Databricks account . O senhor pode usar uma configuração de criptografia key em vários espaços de trabalho.
-
Como administrador da conta, faça login no console da conta.
-
Na barra lateral, clique em Recurso na nuvem .
-
Clique em Encryption key configuration (Configuração da chave de criptografia ) tab.
-
Clique em Add encryption key (Adicionar chave de criptografia ).
-
Selecione os casos de uso para essa criptografia key:
- Tanto o serviço gerenciado quanto o workspace storage
- Serviços gerenciados
- Armazenamento do workspace
-
No campo AWS key ARN digite o endereço key ARN que o senhor copiou acima.
-
No campo AWS key al ias, digite o key alias que o senhor copiou acima.
-
Clique em Adicionar .
-
Em Configurações , copie o ID.
Etapa 4: Adicione a configuração do key a um workspace
Para criar um novo workspace usando a configuração de criptografia key, siga as instruções em Create a workspace with custom AWS configurations ou Create a workspace using the account API.
Não é possível adicionar a criptografia key a uma workspace existente usando o console account. Conclua as etapas a seguir para usar o Databricks CLI para adicionar uma criptografia key a um workspace existente:
O senhor também pode usar a conta API.
-
Encerre todos os compute recursos em execução em seu Databricks workspace.
-
Atualize o site workspace com sua configuração key.
Para adicionar o key para o serviço gerenciado, defina
managed_services_customer_managed_key_id
como o ID key que o senhor copiou acima.Para adicionar o key para o armazenamento workspace, defina
storage-customer-managed-key-id
como o ID key que o senhor copiou acima.Substitua
<workspace-id>
pelo seu Databricks workspace ID.Por exemplo:
Bashdatabricks account workspaces update <workspace-id> --json '{
"managed_services_customer_managed_key_id": "<databricks-encryption-key-id>",
"storage-customer-managed-key-id": "<databricks-encryption-key-id>",
}' -
Se o senhor estiver adicionando uma chave para o armazenamento workspace, aguarde pelo menos 20 minutos para começar qualquer compute ou usar o DBFS API.
-
Reinicie o site compute que o senhor encerrou em uma etapa anterior.
Girar um key
O senhor só pode rotacionar (atualizar) um site existente key for customer-gerenciar key for serviço gerenciado. O senhor não pode girar um key existente para gerenciar o cliente key para armazenamento. No entanto, o site AWS oferece rotação automática do CMK master key, que gira o key subjacente sem alterar o key ARN. A rotação automática do mestre CMK key é compatível com a chave gerenciadora de clientes Databricks para armazenamento. Para obter mais informações, consulte Rotating AWS KMS key.
Para rotacionar um key existente para o serviço gerenciado, siga as instruções na Etapa 4: Adicionar a configuração key a um workspace. O senhor deve manter seu antigo KMS key disponível para Databricks por 24 horas.