Настройка шифрования с двумя ключами
Область применения: Шифрование двойного ключа Microsoft Purview, Microsoft Purview, Azure Information Protection
Описание службы для: Microsoft Purview
Выполните следующие общие действия, чтобы настроить DKE. После выполнения этих действий пользователи смогут защитить конфиденциальные данные с помощью шифрования двойного ключа.
Разверните службу DKE, как описано в этой статье. Убедитесь, что ваша среда соответствует минимальным требованиям к системе и лицензированию. Дополнительные сведения см. в статье Требования к системе и лицензированию для DKE.
Создайте метку с шифрованием двойного ключа. В Портал соответствия требованиям Microsoft Purview перейдите в раздел Защита информации и создайте новую метку с шифрованием двойного ключа. См . раздел Ограничение доступа к содержимому с помощью меток конфиденциальности для применения шифрования.
Настройте реестр на клиентских устройствах, чтобы можно было использовать метки шифрования двойного ключа. Затем защитите данные, выбрав метку Зашифровано с двойным ключом на ленте Конфиденциальность в Microsoft Office.
Существует несколько способов выполнения некоторых действий по развертыванию шифрования с двойным ключом. В этой статье содержатся подробные инструкции, чтобы менее опытные администраторы успешно развернули службу. Если вам это удобно, вы можете выбрать собственные методы.
Развертывание DKE
В этой статье и видео о развертывании используется Azure в качестве назначения развертывания для службы DKE. При развертывании в другом расположении необходимо указать собственные значения.
Выполните следующие общие действия, чтобы настроить шифрование с двойным ключом для организации.
- Установка необходимых компонентов программного обеспечения для службы DKE
- Клонирование репозитория GitHub для шифрования двойного ключа
- Изменение параметров приложения
- Создание тестовых ключей
- Построение проекта
- Развертывание службы DKE и публикация хранилища ключей
- Проверка развертывания
- Регистрация хранилища ключей
- Создание меток конфиденциальности с помощью DKE
- Перенос защищенных файлов из меток HYOK в метки DKE
По завершении можно зашифровать документы и файлы с помощью DKE. Дополнительные сведения см. в статье Применение меток конфиденциальности к файлам и электронной почте в Office.
Установка необходимых компонентов программного обеспечения для службы DKE
Установите эти необходимые компоненты на компьютере, на котором требуется установить службу DKE.
Пакет SDK для .NET Core 7.0. Скачайте и установите пакет SDK из раздела Скачать .NET Core 7.0.
Visual Studio Code. Скачайте Visual Studio Code из https://code.visualstudio.com/. После установки запустите Visual Studio Code и выберите Просмотреть>расширения. Установите эти расширения.
C# для Visual Studio Code
Диспетчер пакетов NuGet
Ресурсы Git. Скачайте и установите одно из следующих компонентов.
Openssl Для создания тестовых ключей после развертывания DKE необходимо установить OpenSSL. Убедитесь, что вы правильно вызываете его из пути переменных среды. Например, дополнительные сведения см. в разделе "Добавление каталога установки в PATH".https://www.osradar.com/install-openssl-windows/
Клонирование репозитория DKE GitHub
Корпорация Майкрософт предоставляет исходные файлы DKE в репозитории GitHub. Вы клонируйте репозиторий, чтобы создать проект локально для использования в организации. Репозиторий DKE GitHub находится по адресу https://github.com/Azure-Samples/DoubleKeyEncryptionService.
Следующие инструкции предназначены для неопытных пользователей Git или Visual Studio Code:
В браузере перейдите по адресу https://github.com/Azure-Samples/DoubleKeyEncryptionService.
В правой части экрана выберите Код. В вашей версии пользовательского интерфейса может отображаться кнопка "Клонировать" или "Скачать ". Затем в появившемся раскрывающемся списке щелкните значок копирования, чтобы скопировать URL-адрес в буфер обмена.
Например:
В Visual Studio Code выберите Просмотр>палитры команд и выберите Git: клонирование. Чтобы перейти к параметру в списке, начните вводить,
git: clone
чтобы отфильтровать записи, а затем выберите его в раскрывающемся списке. Например:В текстовое поле вставьте URL-адрес, скопированный из Git, и выберите Клонировать из GitHub.
В появившемся диалоговом окне Выбор папки перейдите по адресу и выберите расположение для хранения репозитория. Выберите Открыть.
Репозиторий откроется в Visual Studio Code и отображает текущую ветвь Git в левом нижнем углу. Ветвь должна быть main. Например:
Если вы не находитесь в ветви main, выберите ее. В Visual Studio Code выберите ветвь и выберите main в списке отображаемых ветвей.
Важно!
Выбор main ветви гарантирует, что у вас есть правильные файлы для сборки проекта. Если не выбрать правильную ветвь, развертывание завершится ошибкой.
Теперь у вас есть репозиторий источника DKE, настроенный локально. Затем измените параметры приложения для своей организации.
Изменение параметров приложения
Чтобы развернуть службу DKE, необходимо изменить следующие типы параметров приложения:
Параметры приложения изменяются в файле appsettings.json. Этот файл находится в репозитории DoubleKeyEncryptionService, который вы клонировали локально в папке DoubleKeyEncryptionService\src\customer-key-store. Например, в Visual Studio Code можно перейти к файлу, как показано на следующем рисунке.
Параметры доступа к ключам
Выберите, следует ли использовать электронную почту или авторизацию роли. DKE поддерживает только один из этих методов проверки подлинности одновременно.
авторизация Email. Позволяет вашей организации авторизовать доступ к ключам только на основе адресов электронной почты.
Авторизация роли. Позволяет вашей организации авторизовать доступ к ключам на основе групп Active Directory и требует, чтобы веб-служба могла запрашивать LDAP.
Настройка параметров доступа к ключам для DKE с помощью авторизации по электронной почте
Откройте файл appsettings.json и найдите
AuthorizedEmailAddress
параметр .Добавьте адрес электронной почты или адреса, которые вы хотите авторизовать. Разделите несколько адресов электронной почты двойными кавычками и запятыми. Например:
"AuthorizedEmailAddress": ["email1@company.com", "email2@company.com ", "email3@company.com"]
LDAPPath
Найдите параметр и удалите текстIf you use role authorization (AuthorizedRoles) then this is the LDAP path.
между двойными кавычками. Оставьте двойные кавычки на месте. По завершении настройка должна выглядеть следующим образом."LDAPPath": ""
AuthorizedRoles
Найдите параметр и удалите всю строку.
На этом изображении показан файл appsettings.json , правильно отформатированный для авторизации по электронной почте.
Настройка параметров доступа к ключам для DKE с помощью авторизации роли
Откройте файл appsettings.json и найдите
AuthorizedRoles
параметр .Добавьте имена групп Active Directory, которые нужно авторизовать. Разделите несколько имен групп двойными кавычками и запятыми. Например:
"AuthorizedRoles": ["group1", "group2", "group3"]
LDAPPath
Найдите параметр и добавьте домен Active Directory. Например:"LDAPPath": "contoso.com"
AuthorizedEmailAddress
Найдите параметр и удалите всю строку.
На этом изображении показан файл appsettings.json , правильно отформатированный для авторизации роли.
Параметры клиента и ключа
Параметры клиента И ключа DKE находятся в файле appsettings.json .
Настройка параметров клиента и ключа для DKE
Откройте файл appsettings.json .
ValidIssuers
Найдите параметр и замените<tenantid>
своим идентификатором клиента. Чтобы найти идентификатор клиента, перейдите в портал Azure и просмотрите свойства клиента. Например:"ValidIssuers": [ "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b500002d4b/" ]
Примечание.
Если вы хотите включить внешний доступ B2B к хранилищу ключей, необходимо также включить эти внешние клиенты в список допустимых издателей.
Найдите .JwtAudience
Замените <yourhostname>
именем узла компьютера, на котором требуется запустить службу DKE. Пример: "https://dkeservice.contoso.com"
Важно!
Значение для JwtAudience
должно точно соответствовать имени узла.
TestKeys:Name
. Введите имя ключа. Пример:TestKey1
TestKeys:Id
. Создайте ИДЕНТИФИКАТОР GUID и введите его вTestKeys:ID
качестве значения. Например,DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE
. Для случайного создания ИДЕНТИФИКАТОРа GUID можно использовать сайт, например Online GUID Generator .
На этом рисунке показан правильный формат параметров клиента и ключей в appsettings.json. LDAPPath
настроено для авторизации роли.
Создание тестовых ключей
После определения параметров приложения вы сможете создавать открытые и закрытые тестовые ключи.
Чтобы создать ключи, выполните приведенные ниже действия.
В меню "Пуск" Windows запустите командную строку OpenSSL.
Перейдите в папку, в которой нужно сохранить тестовые ключи. Файлы, созданные путем выполнения действий в этой задаче, хранятся в той же папке.
Создайте новый тестовый ключ.
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
Создайте закрытый ключ.
Если вы установили OpenSSL версии 3 или более поздней, выполните следующую команду:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEM -traditional
В противном случае выполните следующую команду:
openssl rsa -in key.pem -out privkeynopass.pem -outform PEM
Создайте открытый ключ.
openssl rsa -in key.pem -pubout > pubkeyonly.pem
В текстовом редакторе откройте pubkeyonly.pem. Скопируйте все содержимое файла pubkeyonly.pem , кроме первой и последней строк, в
PublicPem
раздел файла appsettings.json .В текстовом редакторе откройте privkeynopass.pem. Скопируйте все содержимое файла privkeynopass.pem , кроме первой и последней строк, в
PrivatePem
раздел файла appsettings.json .Удалите все пробелы и новые линии в
PublicPem
разделах иPrivatePem
.Важно!
При копировании этого содержимого не удаляйте данные PEM.
В Visual Studio Code перейдите к файлу Startup.cs. Этот файл находится в репозитории DoubleKeyEncryptionService, который вы клонировали локально в папке DoubleKeyEncryptionService\src\customer-key-store.
Найдите следующие строки:
#if USE_TEST_KEYS #error !!!!!!!!!!!!!!!!!!!!!! Use of test keys is only supported for testing, DO NOT USE FOR PRODUCTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!! services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>(); #endif
Замените эти строки следующим текстом:
services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
Конечные результаты должны выглядеть следующим образом.
Теперь вы готовы к созданию проекта DKE.
Построение проекта
Используйте следующие инструкции для локальной сборки проекта DKE:
В Visual Studio Code в репозитории службы DKE выберите Просмотр>палитры команд и введите build в командной строке.
В списке выберите Задачи: Выполнить задачу сборки.
Если задачи сборки не найдены, выберите Настроить задачу сборки и создайте ее для .NET Core следующим образом.
Выберите Создать tasks.json из шаблона.
В списке типов шаблонов выберите .NET Core.
В разделе сборки найдите путь к файлу customerkeystore.csproj . Если его нет, добавьте следующую строку:
"${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",
Запустите сборку еще раз.
Убедитесь, что в окне вывода отсутствуют красные ошибки.
Если есть красные ошибки, проверка выходные данные консоли. Убедитесь, что все предыдущие шаги выполнены правильно и имеются правильные версии сборки.
Настройка завершена. Перед публикацией хранилища ключей в appsettings.json для параметра JwtAudience убедитесь, что значение для имени узла точно соответствует имени узла Служба приложений.
Развертывание службы DKE и публикация хранилища ключей
Для рабочих развертываний разверните службу в стороннем облаке или опубликуйте в локальной системе.
Вы можете предпочесть другие методы для развертывания ключей. Выберите метод, который лучше всего подходит для вашей организации.
Для пилотных развертываний можно выполнить развертывание в Azure и начать работу сразу.
Создание экземпляра веб-приложения Azure для размещения развертывания DKE
Чтобы опубликовать хранилище ключей, создайте экземпляр Служба приложений Azure для размещения развертывания DKE. Затем опубликуйте созданные ключи в Azure.
В браузере войдите в microsoft портал Azure и выберите Добавить службы приложений>.
Выберите подписку и группу ресурсов и определите сведения об экземпляре.
Введите имя узла компьютера, на котором требуется установить службу DKE. Убедитесь, что это имя совпадает с именем, определенным для параметра JwtAudience в файле appsettings.json . Для имени также указывается значение WebAppInstanceName.
Для параметра Опубликовать выберите код, а в стеке среды выполнения выберите .NET Core 3.1.
Например:
В нижней части страницы выберите Просмотр и создание, а затем нажмите кнопку Добавить.
Чтобы опубликовать созданные ключи, выполните одно из следующих действий:
Публикация с помощью ZipDeployUI
Перейдите по адресу
https://<WebAppInstanceName>.scm.azurewebsites.net/ZipDeployUI
.Пример:
https://dkeservice.contoso.scm.azurewebsites.net/ZipDeployUI
В базе кода для хранилища ключей перейдите в папку customer-key-store\src\customer-key-store и убедитесь, что эта папка содержит файл customerkeystore.csproj .
Запуск: dotnet publish
В окне вывода отображается каталог, в котором была развернута публикация.
Пример:
customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\
Отправьте все файлы в каталоге публикации в файл .zip. При создании файла .zip убедитесь, что все файлы в каталоге находятся на корневом уровне файла .zip.
Перетащите созданный файл .zip на открытый ранее сайт ZipDeployUI. Пример:
https://dkeservice.scm.azurewebsites.net/ZipDeployUI
DKE развернут, и вы можете перейти к созданным ключам тестирования. Перейдите к статье Проверка развертывания в этой статье.
Публикация через FTP
Подключитесь к созданному ранее Служба приложений.
В браузере перейдите по адресу: портал Azure>Служба приложений>Deployment Center>Manual Deployment>FTP>Dashboard.
Скопируйте строки подключения, отображаемые в локальный файл. Используйте эти строки для подключения к веб-Служба приложений и отправки файлов по протоколу FTP.
Например:
В базе кода для хранилища ключей перейдите в каталог customer-key-store\src\customer-key-store.
Убедитесь, что этот каталог содержит файл customerkeystore.csproj .
Запуск: dotnet publish
Выходные данные содержат каталог, в котором была развернута публикация.
Пример:
customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\
Отправьте все файлы в каталоге публикации в ZIP-файл. При создании файла .zip убедитесь, что все файлы в каталоге находятся на корневом уровне файла .zip.
В FTP-клиенте используйте скопированные сведения о подключении, чтобы подключиться к Служба приложений. Отправьте файл .zip, созданный на предыдущем шаге, в корневой каталог веб-приложения.
DKE развернут, и вы можете просмотреть созданные тестовые ключи. Затем проверьте развертывание.
Проверка развертывания
После развертывания DKE с помощью одного из методов, описанных в этой статье, проверьте развертывание и параметры хранилища ключей.
Запустить:
src\customer-key-store\scripts\key_store_tester.ps1 dkeserviceurl/mykey
Например:
key_store_tester.ps1 https://dkeservice.contoso.com/TestKey1
Убедитесь, что в выходных данных не отображаются ошибки. Когда все будет готово, зарегистрируйте хранилище ключей.
Имя ключа учитывает регистр. Введите имя ключа, как оно отображается в файле appsettings.json.
Регистрация хранилища ключей
Следующие действия позволяют зарегистрировать службу DKE. Регистрация службы DKE — это последний шаг при развертывании DKE, прежде чем вы сможете приступить к созданию меток.
Чтобы зарегистрировать службу DKE, выполните следующие действия:
В браузере откройте microsoft портал Azure и перейдите в разделРегистрация приложений дляудостоверений>всех служб>.
Выберите Создать регистрацию и введите понятное имя.
Выберите тип учетной записи из отображаемых параметров.
Например:
В нижней части страницы выберите Зарегистрировать , чтобы создать новую регистрацию приложения.
В новой регистрации приложения в области слева в разделе Управление выберите Проверка подлинности.
Выберите Добавить платформу.
Во всплывающем окне Настройка платформ выберите Интернет.
В разделе URI перенаправления введите URI службы шифрования с двойным ключом. Введите URL-адрес Служба приложений, включая имя узла и домен.
Пример:
https://mydkeservicetest.com
- Вводимый URL-адрес должен соответствовать имени узла, на котором развернута служба DKE.
- Домен должен быть проверенным доменом.
- Во всех случаях схема должна быть https.
Убедитесь, что имя узла точно соответствует имени узла Служба приложений.
В разделе Неявное предоставление установите флажок Маркеры идентификаторов .
Нажмите кнопку Сохранить, чтобы сохранить изменения.
На левой панели выберите Предоставить API, рядом с полем URI идентификатора приложения введите URL-адрес Служба приложений, включая имя узла и домен, а затем нажмите кнопку Задать.
На странице Предоставление API в области Области, определенные этим API, выберите Добавить область. В новом область:
Определите имя область как user_impersonation.
Выберите администраторов и пользователей, которые могут предоставить согласие.
Определите все оставшиеся обязательные значения.
Нажмите Добавить область.
Нажмите кнопку Сохранить в верхней части окна, чтобы сохранить изменения.
На странице Предоставление API в области Авторизованные клиентские приложения выберите Добавить клиентское приложение.
В новом клиентском приложении:
Определите идентификатор клиента как
d3590ed6-52b3-4102-aeff-aad2292ab01c
. Это значение является идентификатором клиента Microsoft Office и позволяет Office получить маркер доступа для хранилища ключей.В разделе Авторизованные области выберите область user_impersonation.
Нажмите кнопку Добавить приложение.
Нажмите кнопку Сохранить в верхней части окна, чтобы сохранить изменения.
Повторите эти действия, но на этот раз определите идентификатор клиента как
c00e9d32-3c8d-4a7d-832b-029040e7db99
. Это значение является идентификатором клиента защиты информации.
Служба DKE теперь зарегистрирована. Продолжайте создавать метки с помощью DKE.
Создание меток конфиденциальности с помощью DKE
В Портал соответствия требованиям Microsoft Purview создайте новую метку конфиденциальности и примените шифрование, как и в противном случае. Выберите Использовать шифрование двойного ключа и введите URL-адрес конечной точки для ключа. Необходимо включить имя ключа, предоставленное в разделе "TestKeys" файла appsettings.json в URL-адресе.
Пример: https://testingdke1.azurewebsites.net/KEYNAME
Все добавленные метки DKE отображаются для пользователей в последних версиях Приложения Microsoft 365 для предприятий.
Примечание.
Обновление клиентов с использованием новых меток может занять до 24 часов.
Перенос защищенных файлов из меток HYOK в метки DKE
При необходимости после завершения настройки DKE можно перенести содержимое, защищенное с помощью меток HYOK, в метки DKE. Для миграции используйте сканер Защита информации Microsoft Purview. Чтобы приступить к работе со сканером, см. статью Общие сведения о сканере защиты информации.
Если вы не переносите содержимое, содержимое, защищенное HYOK, остается неизменным.
Другие варианты развертывания
Мы понимаем, что для некоторых клиентов в строго регулируемых отраслях эта стандартная эталонная реализация с использованием программных ключей может оказаться недостаточной для удовлетворения их расширенных обязательств по соответствию требованиям и потребностей. Мы сотрудничаем со сторонними поставщиками аппаратных модулей безопасности (HSM) для поддержки расширенных параметров управления ключами в службе DKE, включая:
Обратитесь непосредственно к этим поставщикам для получения дополнительной информации и рекомендаций по их рыночным решениям DKE HSM.
Настройка клиентов для применения меток конфиденциальности DKE
На каждом клиентском устройстве выполните эту задачу.
- Убедитесь, что для каждого клиента определены следующие значения реестра. Создайте разделы реестра, которых еще нет:
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC\flighting]
"DoubleKeyProtection"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\flighting]
"DoubleKeyProtection"=dword:00000001
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по