Sus propias claves de cifrado para Power BI
De forma predeterminada, Power BI usa claves administradas por Microsoft para cifrar los datos. En Power BI Premium, también puede usar claves propias para los datos en reposo que se importan en un modelo semántico. Este enfoque suele describirse como Bring Your Own Key (BYOK). Para más información, vea Consideraciones sobre el origen de datos y el almacenamiento.
¿Por qué usar BYOK?
BYOK permite satisfacer más fácilmente los requisitos de cumplimiento que especifican las condiciones de las claves con el proveedor de servicios en la nube, en este caso, Microsoft. Con BYOK, puede proporcionar y controlar las claves de cifrado para los datos en reposo de Power BI en el nivel de aplicación. Como resultado, puede ejercer el control y revocar las claves de la organización si decide dejar el servicio. Al revocar las claves, los datos se vuelven ilegibles para el servicio en 30 minutos.
Consideraciones sobre el origen de datos y el almacenamiento
Para usar BYOK, debe cargar los datos en el servicio Power BI desde un archivo de Power BI Desktop (PBIX). No se puede usar BYOK en los escenarios siguientes:
- Conexiones dinámicas de Analysis Services
- Libros de Excel, a menos que los datos se importen primero en Power BI Desktop
- Modelos semánticos de inserción
- Modelos semánticos de transmisión
- Actualmente, las métricas de Power BI no admiten BYOK
BYOK solo se aplica a los modelos semánticos. Los modelos semánticos de inserción, los archivos de Excel y los archivos CSV que los usuarios pueden cargar en el servicio no se cifran con la clave personal propia. Para identificar los elementos que se almacenan en las áreas de trabajo, use el siguiente comando de PowerShell:
PS C:\> Get-PowerBIWorkspace -Scope Organization -Include All
Nota
Este cmdlet requiere el módulo de administración de Power BI versión 1.0.840. Para ver qué versión tiene, ejecute Get-InstalledModule -Name MicrosoftPowerBIMgmt
. Ejecute Install-Module -Name MicrosoftPowerBIMgmt
para instalar la versión más reciente. Puede obtener más información sobre el cmdlet de Power BI y sus parámetros en Módulo de cmdlets de PowerShell de Power BI.
Configuración de Azure Key Vault
En esta sección se explica cómo configurar Azure Key Vault, una herramienta para almacenar y acceder a los secretos, como las claves de cifrado, de forma segura. Puede usar un almacén de claves existente para almacenar las claves de cifrado o puede crear uno nuevo específicamente para su uso con Power BI.
En las instrucciones siguientes se presupone un conocimiento básico de Azure Key Vault. Para obtener más información, consulte Conceptos básicos de Azure Key Vault.
Configure el almacén de claves de la manera siguiente:
Agregue el servicio Power BI como una entidad de servicio para el almacén de claves, con permisos para encapsular y desencapsular.
Cree una clave RSA con una longitud de 4096 bits (o use una clave existente de este tipo) con permisos para encapsular y desencapsular.
Importante
BYOK de Power BI solo admite claves RSA con una longitud de 4096 bits.
Recomendado: compruebe que el almacén de claves tiene la opción de eliminación temporal habilitada.
Adición de la entidad de servicio
Inicie sesión en Azure Portal y busque Almacenes de claves.
En el almacén de claves, seleccione Directivas de acceso y, después, elija Crear.
En la pantalla Permisos, en Permisos de clave, seleccione Desencapsular clave y Encapsular clave y, después, elija Siguiente.
En la pantalla Entidad de seguridad, busque y seleccione Microsoft.Azure.AnalysisServices.
Nota:
Si no encuentra Microsoft.Azure.AnalysisServices, es probable que la suscripción de Azure asociada a la instancia de Azure Key Vault nunca haya tenido asociado un recurso de Power BI. En su lugar, intente buscar la cadena siguiente: 00000009-0000-0000-c000-000000000000.
Seleccione Siguiente y, después, Revisar y crear>Crear.
Nota:
Para revocar el acceso de Power BI a los datos, quite los derechos de acceso a esta entidad de servicio de la instancia de Azure Key Vault.
Creación de una clave RSA
En el almacén de claves, en Claves, seleccione Generar/Importar.
Seleccione un Tipo de clave de RSA y un Tamaño de la clave RSA de 4096.
Seleccione Crear.
En Claves, seleccione la clave que creó.
Seleccione el identificador GUID de la Versión actual de la clave.
Compruebe que están seleccionados Encapsular clave y Desencapsular clave. Copie el Identificador de clave que se va a usar al habilitar BYOK en Power BI.
Opción de eliminación temporal
Debe habilitar la eliminación temporal en el almacén de claves para protegerse de la pérdida de datos en el caso de eliminación accidental de la clave o del almacén de claves. Para habilitar la propiedad de eliminación temporal, debe usar PowerShell porque esta opción aún no está disponible en Azure Portal.
Con Azure Key Vault configurado correctamente, está listo para habilitar BYOK en el inquilino.
Configuración del firewall de Azure Key Vault
En esta sección, se describe el uso de la omisión de firewall para los servicios de Microsoft de confianza, con el fin de configurar un firewall en torno a Azure Key Vault.
Nota
Puede optar por habilitar las reglas de firewall en el almacén de claves. También puede optar por dejar deshabilitado el firewall en el almacén de claves, según la configuración predeterminada.
Power BI es un servicio de Microsoft de confianza. Puede indicarle al firewall del almacén de claves que permita el acceso a todos los servicios de Microsoft de confianza, una configuración que permite a Power BI acceder al almacén de claves sin especificar conexiones de punto de conexión.
Si desea configurar Azure Key Vault para permitir el acceso a los servicios de Microsoft de confianza, siga estos pasos:
Busque Almacenes de claves en Azure Portal y, después, seleccione el almacén de claves al que quiera permitir el acceso desde Power BI y todos los demás servicios de Microsoft de confianza.
Seleccione Redes en el panel de navegación de la izquierda.
En Firewalls y redes virtuales, seleccione Permitir el acceso público desde redes virtuales específicas y direcciones IP.
Desplácese hacia abajo hasta la sección Firewall. Seleccione ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall?
Seleccione Aplicar.
Habilitación de BYOK en el inquilino
Habilite BYOK en el nivel de inquilino mediante PowerShell. En primer lugar, instale el paquete de administración de Power BI para PowerShell e introduzca las claves de cifrado que ha creado y almacenado en Azure Key Vault en el inquilino de Power BI. A continuación, debe asignar estas claves de cifrado en la capacidad Premium para cifrar el contenido de esta capacidad.
Consideraciones importantes
Antes de habilitar BYOK, tenga en cuenta las consideraciones siguientes:
Actualmente no se puede deshabilitar BYOK después de habilitarlo. En función de cómo se especifiquen los parámetros de
Add-PowerBIEncryptionKey
, puede controlar cómo usar BYOK para una o varias de las capacidades. Sin embargo, no se puede deshacer la introducción de claves en el inquilino. Para más información, consulte Habilitación de BYOK.No se puede mover directamente un área de trabajo en la que se usa BYOK desde una capacidad de Power BI Premium a una capacidad compartida. Primero debe mover el área de trabajo a una capacidad que no tenga habilitado BYOK.
Si mueve un área de trabajo en la que se usa BYOK de una capacidad de Power BI Premium a una compartida, los informes y los modelos semánticos se vuelven inaccesibles, ya que están cifrados con la clave. Para evitarlo, primero debe mover el área de trabajo a una capacidad que no tenga habilitado BYOK.
Habilitación de BYOK
Para habilitar BYOK, debe ser un administrador de Power BI y haber iniciado sesión con el cmdlet Connect-PowerBIServiceAccount
. Después, use Add-PowerBIEncryptionKey para habilitar BYOK, como se muestra en el ejemplo siguiente:
Add-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'
Para agregar varias claves, ejecute Add-PowerBIEncryptionKey
con valores diferentes para -Name
y -KeyVaultKeyUri
.
El cmdlet acepta dos parámetros de modificador que afectan al cifrado de las capacidades actuales y futuras. Ninguno de los modificadores está establecido de forma predeterminada:
-Activate
: indica que esta clave se usa para todas las capacidades existentes en el inquilino que aún no están cifradas.-Default
: indica que esta clave es ahora la predeterminada para todo el inquilino. Cuando se crea una nueva capacidad, dicha capacidad hereda esta clave.
Importante
Si especifica -Default
, todas las capacidades creadas en el inquilino desde este momento se cifran con la clave especificada, o bien con una clave predeterminada actualizada. No se puede deshacer la operación predeterminada, por lo que se pierde la opción de crear una capacidad Premium en el inquilino que no usa BYOK.
Después de habilitar BYOK en el inquilino, establezca la clave de cifrado de una o varias capacidades de Power BI:
Use Get-PowerBICapacity para obtener el identificador de capacidad necesario para el paso siguiente.
Get-PowerBICapacity -Scope Individual
El cmdlet devuelve una salida similar a la siguiente:
Id : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx DisplayName : Test Capacity Admins : adam@sometestdomain.com Sku : P1 State : Active UserAccessRight : Admin Region : North Central US
Use Set-PowerBICapacityEncryptionKey para establecer la clave de cifrado:
Set-PowerBICapacityEncryptionKey -CapacityId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -KeyName 'Contoso Sales'
Tiene el control sobre el uso de BYOK en el inquilino. Por ejemplo, para cifrar una sola capacidad, llame a Add-PowerBIEncryptionKey
sin -Activate
o -Default
. A continuación, llame a Set-PowerBICapacityEncryptionKey
para la capacidad en la que desea habilitar BYOK.
Administración de BYOK
Power BI proporciona cmdlets adicionales para ayudar a administrar BYOK en el inquilino:
Use Get-PowerBICapacity para obtener la clave que actualmente usa una capacidad:
Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
Use Get-PowerBIEncryptionKey para obtener la clave que actualmente usa el inquilino:
Get-PowerBIEncryptionKey
Use Get-PowerBIWorkspaceEncryptionStatus para ver si se cifran los modelos semánticos de un área de trabajo y si su estado de cifrado está sincronizado con el área de trabajo:
Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
Tenga en cuenta que el cifrado se habilita en el nivel de capacidad, pero el estado de cifrado se obtiene en el nivel de modelo semántico del área de trabajo especificada.
Use Switch-PowerBIEncryptionKey para cambiar (o rotar) la versión de la clave que se usa para el cifrado. El cmdlet simplemente actualiza el valor de
-KeyVaultKeyUri
de la clave especificada en la opción-Name
:Switch-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'
Tenga en cuenta que la clave actual debe estar habilitada.