Выполните следующие общие действия, чтобы настроить DKE. После выполнения этих действий пользователи смогут защитить конфиденциальные данные с помощью шифрования двойного ключа.
Разверните службу DKE, как описано в этой статье. Убедитесь, что ваша среда соответствует минимальным требованиям к системе и лицензированию. Дополнительные сведения см. в статье Требования к системе и лицензированию для DKE.
Настройте реестр на клиентских устройствах, чтобы можно было использовать метки шифрования двойного ключа. Затем защитите данные, выбрав метку Зашифровано с двойным ключом на ленте Конфиденциальность в Microsoft Office.
Существует несколько способов выполнения некоторых действий по развертыванию шифрования с двойным ключом. В этой статье содержатся подробные инструкции, чтобы менее опытные администраторы успешно развернули службу. Если вам это удобно, вы можете выбрать собственные методы.
Развертывание DKE
В этой статье и видео о развертывании используется Azure в качестве назначения развертывания для службы DKE. При развертывании в другом расположении необходимо указать собственные значения.
Выполните следующие общие действия, чтобы настроить шифрование с двойным ключом для организации.
Visual Studio Code. Скачайте Visual Studio Code из https://code.visualstudio.com/. После установки запустите Visual Studio Code и выберите Просмотреть>расширения. Установите эти расширения.
C# для Visual Studio Code
Диспетчер пакетов NuGet
Ресурсы Git. Скачайте и установите одно из следующих компонентов.
Корпорация Майкрософт предоставляет исходные файлы DKE в репозитории GitHub. Вы клонируйте репозиторий, чтобы создать проект локально для использования в организации. Репозиторий DKE GitHub находится по адресу https://github.com/Azure-Samples/DoubleKeyEncryptionService.
Следующие инструкции предназначены для неопытных пользователей Git или Visual Studio Code:
В правой части экрана выберите Код. В вашей версии пользовательского интерфейса может отображаться кнопка "Клонировать" или "Скачать ". Затем в появившемся раскрывающемся списке щелкните значок копирования, чтобы скопировать 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 параметр .
Добавьте адрес электронной почты или адреса, которые вы хотите авторизовать. Разделите несколько адресов электронной почты двойными кавычками и запятыми. Например:
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 и просмотрите свойства клиента. Например:
Если вы хотите включить внешний доступ 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.
Перейдите в папку, в которой нужно сохранить тестовые ключи. Файлы, созданные путем выполнения действий в этой задаче, хранятся в той же папке.
В текстовом редакторе откройте 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
Убедитесь, что в окне вывода отсутствуют красные ошибки.
Если есть красные ошибки, проверка выходные данные консоли. Убедитесь, что все предыдущие шаги выполнены правильно и имеются правильные версии сборки.
Настройка завершена. Перед публикацией хранилища ключей в appsettings.json для параметра JwtAudience убедитесь, что значение для имени узла точно соответствует имени узла Служба приложений.
Развертывание службы DKE и публикация хранилища ключей
Вы можете предпочесть другие методы для развертывания ключей. Выберите метод, который лучше всего подходит для вашей организации.
Для пилотных развертываний можно выполнить развертывание в Azure и начать работу сразу.
Создание экземпляра веб-приложения Azure для размещения развертывания DKE
Чтобы опубликовать хранилище ключей, создайте экземпляр Служба приложений Azure для размещения развертывания DKE. Затем опубликуйте созданные ключи в Azure.
В браузере войдите в microsoft портал Azure и перейдите в раздел Создание > веб-приложения служб приложений>.
Создайте новую или выберите существующую группу ресурсов.
Укажите имя экземпляра, например contosodke1. Это имя не совпадает с именем в файле конфигурации. Для имени также указывается значение WebAppInstanceName.
В ценовом плане выберите размер, разрешающий личные домены, например Базовый B1.
Для параметра Опубликовать выберите код, а в стеке среды выполнения выберите .NET 8 (LTS).
Выберите Проверить и создать.
Например:
В созданном веб-приложении перейдите в раздел "Параметры", "Личные домены", выберите Добавить личный домен.
В разделе Поставщик домена выберитеВсе остальные доменные службы.
В поле Домен введите имя узла компьютера, на котором требуется установить службу DKE.
Важно!
Убедитесь, что имя узла совпадает с именем, определенным для параметра JwtAudience в файле appsettings.json.
В общедоступной службе DNS внесите предлагаемые изменения, как указано в разделе Проверка домена, и выберите Проверить.
Например:
Чтобы опубликовать созданные ключи, сделайте следующее:
В базе кода для хранилища ключей перейдите в папку customer-key-store\src\customer-key-store и убедитесь, что эта папка содержит файл customerkeystore.csproj .
Запуск: dotnet publish
В окне вывода отображается каталог, в котором была развернута публикация.
Отправьте все файлы в каталоге публикации в файл .zip. При создании файла .zip убедитесь, что все файлы в каталоге находятся на корневом уровне файла .zip.
Перетащите созданный файл .zip на открытый ранее сайт ZipDeployUI.
DKE развернут, и вы можете перейти к созданным ключам тестирования. Перейдите к статье Проверка развертывания в этой статье.
Проверка развертывания
После развертывания DKE с помощью одного из методов, описанных в этой статье, проверьте развертывание и параметры хранилища ключей.
Имя ключа учитывает регистр. Введите имя ключа, как оно отображается в файле appsettings.json.
Регистрация хранилища ключей
Следующие действия позволяют зарегистрировать службу DKE. Регистрация службы DKE — это последний шаг при развертывании DKE, прежде чем вы сможете приступить к созданию меток.
Чтобы зарегистрировать службу DKE, выполните следующие действия:
В браузере откройте microsoft портал Azure и перейдите в разделРегистрация приложений дляудостоверений>всех служб>.
Выберите Создать регистрацию и введите понятное имя.
Выберите тип учетной записи из отображаемых параметров.
Например:
В нижней части страницы выберите Зарегистрировать , чтобы создать новую регистрацию приложения.
В новой регистрации приложения в области слева в разделе Управление выберите Проверка подлинности.
Выберите Добавить платформу.
Во всплывающем окне Настройка платформ выберите Интернет.
В разделе URI перенаправления введите URI службы шифрования с двойным ключом. Введите URL-адрес Служба приложений, включая имя узла и домен.
Пример: https://mydkeservicetest.com
Вводимый URL-адрес должен соответствовать имени узла, на котором развернута служба DKE.
Убедитесь, что имя узла точно соответствует имени узла Служба приложений.
В разделе Неявное предоставление установите флажок Маркеры идентификаторов .
Нажмите кнопку Сохранить, чтобы сохранить изменения.
На левой панели выберите Предоставить API, рядом с полем URI идентификатора приложения введите URL-адрес Служба приложений, включая имя узла и домен, а затем нажмите кнопку Задать.
На странице Предоставление API в области Области, определенные этим API, выберите Добавить область. В новом область:
Определите имя область как user_impersonation.
Выберите администраторов и пользователей, которые могут предоставить согласие.
Определите все оставшиеся обязательные значения.
Нажмите Добавить область.
Нажмите кнопку Сохранить в верхней части окна, чтобы сохранить изменения.
На странице Предоставление API в области Авторизованные клиентские приложения выберите Добавить клиентское приложение.
В новом клиентском приложении:
Определите идентификатор клиента как d3590ed6-52b3-4102-aeff-aad2292ab01c. Это значение является идентификатором клиента Microsoft Office и позволяет Office получить маркер доступа для хранилища ключей.
В разделе Авторизованные области выберите область user_impersonation.
Нажмите кнопку Добавить приложение.
Нажмите кнопку Сохранить в верхней части окна, чтобы сохранить изменения.
Повторите эти действия, но на этот раз, если вы по-прежнему используете клиент Azure Information Protection, определите идентификатор клиента как c00e9d32-3c8d-4a7d-832b-029040e7db99.
Повторите эти действия, но на этот раз определите идентификатор клиента как 0e25d998-b19a-4080-811c-d74d60d65e42. Это значение является идентификатором клиента Information Protection Purview.
На портале Microsoft Purview создайте новую метку конфиденциальности и примените шифрование, как и в противном случае. Выберите Использовать шифрование двойного ключа и введите URL-адрес конечной точки для ключа. Необходимо включить имя ключа, предоставленное в разделе "TestKeys" файла appsettings.json в URL-адресе.
Все добавленные метки DKE отображаются для пользователей в последних версиях Приложения Microsoft 365 для предприятий.
Примечание
Обновление клиентов с использованием новых меток может занять до 24 часов.
Перенос защищенных файлов из меток HYOK в метки DKE
При необходимости после завершения настройки DKE можно перенести содержимое, защищенное с помощью меток HYOK, в метки DKE. Для миграции используйте сканер Защита информации Microsoft Purview. Чтобы приступить к работе со сканером, см. статью Общие сведения о сканере защиты информации.
Если вы не переносите содержимое, содержимое, защищенное HYOK, остается неизменным.
Другие варианты развертывания
Мы понимаем, что для некоторых клиентов в строго регулируемых отраслях эта стандартная эталонная реализация с использованием программных ключей может оказаться недостаточной для удовлетворения их расширенных обязательств по соответствию требованиям и потребностей. Мы сотрудничаем со сторонними поставщиками аппаратных модулей безопасности (HSM) для поддержки расширенных параметров управления ключами в службе DKE, включая:
В этом модуле рассматривается процесс реализации меток конфиденциальности, включая применение соответствующих административных разрешений, определение стратегии развертывания, создание, настройку и публикацию меток, а также удаление меток.
Продемонстрировать основы безопасности данных, управления жизненным циклом, информационной безопасности и соответствия требованиям для защиты развертывания Microsoft 365.