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 sus propias claves para datos en reposo que se importan en un conjunto de datos (consulte Consideraciones sobre el origen de datos y el almacenamiento para más información). Este enfoque suele describirse como Bring Your Own Key (BYOK).

¿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 de 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 son 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 siguientes escenarios:

BYOK solo se puede usar con conjuntos de datos. Los conjuntos de datos de inserción, los archivos de Excel y los archivos CSV que los usuarios pueden cargar en el servicio no se cifran con su clave personal propia. Para identificar qué elementos 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. Instale la versión más reciente ejecutando Install-Module -Name MicrosoftPowerBIMgmt. 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 enseña 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.

Las instrucciones de esta sección presuponen un conocimiento básico de Azure Key Vault. Para más información, consulte ¿Qué es Azure Key Vault?

Configure el almacén de claves de la manera siguiente:

  1. Agregue el servicio Power BI como entidad de servicio para el almacén de claves, con permisos de ajuste y desencapsulado.

  2. Cree una clave RSA con una longitud de 4096 bits (o use una clave existente de este tipo), con permisos de ajuste y desencapsulado.

    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 habilitada la opción de eliminación temporal.

Adición de la entidad de servicio

  1. En Azure Portal, en la sección Directivas de acceso del almacén de claves, seleccione Agregar directiva de acceso.

  2. En Permisos de clave, seleccione Desencapsular clave y Encapsular clave.

    P B I X file select cryptographic operations.

  3. En Seleccionar entidad, busque y seleccione Microsoft.Azure.AnalysisServices.

    Nota

    Si no encuentra “Microsoft.Azure.AnalysisServices”, es probable que la suscripción de Azure asociada a su 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.

    P B I X file select service principal.

  4. Seleccione Aceptar y, a continuación, Guardar.

Nota

Para revocar el acceso de Power BI a los datos en el futuro, quite los derechos de acceso a esta entidad de servicio de Azure Key Vault.

Creación de una clave RSA

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

  2. En Tipo de clave, seleccione RSA y en Tamaño de la clave RSA, seleccione 4096.

    Create a key with key type and size highlighted

  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.

    Properties with key identifier and permitted operations highlighted

Opción de eliminación temporal

Se recomienda que habilite la eliminación temporal en el almacén de claves para protegerse frente a la pérdida de datos en el caso de eliminación accidental de la clave o el almacén de claves. Debe usar PowerShell para habilitar la propiedad de "eliminación temporal" en el almacén de claves, ya que 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 de servicios de Microsoft de confianza para configurar un firewall en torno a Azure Key Vault.

Nota:

La habilitación de reglas de firewall en el almacén de claves es opcional. 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 indicar 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.

Para configurar Azure Key Vault para permitir el acceso a servicios de Microsoft de confianza, siga estos pasos:

  1. Inicie sesión en Azure Portal.

  2. Busque Almacenes de claves.

  3. Seleccione el almacén de claves que desea permitir el acceso a Power BI (y a todos los demás servicios de Microsoft de confianza).

  4. Seleccione Redes y, a continuación, firewalls y redes virtuales.

  5. En la opción Permitir acceso desde , seleccione Redes seleccionadas.

    A screenshot showing the Azure Key Vault networking option, with the firewalls and virtual networks option selected.

  6. En la sección firewall , en la sección Permitir que los servicios de Microsoft de confianza omitan este firewall, seleccione .

    A screenshot showing the allow trusted Microsoft services to bypass this firewall option selected.

  7. Seleccione Guardar.

    A screenshot showing the Azure Key Vault networking save button highlighted.

Habilitación de BYOK en el inquilino

Para habilitar BYOK con PowerShell en el nivel de inquilino, primero debe proporcionar en el inquilino de Power BI las claves de cifrado que ha creado y almacenado en Azure Key Vault. 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 conjuntos de datos se vuelven inaccesibles, ya que se cifran 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. A continuación, utilice Add-PowerBIEncryptionKey para habilitar BYOK, tal 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 usará 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 cifrarán con la clave especificada (o 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 use 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 este paso.

    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:

  • Utilice Get-PowerBICapacity para obtener la clave que usa actualmente una capacidad:

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Use Get-PowerBIEncryptionKey para obtener la clave que se usa actualmente en el inquilino:

    Get-PowerBIEncryptionKey
    
  • Use Get-PowerBIWorkspaceEncryptionStatus para ver si se cifran los conjuntos de datos de un área de trabajo y si el 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 conjunto de datos del área de trabajo especificada.

  • Use Switch-PowerBIEncryptionKey para cambiar (o girar) 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.

Pasos siguientes