Настройка шифрования токенов SAML в Microsoft Entra
Примечание.
Шифрование токенов — это функция Microsoft Entra ID P1 или P2. Дополнительные сведения о выпусках, функциях и ценах Microsoft Entra см. в разделе о ценах на Microsoft Entra.
Шифрование токенов SAML позволяет использовать зашифрованные утверждения SAML в приложении, которое его поддерживает. При настройке для приложения идентификатор Microsoft Entra шифрует утверждения SAML, которые он выдает для этого приложения. Он шифрует утверждения SAML с помощью открытого ключа, полученного из сертификата, хранящегося в идентификаторе Microsoft Entra. Приложение должно использовать соответствующий закрытый ключ для расшифровки токена, прежде чем токен можно будет применять в качестве доказательства проверки подлинности для пользователя, выполнившего вход.
Шифрование утверждений SAML между Microsoft Entra ID и приложением повышает уверенность в том, что содержимое токена не может быть перехвачено, и предотвращает компрометацию личных или корпоративных данных.
Даже без шифрования токены Microsoft Entra SAML никогда не передаются по сети в открытом виде. Идентификатор Microsoft Entra ID требует, чтобы обмен запросами и ответами на токены выполнялся через зашифрованные каналы HTTPS/TLS, чтобы взаимодействие между поставщиком удостоверений, браузером и приложением осуществлялось по зашифрованным каналам. Оцените преимущества шифрования токенов в вашем сценарии по сравнению с затратами на управление дополнительными сертификатами.
Чтобы настроить шифрование токенов, необходимо загрузить файл сертификата X.509, содержащий открытый ключ, в объект приложения Microsoft Entra, представляющий приложение.
Чтобы получить сертификат X.509, его можно скачать из самого приложения. Вы также можете получить его от поставщика приложений в случаях, когда поставщик приложений предоставляет ключи шифрования. Если приложение ожидает предоставления закрытого ключа, его можно создать с помощью средств шифрования. Основная часть закрытого ключа загружается в хранилище ключей приложения, а соответствующий сертификат открытого ключа загружается в Microsoft Entra ID.
Идентификатор Microsoft Entra использует AES-256 для шифрования данных утверждения SAML.
Предварительные условия
Чтобы настроить шифрование токенов SAML, вам потребуется:
- Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
- Одна из следующих ролей:
- Администратор облачных приложений
- Администратор приложений
- владелец принципала службы
Настройка шифрования токенов SAML корпоративного приложения
В этом разделе описывается настройка шифрования токена SAML корпоративного приложения. Эти приложения настраиваются из панели корпоративных приложений в Центре администрирования Microsoft Entra, либо из каталога приложений, либо из приложения, не входящего в коллекцию. Для приложений, зарегистрированных с помощью регистрации приложений, следуйте указаниям по настройке шифрования токенов SAML зарегистрированного приложения.
Чтобы настроить шифрование токенов SAML корпоративного приложения, сделайте следующее:
Получите сертификат открытого ключа, соответствующий закрытому ключу, настроенном в приложении.
Создайте пару асимметричных ключей для шифрования. Если приложение предоставляет открытый ключ для шифрования, следуйте инструкциям приложения, чтобы загрузить сертификат X.509.
Открытый ключ должен храниться в файле сертификата X.509 в .cer формате. Вы можете скопировать содержимое файла сертификата в текстовый редактор и сохранить его в виде файла .cer. Файл сертификата должен содержать только открытый ключ, а не закрытый ключ.
Если приложение использует ключ, который вы создали для своего экземпляра, следуйте инструкциям, предоставленным приложением, для установки закрытого ключа, который приложение будет использовать для расшифровки токенов из клиента Microsoft Entra.
Добавьте сертификат в конфигурацию приложения в идентификаторе Microsoft Entra.
Настройка шифрования токенов в Центре администрирования Microsoft Entra
Вы можете добавить общедоступный сертификат в конфигурацию приложения в Центре администрирования Microsoft Entra.
Войдите в Центр администрирования Microsoft Entra как минимум как Администратор облачных приложений.
Перейдите к Идентификация>Приложения>Корпоративные приложения>Все приложения.
Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска.
На странице приложения выберите Шифрование токенов.
Примечание.
Параметр шифрования токена доступен только для приложений SAML, которые были настроены из панели корпоративных приложений в центре администрирования Microsoft Entra, из библиотеки приложений или внешнего приложения. Для других приложений этот параметр отключен.
На странице Шифрование токенов щелкните Импорт сертификата, чтобы импортировать CER-файл, содержащий открытый сертификат X.509.
Как только сертификат будет импортирован, а закрытый ключ настроен для использования на стороне приложения, активируйте шифрование, выбрав ... рядом с состоянием отпечатка, а затем щелкните Активировать сертификат шифрования токенов в раскрывающемся меню.
Щелкните Да, чтобы подтвердить активацию сертификата шифрования токенов.
Убедитесь, что утверждения SAML, выдаваемые для приложения, зашифрованы.
Отключение шифрования токенов в Центре администрирования Microsoft Entra
В Центре администрирования Microsoft Entra перейдите к Идентификация>Приложения>Корпоративные приложения>Все приложения, а затем выберите приложение с включенным шифрованием токенов SAML.
На странице приложения щелкните Шифрование токенов, найдите сертификат, а затем щелкните ..., чтобы открыть раскрывающееся меню.
Щелкните Deactivate token encryption (Деактивировать шифрование токенов).
Настройка шифрования токена SAML зарегистрированного приложения
В этом разделе описывается настройка шифрования токена SAML зарегистрированного приложения. Эти приложения настраиваются из области Регистрация приложений в Центре администрирования Microsoft Entra. Для корпоративных приложений следуйте указаниям по настройке шифрования токенов SAML для корпоративного приложения.
Сертификаты шифрования хранятся на объекте приложения в Microsoft Entra ID с тегом использования encrypt
. Можно настроить несколько сертификатов шифрования, а тот, который активен для шифрования токенов, идентифицируется с помощью атрибута tokenEncryptionKeyID
.
Вам нужен идентификатор объекта приложения для настройки шифрования маркеров с помощью API Microsoft Graph или PowerShell. Это значение можно найти программным способом или перейдите на страницу свойств приложения в Центре администрирования Microsoft Entra и отметив значение идентификатора объекта.
При настройке keyCredential с помощью Graph, PowerShell или в манифесте приложения следует сгенерировать GUID для использования в качестве keyId.
Чтобы настроить шифрование токенов для регистрации приложения, выполните следующие действия.
Войдите в Центр администрирования Microsoft Entra как минимум как Администратор облачных приложений.
Перейдите к Идентификация>Приложения>Регистрация приложений>Все приложения.
Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска.
На странице приложения выберите Манифест, чтобы изменить манифест приложения.
В следующем примере показан манифест приложения, настроенный с двумя сертификатами шифрования, а второй выбран в качестве активного с помощью tokenEncryptionKeyId.
{ "id": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", "accessTokenAcceptedVersion": null, "allowPublicClient": false, "appId": "00001111-aaaa-2222-bbbb-3333cccc4444", "appRoles": [], "oauth2AllowUrlPathMatching": false, "createdDateTime": "2017-12-15T02:10:56Z", "groupMembershipClaims": "SecurityGroup", "informationalUrls": { "termsOfService": null, "support": null, "privacy": null, "marketing": null }, "identifierUris": [ "https://testapp" ], "keyCredentials": [ { "customKeyIdentifier": "Tog/O1Hv1LtdsbPU5nPphbMduD=", "endDate": "2039-12-31T23:59:59Z", "keyId": "aaaaaaaa-0b0b-1c1c-2d2d-333333333333", "startDate": "2018-10-25T21:42:18Z", "type": "AsymmetricX509Cert", "usage": "Encrypt", "value": <Base64EncodedKeyFile> "displayName": "CN=SAMLEncryptTest" }, { "customKeyIdentifier": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u=", "endDate": "2039-12-31T23:59:59Z", "keyId": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444", "startDate": "2018-10-25T21:42:18Z", "type": "AsymmetricX509Cert", "usage": "Encrypt", "value": <Base64EncodedKeyFile> "displayName": "CN=SAMLEncryptTest2" } ], "knownClientApplications": [], "logoUrl": null, "logoutUrl": null, "name": "Test SAML Application", "oauth2AllowIdTokenImplicitFlow": true, "oauth2AllowImplicitFlow": false, "oauth2Permissions": [], "oauth2RequirePostResponse": false, "orgRestrictions": [], "parentalControlSettings": { "countriesBlockedForMinors": [], "legalAgeGroupRule": "Allow" }, "passwordCredentials": [], "preAuthorizedApplications": [], "publisherDomain": null, "replyUrlsWithType": [], "requiredResourceAccess": [], "samlMetadataUrl": null, "signInUrl": "https://127.0.0.1:444/applications/default.aspx?metadata=customappsso|ISV9.1|primary|z" "signInAudience": "AzureADMyOrg", "tags": [], "tokenEncryptionKeyId": "bbbbbbbb-1c1c-2d2d-3e3e-444444444444" }
Связанный контент
- Узнайте, как идентификатор Microsoft Entra использует протокол SAML
- Узнайте о формате, характеристиках безопасности и содержимом токенов SAML в Microsoft Entra ID