Verwenden eigener Verschlüsselungsschlüssel für Power BI

Power BI verschlüsselt sowohl ruhende Daten als auch Daten während der Übertragung. Standardmäßig verwendet Power BI von Microsoft verwaltete Schlüssel zur Verschlüsselung Ihrer Daten. Mit Power BI Premium können Sie auch Ihre eigenen Schlüssel für ruhende Daten verwenden, die in ein semantisches Modell importiert werden. Dieser Ansatz wird als Bring Your Own Key (BYOK) bezeichnet. Weitere Informationen finden Sie unter Überlegungen zu Datenquellen und Speicher.

Was sind die Vorteile von BYOK?

Durch BYOK können Complianceanforderungen leichter erfüllt werden, in denen Schlüsselvereinbarungen mit dem Cloud-Dienstanbieter (in diesem Fall Microsoft) getroffen werden. Mit BYOK stellen Sie die Verschlüsselungsschlüssel für Ihre ruhenden Power BI-Daten auf Anwendungsebene selbst bereit und können diese verwalten. Deshalb haben Sie die volle Kontrolle und können die Schlüssel Ihrer Organisation widerrufen, wenn Sie sich dazu entscheiden, den Dienst zu verlassen. Durch den Widerruf der Schlüssel kann der Dienst die Daten für 30 Minuten nicht lesen.

Was bei Datenquellen und Speicher zu beachten ist

Wenn Sie BYOK verwenden möchten, müssen Sie Daten aus einer PBIX-Datei (Power BI Desktop) in den Power BI-Dienst hochladen. Sie können BYOK nicht in den folgenden Szenarios verwenden:

BYOK gilt nur für semantische Modelle. Push-Semantische Modelle, Excel-Dateien und CSV-Dateien, die Benutzer in den Dienst hochladen können, werden nicht mithilfe Ihres eigenen Schlüssels verschlüsselt. Verwenden Sie den folgenden PowerShell-Befehl, um zu ermitteln, welche Elemente in Ihren Arbeitsbereichen gespeichert werden:

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

Hinweis

Dieses Cmdlet erfordert das Power BI-Verwaltungsmodul v1.0.840. Sie können sehen, welche Version Sie haben, indem Sie Get-InstalledModule -Name MicrosoftPowerBIMgmt ausführen. Installieren Sie die neueste Version, indem Sie Install-Module -Name MicrosoftPowerBIMgmt ausführen. Weitere Informationen zum Power BI-Cmdlet und den zugehörigen Parametern finden Sie im Power BI-Modul für PowerShell-Cmdlets.

Konfigurieren von Azure Key Vault

In diesem Abschnitt erfahren Sie, wie der Azure Key Vault, ein Tool zum sicheren Speichern von und Zugreifen auf Geheimnisse, z. B. Verschlüsselungsschlüssel, konfiguriert wird. Sie können einen vorhandenen Schlüsseltresor verwenden, um Ihre Verschlüsselungsschlüssel zu speichern, oder Sie können einen neuen speziell für Power BI erstellen.

Die Anweisungen in diesem Abschnitt setzen grundlegende Kenntnisse des Azure Key Vault voraus. Weitere Informationen finden Sie unter Was ist der Azure Key Vault?.

Sie können Ihren Schlüsseltresor folgendermaßen konfigurieren:

  1. Fügen Sie den Power BI-Dienst als Dienstprinzipal für den Schlüsseltresor mit Berechtigungen zum Packen und Entpacken hinzu.

  2. Erstellen sie einen RSA-Schlüssel mit einer Länge von 4096 Bit (oder verwenden Sie einen vorhandenen Schlüssel dieses Typs) mit Berechtigungen zum Packen und Entpacken.

    Wichtig

    Power BI BYOK unterstützt nur RSA-Schlüssel mit einer Länge von 4096 Bit.

  3. (Empfohlen) Achten Sie darauf, dass die Option Vorläufiges Löschen für den Schlüsseltresor aktiviert ist.

Hinzufügen des Dienstprinzipals

  1. Melden Sie sich beim Azure-Portal an, und suchen Sie nach Key Vault.

  2. Wählen Sie in Ihrem Schlüsseltresor Zugriffsrichtlinien und dann Erstellen aus.

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

  3. Wählen Sie auf dem Bildschirm Berechtigungen unter Schlüsselberechtigungen die Option Schlüssel entpacken und Schlüssel umschließen aus, und wählen Sie dann Weiter aus.

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

  4. Suchen Sie auf dem Hauptbildschirm nach Microsoft.Azure.AnalysisServices und wählen Sie es aus.

    Hinweis

    Wenn Sie Microsoft.Azure.AnalysisServices nicht finden können, ist wahrscheinlich dem Azure-Abonnement, das Ihrem Azure Key Vault zugeordnet ist, nie eine Power BI-Ressource zugeordnet worden. Suchen Sie stattdessen nach der folgenden Zeichenfolge: 00000009-0000-0000-c000-000000000000.

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

  5. Wählen Sie Weiter und dann Überprüfen + erstellen>aus.

Hinweis

Entfernen Sie die Zugriffsrechte für diesen Dienstprinzipal aus Ihrem Azure Key Vault, um den Zugriff von Power BI auf Ihre Daten zukünftig aufzuheben.

Erstellen eines RSA-Schlüssels

  1. Klicken Sie in Ihrem Schlüsseltresor unter Schlüssel auf Generate/Import (Generieren/Importieren).

  2. Wählen Sie den SchlüsseltypRSA und eine RSA-Schlüsselgröße von 4096.

    Screenshot of the RSA key type and size selections.

  3. Klicken Sie auf Erstellen.

  4. Wählen Sie unter Schlüssel den Schlüssel aus, den Sie erstellt haben.

  5. Wählen Sie die GUID für die aktuelle Version des Schlüssel aus.

  6. Achten Sie darauf, dass Schlüssel packen und Schlüssel entpacken aktiviert sind. Kopieren Sie den Key Identifier (Schlüsselbezeichner), den Sie bei der Aktivierung von BYOK in Power BI benötigen.

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

Die Option zum vorläufigen Löschen

Es wird empfohlen, dass Sie die Option soft-delete in Ihrem Schlüsseltresor aktivieren, um Datenverluste zu vermeiden, wenn Schlüssel oder Schlüsseltresore versehentlich gelöscht werden. Um die Eigenschaft für vorläufiges Löschen zu aktivieren, müssen Sie PowerShell verwenden, da diese Option im Azure-Portal noch nicht verfügbar ist.

Wenn der Azure Key Vault ordnungsgemäß konfiguriert wurde, können Sie BYOK für Ihren Mandanten aktivieren.

Konfigurieren der Azure Key Vault-Firewall

In diesem Abschnitt wird beschrieben, wie Sie die Firewallumgehung des vertrauenswürdigen Microsoft-Diensts verwenden, um eine Firewall für Ihre Azure Key Vault-Instanz zu konfigurieren.

Hinweis

Sie können Firewallregeln für Ihren Schlüsseltresor aktivieren. Sie können auch festlegen, dass die Firewall für Ihren Schlüsseltresor deaktiviert bleiben soll, wie in der Standardeinstellung.

Power BI ist ein vertrauenswürdiger Microsoft-Dienst. Sie können die Firewall für den Schlüsseltresor so einstellen, dass sie den Zugriff auf alle vertrauenswürdigen Dienste von Microsoft zulässt. Mit dieser Einstellung kann Power BI auf Ihren Schlüsseltresor zugreifen, ohne Endpunktverbindungen festzulegen.

Gehen Sie folgendermaßen vor, um Azure Key Vault so zu konfigurieren, dass der Zugriff auf vertrauenswürdige Microsoft-Dienste möglich ist:

  1. Suchen Sie im Azure-Portal nach Key Vaults, und wählen Sie dann den Schlüsseltresor aus, den Sie über Power BI und alle anderen vertrauenswürdigen Microsoft-Dienste zulassen möchten.

  2. Wählen Sie im linken Navigationsbereich Netzwerk aus.

  3. Wählen Sie unter Firewalls und virtuelle Netzwerke die Option Öffentlichen Zugriff von bestimmten virtuellen Netzwerken und IP-Adressen aus zulassen.

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

  4. Scrollen Sie nach unten zum Abschnitt Firewall. Wählen Sie Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben aus.

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

  5. Wählen Sie Übernehmen.

Aktivieren von BYOK in Ihrem Mandanten

Sie aktivieren BYOK auf Mandantenebene mithilfe von PowerShell. Installieren Sie zunächst das Power BI-Verwaltungspaket für PowerShell, und führen Sie die Verschlüsselungsschlüssel, die Sie erstellt und in Azure Key Vault gespeichert haben, in Ihrem Power BI-Mandanten ein. Anschließend weisen Sie diese Verschlüsselungsschlüssel je einer Premium-Kapazität zu, um den Inhalt in dieser Kapazität zu verschlüsseln.

Wichtige Hinweise

Beachten Sie folgende Punkte, bevor Sie BYOK aktivieren:

  • Momentan können Sie BYOK nicht mehr deaktivieren, sobald Sie es einmal aktiviert haben. Je nachdem, wie Sie Parameter für Add-PowerBIEncryptionKey angeben, können Sie bestimmen, wie Sie BYOK für eine oder mehrere Kapazitäten verwenden. Sie können hinzugefügte Schlüssel nicht mehr aus Ihrem Mandanten entfernen. Weitere Informationen finden Sie weiter unten unter Aktivieren von BYOK.

  • Sie können Arbeitsbereiche, die BYOK verwenden, nicht direkt von einer Kapazität in Power BI Premium in eine gemeinsam genutzte Kapazität verschieben. Dazu müssen Sie den Arbeitsbereich zunächst in eine Kapazität verschieben, in der BYOK nicht aktiviert ist.

  • Wenn Sie einen Arbeitsbereich, der BYOK verwendet, von einer Kapazität in Power BI Premium auf eine gemeinsam genutzte Kapazität verschieben, sind Berichte und semantische Modelle nicht mehr zugänglich, da sie mit dem Schlüssel verschlüsselt sind. Sie müssen den Arbeitsbereich zunächst in eine Kapazität verschieben, in der BYOK nicht aktiviert ist, um diese Situation zu vermeiden.

Aktivieren von BYOK

Zum Aktivieren von BYOK müssen Sie ein Power BI-Administrator sein und sich mithilfe des Connect-PowerBIServiceAccount-Cmdlet angemeldet haben. Verwenden Sie dann Add-PowerBIEncryptionKey, um BYOK zu aktivieren. Dies wird im folgenden Beispiel veranschaulicht:

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

Führen Sie Add-PowerBIEncryptionKey mit unterschiedlichen Werten für –-Name und -KeyVaultKeyUri aus, um mehrere Schlüssel hinzuzufügen.

Das Cmdlet akzeptiert zwei Parameter, die sich auf die Verschlüsselung für vorhandene und zukünftige Kapazitäten auswirken. Standardmäßig ist keiner der Parameter festgelegt:

  • -Activate: Gibt an, dass dieser Schlüssel für alle noch nicht verschlüsselten Kapazitäten im Mandanten verwendet wird.

  • -Default: Gibt an, dass dieser Schlüssel jetzt der Standardschlüssel für den gesamten Mandanten ist. Wenn Sie eine neue Kapazität erstellen, erbt die Kapazität den Schlüssel.

Wichtig

Wenn Sie -Default angeben, werden alle Kapazitäten, die nachfolgend in Ihrem Mandanten erstellt werden, mit dem angegebenen Schlüssel (oder dem neuen Standardschlüssel) verschlüsselt. Sie können den Standardvorgang nicht rückgängig machen und daher in Ihrem Mandanten keine Premium-Kapazität mehr erstellen, die nicht BYOK verwendet.

Legen Sie den Verschlüsselungsschlüssel für eine oder mehrere Power BI-Kapazitäten fest, nachdem Sie BYOK in Ihrem Mandanten aktiviert haben:

  1. Rufen Sie mit Get-PowerBICapacity die Kapazitäts-ID ab, die für den nächsten Schritt erforderlich ist.

    Get-PowerBICapacity -Scope Individual
    

    Das Cmdlet gibt eine Ausgabe ähnlich der folgenden zurück:

    Id              : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DisplayName     : Test Capacity
    Admins          : adam@sometestdomain.com
    Sku             : P1
    State           : Active
    UserAccessRight : Admin
    Region          : North Central US
    
  2. Verwenden Sie Set-PowerBICapacityEncryptionKey, um den Verschlüsselungsschlüssel festzulegen:

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

Sie können festlegen, wie BYOK in Ihrem Mandanten verwendet wird. Rufen Sie z. B. Add-PowerBIEncryptionKey ohne -Activate oder -Default auf, um eine einzelne Kapazität zu verschlüsseln. Rufen Sie anschließend Set-PowerBICapacityEncryptionKey für die Kapazität auf, in der Sie BYOK aktivieren möchten.

Verwalten von BYOK

Power BI stellt zusätzliche Cmdlets zum Verwalten von BYOK in Ihrem Mandanten zur Verfügung:

  • Verwenden Sie Get-PowerBICapacity, um den Schlüssel zu erhalten, den eine Kapazität derzeit verwendet:

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Verwenden Sie Get-PowerBIEncryptionKey, um den Schlüssel zu erhalten, den Ihr Mandant derzeit verwendet:

    Get-PowerBIEncryptionKey
    
  • Verwenden Sie Get-PowerBIWorkspaceEncryptionStatus, um zu überprüfen, ob die semantischen Modelle in einem Arbeitsbereich verschlüsselt sind und ob ihr Verschlüsselungsstatus mit dem Arbeitsbereich synchron ist:

    Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
    

    Beachten Sie, dass die Verschlüsselung auf Kapazitätsebene aktiviert wird, Sie den Verschlüsselungsstatus aber auf Ebene des semantischen Modells für den angegebenen Arbeitsbereich abrufen.

  • Verwenden Sie Switch-PowerBIEncryptionKey, um die Version des Schlüssels, der für die Verschlüsselung verwendet wird, zu wechseln (oder zu rotieren). Das Cmdlet aktualisiert -KeyVaultKeyUri für -Name des Schlüssels:

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

    Beachten Sie, dass der aktuelle Schlüssel aktiviert sein sollte.