Configurar a Criptografia de Chave Dupla
Aplica-se a: Microsoft Purview Double Key Encryption, Microsoft Purview, Azure Proteção de Informações
Descrição do serviço para: Microsoft Purview
Siga estas etapas gerais para configurar o DKE. Depois de concluir essas etapas, os usuários finais poderão proteger seus dados altamente confidenciais com Criptografia de Chave Dupla.
Implante o serviço DKE conforme descrito neste artigo. Verifique se seu ambiente atende aos requisitos mínimos de sistema e licenciamento. Para obter mais informações, consulte Requisitos de sistema e licenciamento para DKE.
Crie um rótulo com Criptografia de Chave Dupla. No portal de conformidade do Microsoft Purview, navegue até Proteção de informações e crie um novo rótulo com Criptografia de Chave Dupla. Consulte Restringir o acesso ao conteúdo usando rótulos de confidencialidade para aplicar criptografia.
Configure o registro em dispositivos cliente para que você possa usar rótulos de Criptografia de Chave Dupla. Em seguida, proteja seus dados selecionando o rótulo Double Key Encrypted na faixa de opções Confidencialidade no Microsoft Office.
Há várias maneiras de concluir algumas das etapas para implantar a Criptografia de Chave Dupla. Este artigo fornece instruções detalhadas para que administradores menos experientes implantem o serviço com êxito. Se você estiver confortável em fazer isso, poderá optar por usar seus próprios métodos.
Implantar o DKE
Este artigo e o vídeo de implantação usam o Azure como o destino de implantação do serviço DKE. Se você estiver implantando em outro local, precisará fornecer seus próprios valores.
Siga estas etapas gerais para configurar a Criptografia de Chaves Duplas para sua organização.
- Instalar pré-requisitos de software para o serviço DKE
- Clonar o repositório GitHub de Criptografia de Chave Dupla
- Modificar configurações de aplicativo
- Gerar chaves de teste
- Compilar o projeto
- Implantar o serviço DKE e publicar o repositório de chaves
- Valide a sua implantação
- Registrar seu repositório de chaves
- Criar rótulos de confidencialidade usando DKE
- Migrar arquivos protegidos de rótulos HYOK para rótulos DKE
Quando terminar, você pode criptografar documentos e arquivos usando DKE. Para obter informações, consulte Aplicar rótulos de confidencialidade aos seus arquivos e email no Office.
Instalar pré-requisitos de software para o serviço DKE
Instale esses pré-requisitos no computador em que você deseja instalar o serviço DKE.
SDK do .NET Core 7.0. Baixe e instale o SDK do Download do .NET Core 7.0.
Visual Studio Code. Baixe Visual Studio Code de https://code.visualstudio.com/. Depois de instalado, execute Visual Studio Code e selecione Exibir>Extensões. Instale essas extensões.
C# para Visual Studio Code
Gerenciador de Pacotes NuGet
Recursos git. Baixe e instale um dos seguintes.
Openssl Você deve ter o OpenSSL instalado para gerar chaves de teste depois de implantar o DKE. Certifique-se de que você está invocando-o corretamente do caminho das variáveis de ambiente. Por exemplo, consulte "Adicionar o diretório de instalação ao PATH" para https://www.osradar.com/install-openssl-windows/ obter detalhes.
Clonar o repositório DKE GitHub
A Microsoft fornece os arquivos de origem DKE em um repositório do GitHub. Você clona o repositório para criar o projeto localmente para uso da sua organização. O repositório DKE GitHub está localizado em https://github.com/Azure-Samples/DoubleKeyEncryptionService.
As instruções a seguir destinam-se a usuários inexperientes do git ou Visual Studio Code:
No navegador, acesse: https://github.com/Azure-Samples/DoubleKeyEncryptionService.
No lado direito da tela, selecione Código. Sua versão da interface do usuário pode mostrar um botão Clonar ou baixar . Em seguida, na lista suspensa exibida, selecione o ícone de cópia para copiar a URL na área de transferência.
Por exemplo:
Em Visual Studio Code, selecione Exibir>Paleta de Comandos e selecione Git: Clonar. Para pular para a opção na lista, comece a digitar para filtrar
git: clone
as entradas e selecione-as na lista suspensa. Por exemplo:Na caixa de texto, cole a URL copiada do Git e selecione Clonar no GitHub.
Na caixa de diálogo Selecionar Pasta exibida, navegue até e selecione um local para armazenar o repositório. Selecione Abrir.
O repositório é aberto em Visual Studio Code e exibe o branch git atual na parte inferior esquerda. O branch deve ser main. Por exemplo:
Se você não estiver no branch main, selecione-o. Em Visual Studio Code, selecione o branch e escolha main na lista de ramificações exibidas.
Importante
Selecionar o branch main garante que você tenha os arquivos corretos para criar o projeto. Se você não escolher o branch correto, sua implantação falhará.
Agora você tem seu repositório de origem DKE configurado localmente. Em seguida, modifique as configurações do aplicativo para sua organização.
Modificar configurações de aplicativo
Para implantar o serviço DKE, você deve modificar os seguintes tipos de configurações de aplicativo:
Você modifica as configurações do aplicativo no arquivo appsettings.json. Esse arquivo está localizado no repositório DoubleKeyEncryptionService clonado localmente em DoubleKeyEncryptionService\src\customer-key-store. Por exemplo, em Visual Studio Code, você pode navegar até o arquivo, conforme mostrado na imagem a seguir.
Configurações de acesso de chave
Escolha se deve usar autorização de email ou função. O DKE dá suporte a apenas um desses métodos de autenticação por vez.
Email autorização. Permite que sua organização autorize o acesso a chaves apenas com base em endereços de email.
Autorização de função. Permite que sua organização autorize o acesso a chaves com base em grupos do Active Directory e exige que o serviço Web possa consultar o LDAP.
Para definir as principais configurações de acesso para DKE usando a autorização de email
Abra o arquivo appsettings.json e localize a
AuthorizedEmailAddress
configuração.Adicione o endereço de email ou endereços que você deseja autorizar. Separe vários endereços de email com aspas e vírgulas duplas. Por exemplo:
"AuthorizedEmailAddress": ["email1@company.com", "email2@company.com ", "email3@company.com"]
Localize a
LDAPPath
configuração e remova o textoIf you use role authorization (AuthorizedRoles) then this is the LDAP path.
entre as aspas duplas. Deixe as aspas duplas no lugar. Quando você terminar, a configuração deve ser assim."LDAPPath": ""
Localize a
AuthorizedRoles
configuração e exclua toda a linha.
Esta imagem mostra o arquivo appsettings.json formatado corretamente para autorização por email.
Para definir as principais configurações de acesso para DKE usando a autorização de função
Abra o arquivo appsettings.json e localize a
AuthorizedRoles
configuração.Adicione os nomes de grupo do Active Directory que você deseja autorizar. Separe vários nomes de grupo com aspas e vírgulas duplas. Por exemplo:
"AuthorizedRoles": ["group1", "group2", "group3"]
Localize a
LDAPPath
configuração e adicione o domínio do Active Directory. Por exemplo:"LDAPPath": "contoso.com"
Localize a
AuthorizedEmailAddress
configuração e exclua toda a linha.
Esta imagem mostra o arquivo appsettings.json formatado corretamente para autorização de função.
Configurações de locatário e chave
As configurações de locatário e chave DKE estão localizadas no arquivo appsettings.json .
Para configurar configurações de locatário e chave para DKE
Abra o arquivo appsettings.json .
Localize a
ValidIssuers
configuração e substitua<tenantid>
pela ID do locatário. Você pode localizar sua ID do locatário acessando o portal do Azure e exibindo as propriedades do locatário. Por exemplo:"ValidIssuers": [ "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b500002d4b/" ]
Observação
Se você quiser habilitar o acesso B2B externo ao seu repositório de chaves, também precisará incluir esses locatários externos como parte da lista de emissores válidos.
Localize o JwtAudience
. Substitua <yourhostname>
pelo nome do host do computador em que você deseja executar o serviço DKE. Por exemplo: "https://dkeservice.contoso.com"
Importante
O valor para JwtAudience
deve corresponder exatamente ao nome do host.
TestKeys:Name
. Insira um nome para sua chave. Por exemplo:TestKey1
TestKeys:Id
. Crie um GUID e insira-o como oTestKeys:ID
valor. Por exemplo,DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE
. Você pode usar um site como o Gerador GUID Online para gerar aleatoriamente um GUID.
Esta imagem mostra o formato correto para configurações de locatário e chaves no appsettings.json. LDAPPath
é configurado para autorização de função.
Gerar chaves de teste
Depois de definir as configurações do aplicativo, você estará pronto para gerar chaves de teste públicas e privadas.
Para gerar chaves:
No menu Iniciar do Windows, execute o Prompt de Comando OpenSSL.
Altere para a pasta em que você deseja salvar as chaves de teste. Os arquivos que você cria concluindo as etapas desta tarefa são armazenados na mesma pasta.
Gere a nova chave de teste.
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Gere a chave privada.
Se você instalou o OpenSSL versão 3 ou posterior, execute o seguinte comando:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEM -traditional
Caso contrário, execute o seguinte comando:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEM
Gere a chave pública.
openssl rsa -in key.pem -pubout > pubkeyonly.pem
Em um editor de texto, abra pubkeyonly.pem. Copie todo o conteúdo no arquivo pubkeyonly.pem , exceto as primeiras e últimas linhas, na
PublicPem
seção do arquivo appsettings.json .Em um editor de texto, abra privkeynopass.pem. Copie todo o conteúdo no arquivo privkeynopass.pem , exceto as primeiras e últimas linhas, na
PrivatePem
seção do arquivo appsettings.json .Remova todos os espaços em branco e linhas novas nas
PublicPem
seções ePrivatePem
.Importante
Ao copiar esse conteúdo, não exclua nenhum dos dados PEM.
Em Visual Studio Code, navegue até o arquivo Startup.cs. Esse arquivo está localizado no repositório DoubleKeyEncryptionService clonado localmente em DoubleKeyEncryptionService\src\customer-key-store.
Localize as seguintes linhas:
#if USE_TEST_KEYS #error !!!!!!!!!!!!!!!!!!!!!! Use of test keys is only supported for testing, DO NOT USE FOR PRODUCTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!! services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>(); #endif
Substitua estas linhas pelo seguinte texto:
services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
Os resultados finais devem ser semelhantes aos seguintes.
Agora você está pronto para criar seu projeto DKE.
Compilar o projeto
Use as seguintes instruções para criar o projeto DKE localmente:
Em Visual Studio Code, no repositório de serviço DKE, selecione Exibir>Paleta de Comandos e digite build no prompt.
Na lista, escolha Tarefas: executar tarefa de build.
Se não houver tarefas de build encontradas, selecione Configurar Tarefa de Build e criar uma para o .NET core da seguinte maneira.
Escolha Criar tasks.json no modelo.
Na lista de tipos de modelo, selecione .NET Core.
Na seção build, localize o caminho para o arquivo customerkeystore.csproj . Se ele não estiver lá, adicione a seguinte linha:
"${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",
Execute o build novamente.
Verifique se não há erros vermelhos na janela de saída.
Se houver erros vermelhos, marcar a saída do console. Verifique se você concluiu todas as etapas anteriores corretamente e as versões corretas de build estão presentes.
Sua configuração agora está concluída. Antes de publicar o keystore, em appsettings.json, para a configuração JwtAudience, verifique se o valor do nome do host corresponde exatamente ao nome do host Serviço de Aplicativo.
Implantar o serviço DKE e publicar o repositório de chaves
Para implantações de produção, implante o serviço em uma nuvem de terceiros ou publique em um sistema local.
Você pode preferir outros métodos para implantar suas chaves. Selecione o método que funciona melhor para sua organização.
Para implantações piloto, você pode implantar no Azure e começar imediatamente.
Para criar uma instância do Aplicativo Web do Azure para hospedar sua implantação do DKE
Para publicar o repositório de chaves, crie uma instância Serviço de Aplicativo do Azure para hospedar sua implantação DKE. Em seguida, publique suas chaves geradas no Azure.
No navegador, entre no Microsoft portal do Azure e vá para Adicionar serviços> deaplicativo.
Selecione sua assinatura e grupo de recursos e defina os detalhes da instância.
Insira o nome do host do computador em que você deseja instalar o serviço DKE. Verifique se é o mesmo nome definido para a configuração JwtAudience no arquivo appsettings.json . O valor que você fornece para o nome também é o WebAppInstanceName.
Para Publicar, selecione código e para pilha runtime, selecione .NET Core 3.1.
Por exemplo:
Na parte inferior da página, selecione Examinar + criar e, em seguida, selecione Adicionar.
Faça um dos seguintes procedimentos para publicar suas chaves geradas:
Publicar via ZipDeployUI
Saiba mais em
https://<WebAppInstanceName>.scm.azurewebsites.net/ZipDeployUI
.Por exemplo:
https://dkeservice.contoso.scm.azurewebsites.net/ZipDeployUI
Na base de código do repositório de chaves, acesse a pasta customer-key-store\src\customer-key-store e verifique se essa pasta contém o arquivo customerkeystore.csproj .
Executar: publicar dotnet
A janela de saída exibe o diretório em que a publicação foi implantada.
Por exemplo:
customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\
Envie todos os arquivos no diretório de publicação para um arquivo .zip. Ao criar o arquivo .zip, verifique se todos os arquivos no diretório estão no nível raiz do arquivo .zip.
Arraste e solte o arquivo .zip que você criou para o site ZipDeployUI que você abriu antes. Por exemplo:
https://dkeservice.scm.azurewebsites.net/ZipDeployUI
O DKE é implantado e você pode navegar até as chaves de teste que você criou. Continue validando sua implantação neste artigo.
Publicar via FTP
Conecte-se ao Serviço de Aplicativo que você criou antes.
No navegador, acesse: PainelFTP> deImplantação> Manual portal do Azure do Centro de Implantação Serviço de Aplicativo >> Serviço de Aplicativo Deployment>Center.
Copie as cadeias de conexão exibidas em um arquivo local. Use essas cadeias de caracteres para se conectar à Web Serviço de Aplicativo e carregar arquivos via FTP.
Por exemplo:
Na base de código para o armazenamento de chaves, acesse o diretório customer-key-store\src\customer-key-store.
Verifique se esse diretório contém o arquivo customerkeystore.csproj .
Executar: publicar dotnet
A saída contém o diretório em que a publicação foi implantada.
Por exemplo:
customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\
Envie todos os arquivos no diretório de publicação para um arquivo zip. Ao criar o arquivo .zip, verifique se todos os arquivos no diretório estão no nível raiz do arquivo .zip.
No cliente FTP, use as informações de conexão copiadas para se conectar ao Serviço de Aplicativo. Carregue o arquivo .zip que você criou na etapa anterior para o diretório raiz do aplicativo Web.
O DKE é implantado e você pode navegar até as chaves de teste que você criou. Em seguida, valide sua implantação.
Valide a sua implantação
Depois de implantar o DKE usando um dos métodos descritos neste artigo, valide a implantação e as configurações do repositório de chaves.
Executar:
src\customer-key-store\scripts\key_store_tester.ps1 dkeserviceurl/mykey
Por exemplo:
key_store_tester.ps1 https://dkeservice.contoso.com/TestKey1
Verifique se não há erros na saída. Quando estiver pronto, registre seu repositório de chaves.
O nome da chave é sensível a maiúsculas de minúsculas. Insira o nome da chave conforme ele aparece no arquivo appsettings.json.
Registrar seu repositório de chaves
As etapas a seguir permitem que você registre seu serviço DKE. Registrar seu serviço DKE é a última etapa na implantação do DKE antes que você possa começar a criar rótulos.
Para registrar o serviço DKE:
No navegador, abra o Microsoft portal do Azure e acesseRegistros de Aplicativo deIdentidade>de Todos os Serviços>.
Selecione Novo registro e insira um nome significativo.
Selecione um tipo de conta nas opções exibidas.
Por exemplo:
Na parte inferior da página, selecione Registrar para criar o novo Registro de Aplicativo.
No novo Registro de Aplicativo, no painel esquerdo, em Gerenciar, selecione Autenticação.
Selecione Adicionar uma plataforma.
No pop-up Configurar plataformas, selecioneWeb.
Em URIs de redirecionamento, insira o URI do serviço de criptografia de chave dupla. Insira a URL Serviço de Aplicativo, incluindo o nome do host e o domínio.
Por exemplo:
https://mydkeservicetest.com
- A URL inserida deve corresponder ao nome do host em que o serviço DKE é implantado.
- O domínio deve ser um domínio verificado.
- Em todos os casos, o esquema deve ser https.
Verifique se o nome do host corresponde exatamente ao seu nome de host Serviço de Aplicativo.
Em Concessão implícita, selecione a caixa de seleção tokens de ID .
Selecione Salvar para salvar suas alterações.
No painel esquerdo, selecione Expor uma API, ao lado do URI da ID do Aplicativo, insira sua URL Serviço de Aplicativo, incluindo nome de host e domínio, e selecione Definir.
Ainda na página Expor uma API , nos Escopos definidos por essa área de API , selecione Adicionar um escopo. No novo escopo:
Defina o nome do escopo como user_impersonation.
Selecione os administradores e usuários que podem consentir.
Defina todos os valores restantes necessários.
Selecione Adicionar escopo.
Selecione Salvar na parte superior para salvar suas alterações.
Ainda na página Expor uma API , na área Aplicativos cliente autorizados , selecione Adicionar um aplicativo cliente.
No novo aplicativo cliente:
Defina a ID do cliente como
d3590ed6-52b3-4102-aeff-aad2292ab01c
. Esse valor é a ID do cliente do Microsoft Office e permite que o Office obtenha um token de acesso para seu repositório de chaves.Em Escopos autorizados, selecione o escopo user_impersonation .
Selecione Adicionar aplicativo.
Selecione Salvar na parte superior para salvar suas alterações.
Repita essas etapas, mas desta vez, defina a ID do cliente como
c00e9d32-3c8d-4a7d-832b-029040e7db99
. Esse valor é a ID do cliente de proteção de informações.
Seu serviço DKE agora está registrado. Continue criando rótulos usando DKE.
Criar rótulos de confidencialidade usando DKE
No portal de conformidade do Microsoft Purview, crie um novo rótulo de confidencialidade e aplique a criptografia como faria de outra forma. Selecione Usar Criptografia de Chave Dupla e insira a URL do ponto de extremidade para sua chave. Você precisa incluir o nome da chave fornecido na seção "TestKeys" do arquivo appsettings.json na URL.
Por exemplo: https://testingdke1.azurewebsites.net/KEYNAME
Todos os rótulos DKE adicionados aparecem para usuários nas versões mais recentes do Microsoft 365 Apps para Grandes Empresas.
Observação
Pode levar até 24 horas para os clientes atualizarem com os novos rótulos.
Migrar arquivos protegidos de rótulos HYOK para rótulos DKE
Se desejar, depois de concluir a configuração do DKE, poderá migrar o conteúdo protegido usando rótulos HYOK para rótulos DKE. Para migrar, use o Proteção de Informações do Microsoft Purview scanner. Para começar a usar o scanner, consulte Entender o scanner de proteção de informações.
Se você não migrar conteúdo, o conteúdo protegido do HYOK permanecerá inalterado.
Outras opções de implantação
Percebemos que, para alguns clientes em setores altamente regulamentados, essa implementação de referência padrão usando chaves baseadas em software pode não ser suficiente para atender às suas obrigações e necessidades de conformidade aprimoradas. Fazemos parceria com fornecedores de HSM (módulo de segurança de hardware) de terceiros para dar suporte a opções avançadas de gerenciamento de chaves no serviço DKE, incluindo:
Entre em contato diretamente com esses fornecedores para obter mais informações e diretrizes sobre suas soluções de HSM DKE no mercado.
Configurar clientes para aplicar rótulos de confidencialidade DKE
Em cada dispositivo cliente, conclua essa tarefa.
- Verifique se os valores de registro a seguir são definidos em cada cliente. Crie chaves de registro que ainda não estão lá:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC\flighting]
"DoubleKeyProtection"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\flighting]
"DoubleKeyProtection"=dword:00000001
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários