Condividi tramite


Usare chiavi di crittografia personalizzate per Power BI

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 BYOK (Bring Your Own Key). Per altre informazioni, vedere Considerazioni sull'origine dati e sull'archiviazione.

Vantaggi derivanti dall'uso di BYOK

BYOK semplifica le procedure necessarie per soddisfare i requisiti di conformità che specificano le disposizioni in merito alle chiavi da concordare con il provider di servizi cloud, in questo caso Microsoft. Con BYOK, le chiavi di crittografia per i dati inattivi di Power BI vengono specificate e controllate a livello di applicazione. Di conseguenza, è possibile esercitare un controllo e, nel caso in cui si decida di uscire dal servizio, revocare le chiavi dell'organizzazione. Se si revocano le chiavi, i dati diventano illeggibili per il servizio entro 30 minuti.

Considerazioni su origine e archiviazione dei dati

Per usare la crittografia BYOK, è necessario caricare i dati nel servizio Power BI da un file di Power BI Desktop con estensione pbix. Non è possibile usare la crittografia 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 con la chiave personale. Per identificare gli elementi archiviati nelle proprie aree di lavoro, usare il comando di PowerShell seguente:

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

Nota

Questo cmdlet richiede Power BI Management Module 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 in Moduli dei cmdlet di Power BI per PowerShell.

Configurare Azure Key Vault

Questa sezione illustra come configurare Azure Key Vault, uno strumento per l'archiviazione e l'accesso sicuri ai segreti, come le chiavi di crittografia. È possibile usare un insieme di credenziali delle chiavi esistente per archiviare le chiavi di crittografia oppure è possibile crearne uno nuovo da usare 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 un'entità servizio per l'insieme di credenziali delle chiavi, con autorizzazioni per eseguire e annullare il wrapping.

  2. Creare una chiave RSA con una lunghezza di 4096 bit, o usare una chiave esistente di questo tipo, con autorizzazioni per eseguire e annullare il wrapping.

    Importante

    BYOK in Power BI supporta solo le chiavi RSA con una lunghezza di 4096 bit.

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

Aggiungere l'entità servizio

  1. Accedere al portale di Azure e cercare Key Vault.

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

    Screenshot del pulsante Crea per i criteri di accesso nel portale di Azure.

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

    Screenshot della schermata delle autorizzazioni per creare un nuovo criterio di accesso.

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

    Nota

    Se non si riesce a trovare Microsoft.Azure.AnalysisServices, è probabile che alla sottoscrizione di Azure associata ad Azure Key Vault non sia mai stata associata una risorsa Power BI. Provare invece a cercare la stringa seguente: 00000009-0000-0000-c000-000000000000.

    Screenshot della schermata Entità per selezionare una nuova entità per i criteri di accesso.

  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 di RSA e un valore di Dimensioni della chiave RSA pari a 4096.

    Screenshot delle selezioni del tipo di chiave RSA e delle dimensioni.

  3. Seleziona Crea.

  4. In Chiavi selezionare la chiave creata.

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

  6. Verificare che le opzioni Esegui il wrapping della chiave e Annulla il wrapping della chiave siano entrambe selezionate. Copiare l'Identificatore chiave da usare quando si abilita la crittografia BYOK in Power BI.

    Screenshot delle proprietà chiave con l'identificatore e le operazioni consentite.

Opzione di eliminazione temporanea

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

Una volta configurato Azure Key Vault correttamente, è possibile abilitare la crittografia 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 tutti i servizi Microsoft attendibili, un'impostazione che consente a Power BI di accedere all'insieme di credenziali delle chiavi senza specificare connessioni endpoint.

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

  1. Cercare Insiemi di credenziali delle chiavi nel portale di Azure, quindi selezionare l'insieme di credenziali delle chiavi a cui si vuole consentire l'accesso da Power BI e da tutti gli altri servizi Microsoft attendibili.

  2. Selezionare Rete nel pannello di spostamento a sinistra.

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

    Screenshot dell'opzione di rete di Azure Key Vault con l'opzione firewall e reti virtuali selezionata.

  4. Scorrere verso il basso fino alla sezione Firewall. Selezionare Consentire ai servizi Microsoft attendibili di ignorare il firewall.

    Screenshot dell'opzione per consentire ai servizi Microsoft attendibili di ignorare questo firewall.

  5. Selezionare Applica.

Abilitare la crittografia 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. In seguito queste chiavi di crittografia vengono assegnate ad ogni livello capacità Premium per crittografare il contenuto della capacità.

Considerazioni importanti

Prima di abilitare la crittografia BYOK, tenere presente le considerazioni seguenti:

  • In questa fase non è possibile disabilitare la crittografia BYOK dopo averla abilitata. A seconda di come vengono specificati i parametri per Add-PowerBIEncryptionKey, è possibile controllare la modalità con cui viene usata la crittografia BYOK per una o più capacità. Tuttavia, non è possibile annullare l'introduzione delle chiavi nel tenant. Per altre informazioni, vedere Abilitare la crittografia BYOK.

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

  • 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 che ciò accada, è necessario prima spostare l'area di lavoro in una capacità in cui la crittografia BYOK non è abilitata.

Abilitare la crittografia BYOK

Per abilitare la crittografia BYOK, è necessario essere un amministratore di Power BI e aver effettuato l'accesso con il cmdlet Connect-PowerBIServiceAccount. 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 opzionali che influiscono sulla crittografia per le capacità correnti e future. Per impostazione predefinita, nessuna delle due opzioni è impostata:

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

  • -Default: indica che la chiave è ora il valore predefinito 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 momento vengono crittografate con la chiave specificata, o con una chiave predefinita aggiornata. Non è possibile annullare l'operazione predefinita, quindi non è possibile creare nel tenant una capacità Premium che non usi la funzionalità BYOK (Bring Your Own Key).

Dopo aver abilitato la funzionalità 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 la modalità di uso della crittografia BYOK in tutto il tenant. Ad esempio, per crittografare una capacità singola, chiamare Add-PowerBIEncryptionKey senza -Activate, o -Default. Chiamare quindi Set-PowerBICapacityEncryptionKey per la capacità in cui si vuole abilitare la crittografia BYOK.

Gestire BYOK

Power BI offre altri cmdlet per gestire la crittografia 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 lo stato della crittografia viene ottenuto 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 l'elemento -KeyVaultKeyUri per 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.