Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Описание службы для Microsoft Purview
Выполните следующие общие действия, чтобы настроить DKE. После выполнения этих действий конечные пользователи смогут защитить ваши конфиденциальные данные с помощью шифрования с двойным ключом.
Разверните службу DKE, как описано в этой статье. Убедитесь, что ваша среда соответствует минимальным требованиям к системе и лицензированию. Дополнительные сведения см. в разделе Системные и лицензионные требования для DKE.
Создайте метку с помощью шифрования с двойным ключом. На портале Microsoft Purview перейдите в раздел Защита информации и создайте новую метку с помощью шифрования с двойным ключом. См. статью Ограничение доступа к содержимому с помощью меток конфиденциальности для применения шифрования.
Настройте реестр на клиентских устройствах для использования меток шифрования с двойным ключом. Затем защитите свои данные, выбрав метку "Шифрование с двойным ключом" на ленте конфиденциальности в Microsoft Office.
Существует несколько способов выполнения некоторых этапов развертывания шифрования с двойным ключом. В этой статье приведены подробные инструкции для того, чтобы менее опытные администраторы могли успешно развернуть службу. Если вам это удобно, вы можете использовать свои собственные методы.
Развертывание DKE
В этой статье и видео о развертывании используется Azure в качестве места назначения развертывания для службы DKE. При развертывании в другом расположении необходимо указать собственные значения.
Выполните следующие общие действия, чтобы настроить шифрование с двойным ключом для вашей организации.
- Установка необходимых программных компонентов для сервиса DKE
- Клонирование репозитория GitHub с двойным шифрованием ключа
- Изменение параметров приложения
- Создание тестовых ключей
- Построение проекта
- Развертывание сервиса DKE и публикация хранилища ключей
- Проверка развертывания
- Регистрация хранилища ключей
- Создание меток конфиденциальности с помощью DKE
- Перенос защищенных файлов из меток HYOK в метки DKE
Когда все будет готово, вы сможете зашифровать документы и файлы с помощью DKE. Дополнительные сведения см. в статье Применение меток конфиденциальности к файлам и электронной почте в Office.
Установка необходимых программных компонентов для сервиса DKE
Установите эти необходимые компоненты на компьютере, где вы хотите установить службу DKE.
.NET 8.0 SDK. Скачайте и установите пакет SDK на странице "Скачать .NET 8.0".
Visual Studio Code. Скачайте Visual Studio Code с веб-страницыhttps://code.visualstudio.com/. После установки запустите Visual Studio Code и выберите Просмотр>расширений. Установите эти расширения.
C# для Visual Studio Code
Диспетчер пакетов NuGet
Ресурсы Git. Скачайте и установите один из следующих файлов.
OpenSSL. Необходимо установить OpenSSL , чтобы сгенерировать тестовые ключи после развертывания DKE. Убедитесь, что вы правильно вызываете его из пути к переменным среды. Например, дополнительные сведения см. в разделе "Добавление каталога установки в PATH".https://www.osradar.com/install-openssl-windows/
Клонирование репозитория GitHub DKE
Корпорация Майкрософт предоставляет исходные файлы 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 в левом нижнем углу. Ветка должна быть основной. Например, вы можете:
Если вы не на главной ветви, выберите ее. В Visual Studio Code выберите ветвь и выберите главную из появившегося списка ветвей.
Важно!
Выбор ветви 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. Замените значение-заполнитель в JSON на имя узла компьютера, "https://dkeservice.contoso.com" на котором вы хотите запустить службу DKE.
Важно!
Значение для JwtAudience должно в точности совпадать с именем узла.
-
TestKeys:Name. Введите имя для ключа. Пример:TestKey1 -
TestKeys:Id. Создайте GUID и введите его вTestKeys:IDкачестве значения. Например,DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE. Для случайного создания идентификатора GUID можно использовать сайт, например генератор GUID в сети . -
JwtAuthorization. Заменить{tenant-id}идентификатором клиента.
В следующем JSON показан правильный формат параметров клиента и ключей в appsettings.json.
LDAPPath настроен для авторизации ролей.
{
"TokenValidationParameters": {
"ValidIssuers": [
"https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b50002d4b/"
]
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"JwtAudience": "https://dkeservice.contoso.com/",
"JwtAuthorization": "https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize",
"RoleAuthorizer": {
"LDAPPath": ""
},
"TestKeys": [
{
"Name": "TestKey1",
"Id": "DCE1CC21-FF98-4424-8FF4-9914BD19A1BE"
}
]
}
Создание тестовых ключей
После определения параметров приложения можно создать публичные и закрытые тестовые ключи.
Создание ключей:
В меню "Пуск" 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 .Удалите все пробелы и перенос строк в разделах
PublicPemandPrivatePem.Важно!
При копировании этого содержимого не удаляйте данные 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:
В репозитории службы DKE в Visual Studio Code выберите "Просмотреть >палитру команд" и введите "сборка" в командной строке.
В списке выберите Задачи: Запуск задачи сборки.
Если задачи сборки не найдены, выберите "Настроить задачу сборки " и создайте такую же для .NET Core, как показано ниже.
Выберите "Создать tasks.json из шаблона".
В списке типов шаблонов выберите .NET Core.
В разделе сборки найдите путь к файлу customerkeystore.csproj . Если его там нет, добавьте следующую строку:
"${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",Запустите сборку еще раз.
Убедитесь, что в окне вывода нет красных ошибок.
Если возникают красные ошибки, проверьте выходные данные консоли. Убедитесь, что все предыдущие шаги выполнены верно и что у вас есть правильные версии сборок.
Настройка завершена. Перед публикацией хранилища ключей в appsettings.json для параметра JwtAudience убедитесь, что значение имени узла точно совпадает с именем узла Служба приложений.
Развертывание сервиса DKE и публикация хранилища ключей
Для производственных развертываний службу следует развернуть либо в стороннем облаке, либо опубликовать в локальной системе.
Для развертывания ключей можно выбрать другие методы. Выберите наиболее подходящий для вашей организации метод.
Пилотные развертывания можно развернуть в Azure и сразу приступить к работе.
Чтобы создать экземпляр Azure Web App для размещения развертывания DKE
Чтобы опубликовать хранилище ключей, создайте экземпляр Служба приложений Azure для размещения развертывания DKE. Затем опубликуйте созданные ключи в Azure.
В браузере войдите на портал Azure Microsoft и перейдите в раздел "Создать > веб-приложение" служб>приложений.
Создайте новую или выберите существующую группу ресурсов.
Укажите имя для экземпляра, например contosodke1. Это имя не совпадает с именем в файле конфигурации. Значение, указанное для имени, также является WebAppInstanceName.
В ценовом плане выберите размер, который разрешает личные домены, например Basic B1.
В разделе "Публикация" выберите код, а в столбце "Стек среды выполнения" выберите .NET 8 (LTS).
Выберите "Рецензирование + создание"
Например, вы можете:
В только что созданном веб-приложении перейдите в "Параметры", "Личные домены", выберите "Добавить личный домен"
В поле "Поставщик домена" выберите "Все другие доменные службы"
В разделе «Домен» введите имя узла компьютера, на котором вы хотите установить службу DKE.
Важно!
Убедитесь, что имя узла совпадает с именем, определенным для параметра JwtAudience в appsettings.json файле.
- В общедоступной DNS внесите предлагаемые изменения, как указано в разделе "Проверка домена", и выберите "Подтвердить".
Например, вы можете:
Чтобы опубликовать созданные ключи, выполните указанные ниже действия.
- Публикация с помощью ZipDeployUI
- Для загрузки двоичных файлов в это приложение можно использовать другие методы, например FTP.
Например, FTP
Публикация с помощью ZipDeployUI
Перейдите по адресу
https://<WebAppInstanceName>.scm.<location>.azurewebsites.net/ZipDeployUI.Пример:
https://dkeservice-ctaugtfwh7d3c3c.scm.westcentralus-01.azurewebsites.net/ZipDeployUIЗапустите командную строку PowerShell.
В базе кода для хранилища ключей перейдите в папку customer-key-store\src\customer-key-store и убедитесь, что эта папка содержит файл customerkeystore.csproj .
Run: dotnet publish
В окне вывода отображается каталог, в котором была развернута публикация.
Пример:
customer-key-store\src\customer-key-store\bin\Debug\net8.0\publish\Все файлы в каталоге публикации можно отправить в файл .zip. При создании файла .zip убедитесь, что все файлы в каталоге находятся на корневом уровне файла .zip.
Перетащите созданный .zip файл на сайт ZipDeployUI, открытый ранее.
Развернут 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.
Нажмите кнопку Добавить приложение.
Нажмите вверху кнопку "Сохранить ", чтобы сохранить изменения.
Повторите эти действия, но на этот раз определите идентификатор клиента как
00001111-aaaa-2222-bbbb-3333cccc4444. Это значение является идентификатором клиента Purview Information Protection.
Теперь ваша служба DKE зарегистрирована. Создайте наклейки с помощью DKE.
Создание меток конфиденциальности с помощью DKE
На портале Microsoft Purview создайте новую метку конфиденциальности и примените шифрование, как если бы это было в противном случае. Выберите "Использовать шифрование с двойным ключом" и введите URL-адрес конечной точки для ключа. В URL-адрес необходимо включить имя ключа, указанное в разделе "TestKeys" файла appsettings.json.
Пример: 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