Usare chiavi di crittografia personalizzate per Power BI

Power BI crittografa i dati inattivi e in corso. Per impostazione predefinita, Power BI usa chiavi gestite da Microsoft per crittografare i dati. In Power BI Premium è anche possibile usare chiavi personalizzate per i dati inattivi importati in un modello semantico. Questo approccio viene spesso descritto come bring your own key (BYOK). Per altre informazioni, vedere Considerazioni sull'origine dati e sull'archiviazione.

Perché usare BYOK?

BYOK rende più semplice soddisfare i requisiti di conformità che specificano le disposizioni chiave con il provider di servizi cloud, in questo caso Microsoft. Con BYOK è possibile fornire e controllare le chiavi di crittografia per i dati inattivi di Power BI a livello di applicazione. Di conseguenza, è possibile esercitare il controllo e revocare le chiavi dell'organizzazione, se si decide di uscire dal servizio. Revocando le chiavi, i dati diventano illeggibili per il servizio entro 30 minuti.

Considerazioni sull'origine dati e sull'archiviazione

Per usare BYOK, è necessario caricare i dati nel servizio Power BI da un file di Power BI Desktop (PBIX). Non è possibile usare BYOK negli scenari seguenti:

BYOK si applica solo ai modelli semantici. I modelli semantici push, i file di Excel e i file CSV che gli utenti possono caricare nel servizio non vengono crittografati usando la propria chiave. Per identificare gli elementi archiviati nelle aree di lavoro, usare il comando PowerShell seguente:

PS C:\> Get-PowerBIWorkspace -Scope Organization -Include All

Nota

Questo cmdlet richiede il modulo di gestione di Power BI v1.0.840. È possibile visualizzare la versione disponibile eseguendo Get-InstalledModule -Name MicrosoftPowerBIMgmt. Installare la versione più recente eseguendo Install-Module -Name MicrosoftPowerBIMgmt. È possibile ottenere altre informazioni sul cmdlet di Power BI e sui relativi parametri nel modulo cmdlet di Power BI powerShell.

Configurare Azure Key Vault

Questa sezione illustra come configurare Azure Key Vault, uno strumento per archiviare e accedere ai segreti in modo sicuro, ad esempio le chiavi di crittografia. È possibile usare un insieme di credenziali delle chiavi esistente per archiviare le chiavi di crittografia oppure crearne uno nuovo specifico per l'uso con Power BI.

Le istruzioni seguenti presuppongono una conoscenza di base di Azure Key Vault. Per altre informazioni, vedere Che cos'è Azure Key Vault?

Configurare l'insieme di credenziali delle chiavi nel modo seguente:

  1. Aggiungere il servizio Power BI come entità servizio per l'insieme di credenziali delle chiavi, con autorizzazioni di wrapping e annullamento del wrapping.

  2. Creare una chiave RSA con una lunghezza a 4096 bit oppure usare una chiave esistente di questo tipo, con autorizzazioni di wrapping e annullamento del wrapping.

    Importante

    Power BI BYOK supporta solo le chiavi RSA con lunghezza a 4096 bit.

  3. Consigliato: verificare che l'opzione eliminazione temporanea sia abilitata per l'insieme di credenziali delle chiavi.

Aggiungere l'entità servizio

  1. Accedere al portale di Azure e cercare Insiemi di credenziali delle chiavi.

  2. Nell'insieme di credenziali delle chiavi selezionare Criteri di accesso e quindi scegliere Crea.

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

  3. Nella schermata Autorizzazioni, in Autorizzazioni chiave selezionare Annulla il wrapping della chiave e esegui il wrapping della chiave, quindi scegliere Avanti.

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

  4. Nella schermata Entità cercare e selezionare Microsoft.Azure.AnalysisServices.

    Nota

    Se non è possibile trovare Microsoft.Azure.AnalysisServices, è probabile che la sottoscrizione di Azure associata all'insieme di credenziali delle chiavi di Azure non abbia mai associato una risorsa di Power BI. Provare a cercare la stringa seguente: 00000009-0000-0000-c000-0000-00000000000000.

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

  5. Selezionare Avanti, quindi Rivedi e crea>crea.

Nota

Per revocare l'accesso a Power BI ai dati, rimuovere i diritti di accesso a questa entità servizio dall'insieme di credenziali delle chiavi di Azure.

Creare una chiave RSA

  1. Nell'insieme di credenziali delle chiavi, in Chiavi, selezionare Genera/Importa.

  2. Selezionare un tipo di chiave RSA e una dimensione della chiave RSA pari a 4096.

    Screenshot of the RSA key type and size selections.

  3. Seleziona Crea.

  4. In Chiavi selezionare la chiave creata.

  5. Selezionare il GUID per la versione corrente della chiave.

  6. Verificare che sia selezionata l'opzione Wrap Key (A capo chiave ) e Unwrap Key (Annulla il wrapping della chiave ) sia selezionata. Copiare l'identificatore di chiave da usare quando si abilita BYOK in Power BI.

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

Opzione eliminazione temporanea

È consigliabile abilitare l'eliminazione temporanea nell'insieme di credenziali delle chiavi per proteggersi dalla perdita di dati in caso di chiave accidentale o di eliminazione dell'insieme di credenziali delle chiavi. Per abilitare la proprietà di eliminazione temporanea, è necessario usare PowerShell perché questa opzione non è ancora disponibile nella portale di Azure.

Dopo aver configurato correttamente Azure Key Vault, è possibile abilitare byok nel tenant.

Configurare il firewall di Azure Key Vault

Questa sezione descrive l'uso del bypass del firewall del servizio Microsoft attendibile per configurare un firewall per l'insieme di credenziali delle chiavi di Azure.

Nota

È possibile scegliere di abilitare le regole del firewall nell'insieme di credenziali delle chiavi. È anche possibile scegliere di lasciare disabilitato il firewall nell'insieme di credenziali delle chiavi in base all'impostazione predefinita.

Power BI è un servizio Microsoft attendibile. È possibile indicare al firewall dell'insieme di credenziali delle chiavi di consentire l'accesso a tutte le servizi Microsoft attendibili, un'impostazione che consente a Power BI di accedere all'insieme di credenziali delle chiavi senza specificare le connessioni endpoint.

Per configurare Azure Key Vault per consentire l'accesso a servizi Microsoft attendibili, seguire questa procedura:

  1. Cercare Insiemi di credenziali delle chiavi nella portale di Azure, quindi selezionare l'insieme di credenziali delle chiavi che si vuole consentire l'accesso da Power BI e da tutte le altre servizi Microsoft attendibili.

  2. Selezionare Rete nel pannello di spostamento a sinistra.

  3. In Firewall e reti virtuali selezionare Consenti l'accesso pubblico da reti virtuali e indirizzi IP specifici.

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

  4. Scorrere verso il basso fino alla sezione Firewall . Selezionare Consenti servizi Microsoft attendibile per ignorare il firewall.

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

  5. Selezionare Applica.

Abilitare BYOK nel tenant

Per abilitare BYOK a livello di tenant, usare PowerShell. Prima di tutto, installare il pacchetto di amministrazione di Power BI per PowerShell e introdurre le chiavi di crittografia create e archiviate in Azure Key Vault nel tenant di Power BI. Queste chiavi di crittografia vengono quindi assegnate per capacità Premium per crittografare il contenuto nella capacità.

Considerazioni importanti

Prima di abilitare BYOK, tenere presenti le considerazioni seguenti:

  • Al momento, non è possibile disabilitare BYOK dopo averla abilitata. A seconda di come si specificano i parametri per Add-PowerBIEncryptionKey, è possibile controllare come si usa BYOK per una o più delle capacità. Non è tuttavia possibile annullare l'introduzione delle chiavi al tenant. Per altre informazioni, vedere Abilitare BYOK.

  • Non è possibile spostare direttamente un'area di lavoro che usa BYOK da una capacità in Power BI Premium a una capacità condivisa. È prima necessario spostare l'area di lavoro in una capacità che non dispone di BYOK abilitato.

  • Se si sposta un'area di lavoro che usa BYOK da una capacità in Power BI Premium a una capacità condivisa, i report e i modelli semantici diventano inaccessibili perché sono crittografati con la chiave. Per evitare questa situazione, è necessario prima spostare l'area di lavoro in una capacità che non dispone di BYOK abilitato.

Abilitare BYOK

Per abilitare BYOK, è necessario essere un amministratore di Power BI, che ha eseguito l'accesso usando il Connect-PowerBIServiceAccount cmdlet . Usare quindi Add-PowerBIEncryptionKey per abilitare BYOK, come illustrato nell'esempio seguente:

Add-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'

Per aggiungere più chiavi, eseguire Add-PowerBIEncryptionKey con valori diversi per -Name e -KeyVaultKeyUri.

Il cmdlet accetta due parametri switch che influiscono sulla crittografia per le capacità correnti e future. Per impostazione predefinita, nessuna delle opzioni è impostata:

  • -Activate: indica che questa chiave viene usata per tutte le capacità esistenti nel tenant che non sono già crittografate.

  • -Default: indica che questa chiave è ora l'impostazione predefinita per l'intero tenant. Quando si crea una nuova capacità, la capacità eredita questa chiave.

Importante

Se si specifica -Default, tutte le capacità create nel tenant da questo punto vengono crittografate usando la chiave specificata o una chiave predefinita aggiornata. Non è possibile annullare l'operazione predefinita, quindi si perde la possibilità di creare una capacità Premium nel tenant che non usa BYOK.

Dopo aver abilitato BYOK nel tenant, impostare la chiave di crittografia per una o più capacità di Power BI:

  1. Usare Get-PowerBICapacity per ottenere l'ID di capacità necessario per il passaggio successivo.

    Get-PowerBICapacity -Scope Individual
    

    Il cmdlet restituisce un output simile all'output seguente:

    Id              : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DisplayName     : Test Capacity
    Admins          : adam@sometestdomain.com
    Sku             : P1
    State           : Active
    UserAccessRight : Admin
    Region          : North Central US
    
  2. Usare Set-PowerBICapacityEncryptionKey per impostare la chiave di crittografia:

    Set-PowerBICapacityEncryptionKey -CapacityId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -KeyName 'Contoso Sales'
    

È possibile controllare il modo in cui si usa BYOK nel tenant. Ad esempio, per crittografare una singola capacità, chiamare Add-PowerBIEncryptionKey senza -Activate o -Default. Chiamare Set-PowerBICapacityEncryptionKey quindi per la capacità in cui si vuole abilitare BYOK.

Gestire BYOK

Power BI offre cmdlet aggiuntivi per gestire la modalità BYOK nel tenant:

  • Usare Get-PowerBICapacity per ottenere la chiave attualmente usata da una capacità:

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Usare Get-PowerBIEncryptionKey per ottenere la chiave attualmente usata dal tenant:

    Get-PowerBIEncryptionKey
    
  • Usare Get-PowerBIWorkspaceEncryptionStatus per verificare se i modelli semantici in un'area di lavoro sono crittografati e se il relativo stato di crittografia è sincronizzato con l'area di lavoro:

    Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
    

    Si noti che la crittografia è abilitata a livello di capacità, ma si ottiene lo stato di crittografia a livello di modello semantico per l'area di lavoro specificata.

  • Usare Switch-PowerBIEncryptionKey per cambiare o ruotare la versione della chiave usata per la crittografia. Il cmdlet aggiorna semplicemente per -KeyVaultKeyUri una chiave -Name:

    Switch-PowerBIEncryptionKey -Name'Contoso Sales' -KeyVaultKeyUri'https://contoso-vault2.vault.azure.net/keys/ContosoKeyVault/b2ab4ba1c7b341eea5ecaaa2wb54c4d2'
    

    Si noti che la chiave corrente deve essere abilitata.