Używanie własnych kluczy szyfrowania dla usługi Power BI

Usługa Power BI szyfruje dane magazynowane i przetwarzane. Domyślnie usługa Power BI używa kluczy zarządzanych przez firmę Microsoft do szyfrowania danych. W usłudze Power BI Premium możesz również użyć własnych kluczy dla danych magazynowanych zaimportowanych do modelu semantycznego. Takie podejście jest często określane jako bring your own key (BYOK). Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące źródła danych i magazynu.

Dlaczego warto używać rozwiązania BYOK?

Usługa BYOK ułatwia spełnienie wymagań dotyczących zgodności, które określają kluczowe ustalenia u dostawcy usług w chmurze, w tym przypadku firmy Microsoft. Usługa BYOK zapewnia i kontroluje klucze szyfrowania danych usługi Power BI magazynowanych na poziomie aplikacji. W związku z tym możesz wykonywać kontrolę i odwoływać klucze organizacji, jeśli zdecydujesz się zamknąć usługę. Odwołując klucze, dane stają się nieczytelne do usługi w ciągu 30 minut.

Zagadnienia dotyczące źródła danych i magazynu

Aby użyć funkcji BYOK, musisz przekazać dane do usługa Power BI z pliku programu Power BI Desktop (PBIX). Nie można używać funkcji BYOK w następujących scenariuszach:

Funkcja BYOK ma zastosowanie tylko do modeli semantycznych. Modele semantyczne wypychania, pliki programu Excel i pliki CSV, które użytkownicy mogą przekazywać do usługi, nie są szyfrowane przy użyciu własnego klucza. Aby określić, które elementy są przechowywane w obszarach roboczych, użyj następującego polecenia programu PowerShell:

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

Uwaga

To polecenie cmdlet wymaga modułu zarządzania usługi Power BI w wersji 1.0.840. Możesz sprawdzić, która wersja jest zainstalowana, uruchamiając polecenie Get-InstalledModule -Name MicrosoftPowerBIMgmt. Zainstaluj najnowszą wersję, uruchamiając polecenie Install-Module -Name MicrosoftPowerBIMgmt. Więcej informacji na temat polecenia cmdlet usługi Power BI i jego parametrów można znaleźć w module poleceń cmdlet programu PowerShell usługi Power BI.

Konfigurowanie usługi Azure Key Vault

W tej sekcji wyjaśniono, jak skonfigurować usługę Azure Key Vault, narzędzie do bezpiecznego przechowywania i uzyskiwania dostępu do wpisów tajnych, takich jak klucze szyfrowania. Możesz użyć istniejącego magazynu kluczy do przechowywania kluczy szyfrowania lub utworzyć nowy magazyn przeznaczony specjalnie do użycia z usługą Power BI.

W poniższych instrukcjach założono podstawową wiedzę na temat usługi Azure Key Vault. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Key Vault?

Skonfiguruj magazyn kluczy w następujący sposób:

  1. Dodaj usługa Power BI jako jednostkę usługi dla magazynu kluczy z uprawnieniami zawijania i odpakowywania.

  2. Utwórz klucz RSA o długości 4096-bitowej lub użyj istniejącego klucza tego typu z uprawnieniami zawijania i odpakowywania.

    Ważne

    Usługa Power BI BYOK obsługuje tylko klucze RSA o długości 4096-bitowej.

  3. Zalecane: Sprawdź, czy magazyn kluczy ma włączoną opcję usuwania nietrwałego.

Dodawanie jednostki usługi

  1. Zaloguj się do witryny Azure Portal i wyszukaj usługę Key Vault.

  2. W magazynie kluczy wybierz pozycję Zasady dostępu, a następnie wybierz pozycję Utwórz.

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

  3. Na ekranie Uprawnienia w obszarze Uprawnienia wybierz pozycję Odpakuj klucz i Zawij klucz, a następnie wybierz pozycję Dalej.

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

  4. Na ekranie Podmiot zabezpieczeń wyszukaj i wybierz pozycję Microsoft.Azure.AnalysisServices.

    Uwaga

    Jeśli nie możesz znaleźć usługi Microsoft.Azure.AnalysisServices, prawdopodobnie subskrypcja platformy Azure skojarzona z usługą Azure Key Vault nigdy nie miała skojarzonego z nim zasobu usługi Power BI. Spróbuj wyszukać następujący ciąg zamiast tego: 00000009-0000-0000-c000-000000000000000000000.

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

  5. Wybierz pozycję Dalej, a następnie przejrzyj i utwórz.>

Uwaga

Aby odwołać dostęp usługi Power BI do danych, usuń prawa dostępu do tej jednostki usługi z usługi Azure Key Vault.

Tworzenie klucza RSA

  1. W magazynie kluczy w obszarze Klucze wybierz pozycję Generuj/Importuj.

  2. Wybierz typklucza RSA i rozmiarklucza RSA 4096.

    Screenshot of the RSA key type and size selections.

  3. Wybierz pozycję Utwórz.

  4. W obszarze Klucze wybierz utworzony klucz.

  5. Wybierz identyfikator GUID bieżącej wersji klucza.

  6. Sprawdź, czy oba elementy Zawijaj klucz i Odpakuj klucz są zaznaczone. Skopiuj identyfikator klucza do użycia podczas włączania funkcji BYOK w usłudze Power BI.

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

Opcja usuwania nietrwałego

Należy włączyć usuwanie nietrwałe w magazynie kluczy w celu ochrony przed utratą danych w przypadku przypadkowego usunięcia klucza lub magazynu kluczy. Aby włączyć właściwość usuwania nietrwałego, należy użyć programu PowerShell, ponieważ ta opcja nie jest jeszcze dostępna w witrynie Azure Portal.

W przypadku prawidłowego skonfigurowania usługi Azure Key Vault możesz włączyć usługę BYOK w dzierżawie.

Konfigurowanie zapory usługi Azure Key Vault

W tej sekcji opisano używanie obejścia zapory zaufanej usługi firmy Microsoft w celu skonfigurowania zapory wokół usługi Azure Key Vault.

Uwaga

Możesz włączyć reguły zapory w magazynie kluczy. Możesz również pozostawić zaporę wyłączoną w magazynie kluczy zgodnie z ustawieniem domyślnym.

Usługa Power BI jest zaufaną usługą firmy Microsoft. Możesz poinstruować zaporę magazynu kluczy, aby zezwolić na dostęp do wszystkich zaufanych usługi firmy Microsoft— ustawienie umożliwiające usłudze Power BI dostęp do magazynu kluczy bez określania połączeń punktów końcowych.

Aby skonfigurować usługę Azure Key Vault, aby zezwolić na dostęp do zaufanych usługi firmy Microsoft, wykonaj następujące kroki:

  1. Wyszukaj pozycję Key Vaults w witrynie Azure Portal, a następnie wybierz magazyn kluczy, który chcesz zezwolić na dostęp z usługi Power BI i wszystkich innych zaufanych usługi firmy Microsoft.

  2. Wybierz pozycję Sieć w panelu nawigacyjnym po lewej stronie.

  3. W obszarze Zapory i sieci wirtualne wybierz pozycję Zezwalaj na dostęp publiczny z określonych sieci wirtualnych i adresów IP.

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

  4. Przewiń w dół do sekcji Zapora . Wybierz pozycję Zezwalaj na zaufane usługi firmy Microsoft, aby obejść tę zaporę.

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

  5. Wybierz Zastosuj.

Włączanie rozwiązania BYOK w dzierżawie

Funkcję BYOK można włączyć na poziomie dzierżawy przy użyciu programu PowerShell. Najpierw zainstaluj pakiet administracyjny usługi Power BI dla programu PowerShell i wprowadź klucze szyfrowania utworzone i przechowywane w usłudze Azure Key Vault w dzierżawie usługi Power BI. Następnie przypiszesz te klucze szyfrowania na pojemność Premium na potrzeby szyfrowania zawartości w pojemności.

Ważne uwagi

Przed włączeniem funkcji BYOK należy pamiętać o następujących kwestiach:

  • Obecnie nie można wyłączyć funkcji BYOK po jej włączeniu. W zależności od sposobu określania parametrów dla Add-PowerBIEncryptionKeyprogramu można kontrolować sposób używania funkcji BYOK dla co najmniej jednej pojemności. Nie można jednak cofnąć wprowadzenia kluczy do dzierżawy. Aby uzyskać więcej informacji, zobacz Włączanie funkcji BYOK.

  • Nie można bezpośrednio przenieść obszaru roboczego korzystającego z funkcji BYOK z pojemności w usłudze Power BI Premium do pojemności udostępnionej. Najpierw należy przenieść obszar roboczy do pojemności, która nie ma włączonego rozwiązania BYOK.

  • Jeśli przeniesiesz obszar roboczy, który korzysta z rozwiązania BYOK z pojemności w usłudze Power BI Premium do pojemności udostępnionej, raporty i modele semantyczne staną się niedostępne, ponieważ są szyfrowane za pomocą klucza. Aby uniknąć tej sytuacji, należy najpierw przenieść obszar roboczy do pojemności, która nie ma włączonego rozwiązania BYOK.

Włączanie rozwiązania BYOK

Aby włączyć usługę BYOK, musisz być administratorem usługi Power BI, zalogowanym przy użyciu Connect-PowerBIServiceAccount polecenia cmdlet . Następnie użyj polecenia Add-PowerBIEncryptionKey, aby włączyć funkcję BYOK, jak pokazano w poniższym przykładzie:

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

Aby dodać wiele kluczy, uruchom polecenie Add-PowerBIEncryptionKey z różnymi wartościami dla -Name i -KeyVaultKeyUri.

Polecenie cmdlet akceptuje dwa parametry przełącznika, które mają wpływ na szyfrowanie dla bieżących i przyszłych pojemności. Domyślnie żaden z przełączników nie jest ustawiony:

  • -Activate: wskazuje, że ten klucz jest używany dla wszystkich istniejących pojemności w dzierżawie, które nie są jeszcze zaszyfrowane.

  • -Default: wskazuje, że ten klucz jest teraz domyślny dla całej dzierżawy. Podczas tworzenia nowej pojemności pojemność pojemność dziedziczy ten klucz.

Ważne

W przypadku określenia -Defaultparametru wszystkie pojemności utworzone w dzierżawie z tego punktu są szyfrowane przy użyciu określonego klucza lub zaktualizowanego klucza domyślnego. Nie można cofnąć operacji domyślnej, więc utracisz możliwość utworzenia pojemności Premium w dzierżawie, która nie korzysta z funkcji BYOK.

Po włączeniu funkcji BYOK w dzierżawie ustaw klucz szyfrowania dla co najmniej jednej pojemności usługi Power BI:

  1. Użyj polecenia Get-PowerBICapacity , aby uzyskać identyfikator pojemności wymagany do następnego kroku.

    Get-PowerBICapacity -Scope Individual
    

    Polecenie cmdlet zwraca dane wyjściowe podobne do następujących danych wyjściowych:

    Id              : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DisplayName     : Test Capacity
    Admins          : adam@sometestdomain.com
    Sku             : P1
    State           : Active
    UserAccessRight : Admin
    Region          : North Central US
    
  2. Użyj polecenia Set-PowerBICapacityEncryptionKey , aby ustawić klucz szyfrowania:

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

Masz kontrolę nad sposobem korzystania z rozwiązania BYOK w dzierżawie. Aby na przykład zaszyfrować pojedynczą pojemność, wywołaj metodę Add-PowerBIEncryptionKey bez -Activate lub -Default. Następnie wywołaj Set-PowerBICapacityEncryptionKey pojemność, w której chcesz włączyć usługę BYOK.

Zarządzanie usługą BYOK

Usługa Power BI udostępnia dodatkowe polecenia cmdlet ułatwiające zarządzanie usługą BYOK w dzierżawie:

  • Użyj polecenia Get-PowerBICapacity , aby uzyskać klucz używany obecnie przez pojemność:

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Użyj polecenia Get-PowerBIEncryptionKey , aby uzyskać klucz używany obecnie przez dzierżawę:

    Get-PowerBIEncryptionKey
    
  • Użyj polecenia Get-PowerBIWorkspaceEncryptionStatus , aby sprawdzić, czy modele semantyczne w obszarze roboczym są szyfrowane i czy ich stan szyfrowania jest zsynchronizowany z obszarem roboczym:

    Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
    

    Należy pamiętać, że szyfrowanie jest włączone na poziomie pojemności, ale stan szyfrowania jest wyświetlany na poziomie modelu semantycznego dla określonego obszaru roboczego.

  • Użyj przełącznika Switch-PowerBIEncryptionKey , aby przełączyć (lub obrócić) wersję klucza używanego do szyfrowania. Polecenie cmdlet po prostu aktualizuje -KeyVaultKeyUri element dla klucza -Name:

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

    Należy pamiętać, że bieżący klucz powinien być włączony.