Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Descripción del servicio para: Microsoft Purview
Siga estos pasos generales para configurar DKE. Una vez completados estos pasos, los usuarios finales pueden proteger los datos altamente confidenciales con el cifrado de doble clave.
Implemente el servicio DKE como se describe en este artículo. Asegúrese de que su entorno cumpla los requisitos mínimos del sistema y de licencias. Para obtener más información, consulte Requisitos del sistema y de licencias para DKE.
Cree una etiqueta con Cifrado de doble clave. En el portal de Microsoft Purview, vaya a Protección de información y cree una nueva etiqueta con el cifrado de doble clave. Consulte Restringir el acceso al contenido mediante etiquetas de confidencialidad para aplicar cifrado.
Configura el registro en los dispositivos cliente para que puedas usar etiquetas de cifrado de doble clave. A continuación, proteja los datos seleccionando la etiqueta Cifrado de doble clave en la cinta de confidencialidad de Microsoft Office.
Hay varias maneras de completar algunos de los pasos para implementar el Cifrado de doble clave. En este artículo se proporcionan instrucciones detalladas para que los administradores menos experimentados implementen correctamente el servicio. Si te sientes cómodo haciéndolo, puedes optar por utilizar tus propios métodos.
Implementar DKE
Este artículo y el vídeo de implementación usan Azure como destino de implementación para el servicio DKE. Si va a realizar la implementación en otra ubicación, debe proporcionar sus propios valores.
Siga estos pasos generales para configurar el cifrado de doble clave para su organización.
- Instalación de requisitos previos de software para el servicio DKE
- Clonar el repositorio de GitHub de Cifrado de doble clave
- Modificar la configuración de la aplicación
- Generar claves de prueba
- Compile el proyecto.
- Implementación del servicio DKE y publicación del almacén de claves
- Validar la implementación
- Registrar el almacén de claves
- Creación de etiquetas de confidencialidad con DKE
- Migrar archivos protegidos de etiquetas HYOK a etiquetas DKE
Cuando haya terminado, puede cifrar documentos y archivos con DKE. Para obtener información, consulte Aplicar etiquetas de confidencialidad a los archivos y al correo electrónico en Office.
Instalación de requisitos previos de software para el servicio DKE
Instale estos requisitos previos en el equipo en el que desea instalar el servicio DKE.
SDK de .NET 8.0. Descargue e instale el SDK desde Download .NET 8.0.
Visual Studio Code. Download Visual Studio Code from https://code.visualstudio.com/. Una vez instalado, ejecute Visual Studio Code y seleccione Ver>extensiones. Instale estas extensiones.
C# para Visual Studio Code
Administrador de paquetes NuGet
recursos de Git. Descargue e instale uno de los siguientes.
OpenSSL. Debe tener OpenSSL instalado para generar claves de prueba después de implementar DKE. Asegúrese de que lo invoca correctamente desde la ruta de acceso de variables de entorno. Por ejemplo, consulte "Agregar el directorio de instalación a PATH" en https://www.osradar.com/install-openssl-windows/ para obtener más información.
Clonar el repositorio de GitHub de DKE
Microsoft proporciona los archivos de origen de DKE en un repositorio de GitHub. Clona el repositorio para compilar el proyecto localmente para uso de tu organización. El repositorio de GitHub de DKE se encuentra en https://github.com/Azure-Samples/DoubleKeyEncryptionService.
Las siguientes instrucciones están destinadas a usuarios inexpertos de GIT o Visual Studio Code:
En el explorador, vaya a: https://github.com/Azure-Samples/DoubleKeyEncryptionService.
En el lado derecho de la pantalla, seleccione Código. Es posible que su versión de la interfaz de usuario muestre un botón Clonar o descargar . Después, en la lista desplegable que aparece, seleccione el icono de copia para copiar la dirección URL en el portapapeles.
Por ejemplo:
En Visual Studio Code, seleccione Ver>paleta de comandos y seleccione Git: Clonar. Para ir a la opción de la lista, empiece a escribir
git: clonepara filtrar las entradas y selecciónela en la lista desplegable. Por ejemplo:
En el cuadro de texto, pega la dirección URL que copiaste de Git y selecciona Clonar desde GitHub.
En el cuadro de diálogo Seleccionar carpeta que aparece, vaya a una ubicación para almacenar el repositorio y selecciónela. Seleccione Abrir.
El repositorio se abre en Visual Studio Code y muestra la rama de Git actual en la parte inferior izquierda. La rama debe ser main. Por ejemplo:
Si no estás en la rama principal, selecciónala. En Visual Studio Code, seleccione la rama y elija main de la lista de ramas que se muestra.
Importante
Seleccionar la rama principal garantiza que tiene los archivos correctos para compilar el proyecto. Si no eliges la rama correcta, se producirá un error en la implementación.
Ahora tiene el repositorio de origen de DKE configurado localmente. A continuación, modifique la configuración de la aplicación para su organización.
Modificar la configuración de la aplicación
Para implementar el servicio DKE, debe modificar los siguientes tipos de configuración de la aplicación:
Modifica la configuración de la aplicación en el archivo appsettings.json. Este archivo se encuentra en el repositorio de DoubleKeyEncryptionService que clonó localmente en DoubleKeyEncryptionService\src\customer-key-store. Por ejemplo, en Visual Studio Code, puede buscar el archivo como se muestra en la siguiente imagen.
Configuración de acceso a las teclas
Elija si desea usar el correo electrónico o la autorización de roles. DKE solo admite uno de estos métodos de autenticación a la vez.
Autorización de email. Permite a su organización autorizar el acceso a las claves basándose únicamente en las direcciones de correo electrónico.
Autorización de roles. Permite a su organización autorizar el acceso a claves basadas en grupos de Active Directory y requiere que el servicio web pueda consultar LDAP.
Para establecer la configuración de acceso clave para DKE mediante la autorización de correo electrónico
Abra el archivo appsettings.json y localice la
AuthorizedEmailAddressconfiguración.Agregue la dirección o direcciones de correo electrónico que desea autorizar. Separa las direcciones de correo electrónico con comillas dobles y comas. Por ejemplo:
"AuthorizedEmailAddress": ["email1@company.com", "email2@company.com ", "email3@company.com"]Busque la
LDAPPathconfiguración y quite el textoIf you use role authorization (AuthorizedRoles) then this is the LDAP path.entre las comillas dobles. Deje las comillas dobles en su lugar. Cuando termines, la configuración debería tener este aspecto."LDAPPath": ""Localice la
AuthorizedRolesconfiguración y elimine toda la línea.
Esta imagen muestra el archivo appsettings.json con el formato correcto para la autorización de correo electrónico.
Para establecer la configuración de acceso a claves para DKE mediante la autorización de roles
Abra el archivo appsettings.json y localice la
AuthorizedRolesconfiguración.Agregue los nombres de grupo de Active Directory que desea autorizar. Separa los nombres de varios grupos con comillas dobles y comas. Por ejemplo:
"AuthorizedRoles": ["group1", "group2", "group3"]Localice la
LDAPPathconfiguración y agregue el dominio de Active Directory. Por ejemplo:"LDAPPath": "contoso.com"Localice la
AuthorizedEmailAddressconfiguración y elimine toda la línea.
En esta imagen se muestra el archivo appsettings.json con el formato correcto para la autorización de roles.
Configuración de inquilinos y claves
El inquilino de DKE y la configuración de clave se encuentran en el archivo appsettings.json .
Para configurar las opciones de configuración de inquilino y clave para DKE
Abra el archivo appsettings.json .
Busque la configuración y reemplácela
ValidIssuers<tenantid>por su identificador de inquilino, asegurándose de mantener la barra diagonal al final de su id. de inquilino. Para encontrar su identificador de inquilino, vaya a Azure Portal y vea las propiedades del inquilino. Por ejemplo:"ValidIssuers": [ "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b500002d4b/" ]
Nota:
Si desea habilitar el acceso B2B externo al almacén de claves, también deberá incluir estos inquilinos externos como parte de la lista de emisores válidos.
Busque el JwtAudiencearchivo . Reemplace el valor "https://dkeservice.contoso.com" de marcador de posición en json por el nombre de host de la máquina en la que desea ejecutar el servicio DKE.
Importante
El valor de JwtAudience debe coincidir exactamente con el nombre del host.
-
TestKeys:Name. Escriba un nombre para la clave. Por ejemplo:TestKey1 -
TestKeys:Id. Cree un GUID y escríbalo comoTestKeys:IDvalor. Por ejemplo,DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE. Puede usar un sitio como el generador de GUID en línea para generar un GUID de forma aleatoria. -
JwtAuthorization. Reemplácelo{tenant-id}por su id. de inquilino.
El siguiente código JSON muestra el formato correcto para la configuración de inquilinos y claves en appsettings.json.
LDAPPath está configurado para la autorización de roles.
{
"TokenValidationParameters": {
"ValidIssuers": [
"https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b50002d4b/"
]
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"JwtAudience": "https://dkeservice.contoso.com/",
"JwtAuthorization": "https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize",
"RoleAuthorizer": {
"LDAPPath": ""
},
"TestKeys": [
{
"Name": "TestKey1",
"Id": "DCE1CC21-FF98-4424-8FF4-9914BD19A1BE"
}
]
}
Generar claves de prueba
Una vez definida la configuración de la aplicación, estará listo para generar claves de prueba públicas y privadas.
Para generar claves:
En el menú Inicio de Windows, ejecute el símbolo del sistema de OpenSSL.
Cambie a la carpeta donde desea guardar las claves de prueba. Los archivos que cree al completar los pasos de esta tarea se almacenan en la misma carpeta.
Genere la nueva clave de prueba.
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365Generar la clave privada.
Si instaló OpenSSL versión 3 o posterior, ejecute el siguiente comando:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEM -traditionalEn caso contrario, ejecute el comando siguiente:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEMGenerar la clave pública.
openssl rsa -in key.pem -pubout > pubkeyonly.pemEn un editor de texto, abra pubkeyonly.pem. Copie todo el contenido del archivo pubkeyonly.pem , excepto la primera y la última línea, en la
PublicPemsección del archivo appsettings.json .En un editor de texto, abra privkeynopass.pem. Copie todo el contenido del archivo privkeynopass.pem , excepto la primera y la última línea, en la
PrivatePemsección del archivo appsettings.json .Quite todos los espacios en blanco y las nuevas líneas en
PublicPemlas secciones ANDPrivatePem.Importante
Al copiar este contenido, no elimine ninguno de los datos PEM.
En Visual Studio Code, busque el archivo Startup.cs. Este archivo se encuentra en el repositorio de DoubleKeyEncryptionService que clonó localmente en DoubleKeyEncryptionService\src\customer-key-store.
Busque las siguientes líneas de código:
#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>(); #endifReemplace estas líneas por el texto siguiente:
services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();Los resultados finales deben ser similares a los siguientes.
Ahora ya está listo para compilar su proyecto DKE.
Compile el proyecto.
Use las siguientes instrucciones para compilar el proyecto DKE localmente:
En Visual Studio Code, en el repositorio de servicios DKE, seleccione Ver>paleta de comandos y luego escriba compilar en el símbolo del sistema.
En la lista, elija Tareas: Ejecutar tarea de compilación.
Si no se encuentra ninguna tarea de compilación, seleccione Configurar tarea de compilación y cree una para .NET Core como se indica a continuación.
Elija Create tasks.json from template.
En la lista de tipos de plantilla, seleccione .NET Core.
En la sección de compilación, busque la ruta de acceso al archivo customerkeystore.csproj . Si no está allí, agregue la línea siguiente:
"${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",Ejecute la compilación de nuevo.
Compruebe que no haya errores de color rojo en la ventana de salida.
Si hay errores rojos, comprueba la salida de la consola. Asegúrese de que ha completado todos los pasos anteriores correctamente y de que están presentes las versiones de compilación correctas.
La configuración ya está completa. Antes de publicar el almacén de claves, en appsettings.json, para la configuración JwtAudience, asegúrese de que el valor del nombre de host coincida exactamente con el nombre de host App Service.
Implementación del servicio DKE y publicación del almacén de claves
En el caso de las implementaciones de producción, implemente el servicio en una nube de terceros o publíquelo en un sistema local.
Es posible que prefiera otros métodos para implementar las claves. Seleccione el método que mejor se adapte a su organización.
En el caso de las implementaciones piloto, puede implementar en Azure y empezar inmediatamente.
Para crear una instancia de aplicación web de Azure para hospedar la implementación de DKE
Para publicar el almacén de claves, cree una instancia de Azure App Service para hospedar la implementación de DKE. A continuación, publique las claves generadas en Azure.
En el explorador, inicie sesión en Microsoft Azure Portal y vaya a App Services> Crear > aplicación web.
Cree un grupo de recursos nuevo o seleccione uno existente.
Proporcione un nombre para la instancia, por ejemplo, contosodke1. Este nombre no coincide con el nombre del archivo de configuración. El valor que proporcione para el nombre también es WebAppInstanceName.
En el plan de precios, seleccione un tamaño que permita dominios personalizados, por ejemplo, B1 básico.
En Publicar, selecciona Código y, en Pila en tiempo de ejecución, selecciona .NET 8 (LTS).
Selecciona Revisar + crear
Por ejemplo:
En la aplicación web recién creada, vaya a "Configuración", "Dominios personalizados", seleccione Agregar dominio personalizado
En Proveedor de dominio, seleccione Todos los demás servicios de dominio
En Dominio, escriba el nombre de host del equipo en el que desea instalar el servicio DKE.
Importante
Asegúrese de que el nombre de host sea el mismo nombre que el definido para la configuración JwtAudience en el archivo appsettings.json.
- En el DNS público, realice los cambios sugeridos como se indica en la sección Validación de dominio y seleccione Validar.
Por ejemplo:
Siga este procedimiento para publicar las claves generadas:
- Publicar a través de ZipDeployUI
- Puedes usar otros métodos para cargar los archivos binarios en esa aplicación, como FTP.
Por ejemplo, FTP
Publicar a través de ZipDeployUI
Ve a
https://<WebAppInstanceName>.scm.<location>.azurewebsites.net/ZipDeployUI.Por ejemplo:
https://dkeservice-ctaugtfwh7d3c3c.scm.westcentralus-01.azurewebsites.net/ZipDeployUIInicie un símbolo del sistema de PowerShell.
En el código base del almacén de claves, vaya a la carpeta customer-key-store\src\customer-key-store y compruebe que esta carpeta contiene el archivo customerkeystore.csproj .
Ejecutar: dotnet publish
La ventana de salida muestra el directorio donde se implementó la publicación.
Por ejemplo:
customer-key-store\src\customer-key-store\bin\Debug\net8.0\publish\Enviar todos los archivos del directorio de publicación a un archivo .zip. Al crear el archivo .zip, asegúrese de que todos los archivos del directorio estén en el nivel raíz del archivo .zip.
Arrastra y suelta el archivo .zip que creaste en el sitio ZipDeployUI que abriste antes.
DKE se implementa y puede examinar las claves de prueba que creó. En este artículo, continúe validando su implementación .
Validar la implementación
Después de implementar DKE mediante uno de los métodos descritos en este artículo, valide la implementación y la configuración del almacén de claves.
Ejecutar:
src\customer-key-store\scripts\key_store_tester.ps1 dkeserviceurl/mykey
Por ejemplo:
key_store_tester.ps1 https://dkeservice.contoso.com/TestKey1
Asegúrese de que no aparecen errores en la salida. Cuando esté listo, registre el almacén de claves.
El nombre de la clave distingue mayúsculas de minúsculas. Escriba el nombre de la clave tal como aparece en el archivo appsettings.json.
Registrar el almacén de claves
Los pasos siguientes le permiten registrar el servicio DKE. El registro del servicio DKE es el último paso en la implementación de DKE antes de empezar a crear etiquetas.
Para registrar el servicio DKE:
En el explorador, abra Microsoft Azure Portal y vaya aRegistros de la aplicaciónAll Services>Identity>.
Seleccione Nuevo registro y escriba un nombre significativo.
Seleccione un tipo de cuenta de las opciones que se muestran.
Por ejemplo:
En la parte inferior de la página, seleccione Registrarse para crear el nuevo registro de aplicaciones.
En el nuevo registro de aplicaciones, en el panel izquierdo, en Administrar, seleccione Autenticación.
Seleccione Agregar una plataforma.
En la ventana emergente Configurar plataformas , selecciona Web.
En URI de redireccionamiento, escriba el URI del servicio de cifrado de doble clave. Escriba la dirección URL de App Service, incluidos el nombre de host y el dominio.
Por ejemplo:
https://mydkeservicetest.com- La dirección URL que escriba debe coincidir con el nombre de host en el que se implementa el servicio DKE.
- El dominio debe ser un dominio comprobado.
- En todos los casos, el esquema debe ser https.
Asegúrese de que el nombre de host coincida exactamente con el nombre de host de App Service.
En Concesión implícita, active la casilla tokens de identificación .
Seleccione Guardar para guardar los cambios.
En el panel izquierdo, seleccione Exponer una API, junto al URI de id. de aplicación, escriba la dirección URL de App Service, incluidos el nombre de host y el dominio y, a continuación, seleccione Establecer.
Todavía en la página Exponer una API , en el área Ámbitos definidos por esta API , seleccione Agregar un ámbito. En el nuevo ámbito:
Defina el nombre del ámbito como user_impersonation.
Seleccione los administradores y usuarios que pueden dar su consentimiento.
Defina los valores restantes necesarios.
Seleccione Agregar ámbito.
Seleccione Guardar en la parte superior para guardar los cambios.
Todavía en la página Exponer una API , en el área Aplicaciones cliente autorizadas , seleccione Agregar una aplicación cliente.
En la nueva aplicación cliente:
Defina el identificador de cliente como
d3590ed6-52b3-4102-aeff-aad2292ab01c. Este valor es el identificador de cliente de Microsoft Office y permite a Office obtener un token de acceso para el almacén de claves.En Ámbitos autorizados, seleccione el ámbito user_impersonation .
Seleccione Agregar aplicación.
Seleccione Guardar en la parte superior para guardar los cambios.
Repita estos pasos, pero esta vez, defina el id. de cliente como
00001111-aaaa-2222-bbbb-3333cccc4444. Este valor es el identificador de cliente de Purview Information Protection.
El servicio DKE ya está registrado. Siga creando etiquetas con DKE.
Creación de etiquetas de confidencialidad con DKE
En el portal de Microsoft Purview, cree una nueva etiqueta de confidencialidad y aplique el cifrado como lo haría de otra manera. Seleccione Usar cifrado de doble clave y escriba la dirección URL del extremo de su clave. Debe incluir el nombre de clave que proporcionó en la sección "TestKeys" del archivo appsettings.json en la dirección URL.
Por ejemplo: https://testingdke1.azurewebsites.net/KEYNAME
Las etiquetas DKE que agregue aparecerán para los usuarios en las versiones más recientes de las Aplicaciones Microsoft 365 para empresas.
Nota:
Los clientes pueden tardar hasta 24 horas en actualizarse con las nuevas etiquetas.
Migrar archivos protegidos de etiquetas HYOK a etiquetas DKE
Si lo desea, una vez finalizada la configuración de DKE, puede migrar el contenido que protegió mediante etiquetas HYOK a etiquetas DKE. Para migrar, use el escáner de Microsoft Purview Information Protection. Para empezar a utilizar el escáner, consulte Comprender el escáner de protección de la información.
Si no migra el contenido, el contenido protegido por HYOK no se verá afectado.
Otras opciones de implementación
Somos conscientes de que, para algunos clientes de sectores altamente regulados, esta implementación de referencia estándar que usa claves basadas en software puede no ser suficiente para satisfacer sus obligaciones y necesidades de cumplimiento mejoradas. Nos asociamos con proveedores de módulos de seguridad de hardware (HSM) de terceros para admitir opciones de administración de claves mejoradas en el servicio DKE, entre las que se incluyen:
Comuníquese directamente con estos proveedores para obtener más información y orientación sobre sus soluciones DKE HSM en el mercado.
Configuración de clientes para aplicar etiquetas de confidencialidad DKE
Complete esta tarea en cada dispositivo cliente.
Asegúrese de que los siguientes valores de registro están definidos en cada cliente. Cree claves del Registro que aún no existan:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC\flighting] "DoubleKeyProtection"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\flighting] "DoubleKeyProtection"=dword:00000001