Использование собственных ключей шифрования для Power BI

Power BI шифрует неактивных и неактивных данных. По умолчанию Power BI использует управляемые Корпорацией Майкрософт ключи для шифрования данных. В Power BI Premium вы также можете использовать собственные ключи для неактивных данных, импортированных в семантику модели. Этот подход часто описывается как собственный ключ (BYOK). Дополнительные сведения см. в рекомендациях по источнику данных и хранилищу.

Зачем использовать BYOK?

BYOK упрощает соответствие требованиям, определяющим ключевые соглашения с поставщиком облачных служб, в данном случае Майкрософт. С помощью BYOK вы предоставляете и управляете ключами шифрования для неактивных данных Power BI на уровне приложения. В результате вы можете осуществлять контроль и отзывать ключи организации, если вы решите выйти из службы. Отменив ключи, данные становятся нечитаемыми в службе в течение 30 минут.

Рекомендации по источнику данных и хранилищу

Чтобы использовать BYOK, необходимо передать данные в служба Power BI из PBIX-файла Power BI Desktop. В следующих сценариях нельзя использовать BYOK:

BYOK применяется только к семантическим моделям. Отправка семантических моделей, файлов Excel и CSV-файлов, которые пользователи могут отправлять в службу, не шифруются с помощью собственного ключа. Чтобы определить, какие элементы хранятся в рабочих областях, используйте следующую команду PowerShell:

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

Примечание.

Для этого командлета требуется модуль управления Power BI версии 1.0.840. Вы можете увидеть, какую версию у вас есть, выполнив команду Get-InstalledModule -Name MicrosoftPowerBIMgmt. Установите последнюю версию, выполнив команду Install-Module -Name MicrosoftPowerBIMgmt. Дополнительные сведения о командлете Power BI и его параметрах можно получить в модуле командлета Power BI PowerShell.

Настройка Azure Key Vault

В этом разделе объясняется, как настроить Azure Key Vault, средство безопасного хранения и доступа к секретам, таким как ключи шифрования. Вы можете использовать существующее хранилище ключей для хранения ключей шифрования или создать новую специально для использования с Power BI.

В следующих инструкциях предполагается базовое знание Azure Key Vault. Дополнительные сведения см. в статье "Что такое Azure Key Vault?

Настройте хранилище ключей следующим образом:

  1. Добавьте служба Power BI в качестве субъекта-службы для хранилища ключей с разрешениями на оболочку и распаковку.

  2. Создайте ключ RSA с длиной 4096-разрядной длины или используйте существующий ключ этого типа с разрешениями на оболочку и распаковку.

    Важно!

    Power BI BYOK поддерживает только ключи RSA с 4096-разрядной длиной.

  3. Рекомендуется: убедитесь, что в хранилище ключей включен параметр обратимого удаления.

Добавление субъекта-службы

  1. Войдите в портал Azure и найдите Key Vault.

  2. В хранилище ключей выберите политики доступа и нажмите кнопку "Создать".

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

  3. На экране "Разрешения" в разделе "Разрешения" в разделе "Разрешения" выберите "Распаковка ключа" и "Ключ оболочки", а затем нажмите кнопку "Далее".

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

  4. На экране "Субъект" найдите и выберите Microsoft.Azure.AnalysisServices.

    Примечание.

    Если вы не можете найти Microsoft.Azure.AnalysisServices, скорее всего, подписка Azure, связанная с Azure Key Vault, никогда не связана с ним ресурсом Power BI. Попробуйте выполнить поиск по следующей строке: 0000009-0000-0000-c000-00000000000000.

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

  5. Нажмите кнопку "Далее", а затем проверьте и создайте создание>.

Примечание.

Чтобы отменить доступ к данным Power BI, удалите права доступа к этому субъекту-службе из Azure Key Vault.

Создание ключа RSA

  1. В хранилище ключей в разделе "Ключи" выберите "Создать или импортировать".

  2. Выберите тип ключа RSA и размерключа RSA 4096.

    Screenshot of the RSA key type and size selections.

  3. Нажмите кнопку создания.

  4. В разделе "Ключи" выберите созданный ключ.

  5. Выберите GUID для текущей версии ключа.

  6. Убедитесь, что выбраны ключ оболочки и ключ unwrap. Скопируйте идентификатор ключа, используемый при включении BYOK в Power BI.

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

Параметр обратимого удаления

Необходимо включить обратимое удаление в хранилище ключей, чтобы защититься от потери данных в случае случайного ключа или хранилища ключей, удаления. Чтобы включить свойство обратимого удаления, необходимо использовать PowerShell, так как этот параметр еще недоступен в портал Azure.

При правильной настройке Azure Key Vault вы можете включить BYOK в клиенте.

Настройка брандмауэра Azure Key Vault

В этом разделе описывается использование обхода брандмауэра доверенной службы Майкрософт для настройки брандмауэра вокруг Azure Key Vault.

Примечание.

Вы можете включить правила брандмауэра в хранилище ключей. Вы также можете оставить брандмауэр отключенным в хранилище ключей в зависимости от параметра по умолчанию.

Power BI — это надежная служба Майкрософт. Брандмауэр хранилища ключей позволяет разрешить доступ ко всем доверенным службы Майкрософт, параметру, позволяющему Power BI получить доступ к хранилищу ключей без указания подключений к конечным точкам.

Чтобы настроить Azure Key Vault, чтобы разрешить доступ к доверенным службы Майкрософт, выполните следующие действия.

  1. Найдите key Vault в портал Azure, а затем выберите хранилище ключей, которое нужно разрешить доступ из Power BI и всех других доверенных службы Майкрософт.

  2. Выберите "Сеть" на левой панели навигации.

  3. В разделе "Брандмауэры и виртуальные сети" выберите "Разрешить общедоступный доступ" из определенных виртуальных сетей и IP-адресов.

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

  4. Прокрутите вниз до раздела брандмауэра. Выберите "Разрешить доверенные службы Майкрософт" для обхода этого брандмауэра.

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

  5. Нажмите Применить.

Включение BYOK в клиенте

Вы включаете BYOK на уровне клиента с помощью PowerShell. Сначала установите пакет администрирования Power BI для PowerShell и введите ключи шифрования, созданные и хранящиеся в Azure Key Vault, в клиент Power BI. Затем эти ключи шифрования назначаются для емкости Premium для шифрования содержимого в емкости.

Важные замечания

Прежде чем включить BYOK, помните следующее:

  • В настоящее время вы не можете отключить BYOK после включения. В зависимости от способа указания параметров Add-PowerBIEncryptionKeyможно управлять использованием BYOK для одной или нескольких емкостей. Однако вы не можете отменить введение ключей в клиент. Дополнительные сведения см. в разделе Enable BYOK.

  • Вы не можете напрямую переместить рабочую область, которая использует BYOK из емкости в Power BI Premium в общую емкость. Сначала необходимо переместить рабочую область в емкость, которая не включена BYOK.

  • При перемещении рабочей области, которая использует BYOK из емкости Power BI Premium в общую емкость, отчеты и семантические модели становятся недоступными, так как они шифруются с помощью ключа. Чтобы избежать этой ситуации, необходимо сначала переместить рабочую область в емкость, которая не включена BYOK.

Включение BYOK

Чтобы включить BYOK, необходимо быть администратором Power BI, выполнив вход с помощью командлета Connect-PowerBIServiceAccount . Затем используйте Add-PowerBIEncryptionKey для включения BYOK, как показано в следующем примере:

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

Чтобы добавить несколько ключей, запустите Add-PowerBIEncryptionKey с разными значениями и -Name-KeyVaultKeyUri.

Командлет принимает два параметра коммутатора, влияющие на шифрование для текущих и будущих емкостей. По умолчанию ни одни из коммутаторов не задаются:

  • -Activate: указывает, что этот ключ используется для всех существующих емкостей в клиенте, которые еще не зашифрованы.

  • -Default: указывает, что этот ключ теперь используется по умолчанию для всего клиента. При создании новой емкости емкость наследует этот ключ.

Важно!

При указании -Defaultвсе емкости, созданные в клиенте, шифруются с помощью указанного ключа или обновленного ключа по умолчанию. Вы не можете отменить операцию по умолчанию, поэтому вы теряете возможность создавать емкость класса Premium в клиенте, которая не использует BYOK.

После включения BYOK в клиенте задайте ключ шифрования для одной или нескольких емкостей Power BI:

  1. Используйте Get-PowerBICapacity , чтобы получить идентификатор емкости, необходимый для следующего шага.

    Get-PowerBICapacity -Scope Individual
    

    Командлет возвращает выходные данные, аналогичные следующим выходным данным:

    Id              : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    DisplayName     : Test Capacity
    Admins          : adam@sometestdomain.com
    Sku             : P1
    State           : Active
    UserAccessRight : Admin
    Region          : North Central US
    
  2. Используйте Set-PowerBICapacityEncryptionKey , чтобы задать ключ шифрования:

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

Вы управляете тем, как вы используете BYOK в клиенте. Например, чтобы зашифровать одну емкость, вызов Add-PowerBIEncryptionKey без -Activate или -Default. Затем вызовите Set-PowerBICapacityEncryptionKey емкость, в которой требуется включить BYOK.

Управление BYOK

Power BI предоставляет дополнительные командлеты для управления BYOK в клиенте:

  • Используйте Get-PowerBICapacity , чтобы получить ключ, который в настоящее время использует емкость:

    Get-PowerBICapacity -Scope Organization -ShowEncryptionKey
    
  • Используйте Get-PowerBIEncryptionKey , чтобы получить ключ, используемый клиентом в настоящее время:

    Get-PowerBIEncryptionKey
    
  • Используйте Get-PowerBIWorkspaceEncryptionStatus , чтобы узнать, шифруются ли семантические модели в рабочей области и синхронизируются ли их состояние шифрования с рабочей областью:

    Get-PowerBIWorkspaceEncryptionStatus -Name'Contoso Sales'
    

    Обратите внимание, что шифрование включено на уровне емкости, но вы получаете состояние шифрования на уровне семантической модели для указанной рабочей области.

  • Используйте Switch-PowerBIEncryptionKey для переключения (или поворота) версии ключа, используемого для шифрования. Командлет просто обновляет -KeyVaultKeyUri ключ -Name:

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

    Обратите внимание, что текущий ключ должен быть включен.