Использование собственных ключей шифрования для 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. В хранилище ключей выберите политики доступа и нажмите кнопку "Создать".

    Снимок экрана: кнопка

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

    Снимок экрана: экран разрешений для создания новой политики доступа.

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

    Примечание.

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

    Снимок экрана: экран субъекта, чтобы выбрать новый субъект для политики доступа.

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

Примечание.

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

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

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

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

    Снимок экрана: выбор типа ключа RSA и размера.

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

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

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

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

    Снимок экрана: свойства ключа с идентификатором и разрешенными операциями.

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

Необходимо включить обратимое удаление в хранилище ключей, чтобы защититься от потери данных в случае случайного ключа или хранилища ключей, удаления. Чтобы включить свойство обратимого удаления, необходимо использовать 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-адресов.

    Снимок экрана: параметр сети Azure Key Vault с выбранным параметром брандмауэров и виртуальных сетей.

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

    Снимок экрана: параметр, позволяющий доверенным службы Майкрософт обойти этот брандмауэр.

  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'
    

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