Sus propias claves de cifrado para Power BI

Power BI cifra los datos en reposo y en proceso. 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:

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:

  1. Agregue el servicio Power BI como una entidad de servicio para el almacén de claves, con permisos para encapsular y desencapsular.

  2. 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.

  3. Recomendado: compruebe que el almacén de claves tiene la opción de eliminación temporal habilitada.

Adición de la entidad de servicio

  1. Inicie sesión en Azure Portal y busque Almacenes de claves.

  2. En el almacén de claves, seleccione Directivas de acceso y, después, elija Crear.

    Screenshot of the Create button for access policies in the Azure portal.

  3. En la pantalla Permisos, en Permisos de clave, seleccione Desencapsular clave y Encapsular clave y, después, elija Siguiente.

    Screenshot of the permission screen to create a new access policy.

  4. 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.

    Screenshot of the Principal screen to select a new principal for the access policy.

  5. 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

  1. En el almacén de claves, en Claves, seleccione Generar/Importar.

  2. Seleccione un Tipo de clave de RSA y un Tamaño de la clave RSA de 4096.

    Screenshot of the RSA key type and size selections.

  3. Seleccione Crear.

  4. En Claves, seleccione la clave que creó.

  5. Seleccione el identificador GUID de la Versión actual de la clave.

  6. 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.

    Screenshot of the key properties with the identifier and permitted operations.

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:

  1. 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.

  2. Seleccione Redes en el panel de navegación de la izquierda.

  3. En Firewalls y redes virtuales, seleccione Permitir el acceso público desde redes virtuales específicas y direcciones IP.

    Screenshot of the Azure Key Vault networking option, with the firewalls and virtual networks option selected.

  4. Desplácese hacia abajo hasta la sección Firewall. Seleccione ¿Quiere permitir que los servicios de confianza de Microsoft puedan omitir este firewall?

    Screenshot of the option to allow trusted Microsoft services to bypass this firewall.

  5. 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:

  1. 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
    
  2. 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.