Поделиться через


Использование собственных ключей шифрования для 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 и RSA-HSM ключи с 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. Убедитесь, что выбраны оба ключа: ключ оболочки и ключ развертывания. Скопируйте идентификатор ключа, используемый при включении BYOK в Power BI.

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

Опция обратимого удаления

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

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

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

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

Примечание.

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

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

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

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

  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 (Bring Your Own Key).

Включение 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'
    

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