Настройка шифрования токенов SAML в Microsoft Entra

Примечание.

Шифрование токенов — это функция Microsoft Entra ID P1 или P2. Дополнительные сведения о выпусках, функциях и ценах Microsoft Entra см. в разделе о ценах на Microsoft Entra.

Шифрование токенов SAML позволяет использовать зашифрованные утверждения SAML в приложении, которое его поддерживает. При настройке для приложения идентификатор Microsoft Entra зашифрует утверждения SAML, которые он выдает для этого приложения с помощью открытого ключа, полученного из сертификата, хранящегося в идентификаторе Microsoft Entra. Приложение должно использовать соответствующий закрытый ключ для расшифровки токена, прежде чем токен можно будет применять в качестве доказательства проверки подлинности для пользователя, выполнившего вход.

Шифрование утверждений SAML между идентификатором Microsoft Entra и приложением обеспечивает дополнительную уверенность в том, что содержимое маркера не может быть перехвачено, а персональные или корпоративные данные скомпрометированы.

Даже без шифрования токенов токены Microsoft Entra SAML никогда не передаются в сеть в ясной среде. Идентификатор Microsoft Entra id требует, чтобы обмен маркерами и ответами проходил через зашифрованные каналы HTTPS/TLS, чтобы взаимодействие между поставщиком удостоверений, браузером и приложением выполнялось через зашифрованные ссылки. Оцените преимущества шифрования токенов в вашем сценарии по сравнению с затратами на управление дополнительными сертификатами.

Чтобы настроить шифрование маркеров, необходимо отправить файл сертификата X.509, содержащий открытый ключ, в объект приложения Microsoft Entra, представляющий приложение. Чтобы получить сертификат X.509, его можно скачать из самого приложения или получить от поставщика приложений в случаях, когда поставщик приложения предоставляет ключи шифрования или в случаях, когда приложение ожидает, что вы предоставите закрытый ключ, его можно создать с помощью средств шифрования, часть закрытого ключа, отправленная в хранилище ключей приложения и соответствующий сертификат открытого ключа, отправленный в идентификатор Microsoft Entra.

Идентификатор Microsoft Entra использует AES-256 для шифрования данных утверждения SAML.

Необходимые компоненты

Чтобы настроить шифрование токенов SAML, вам потребуется:

  • Учетная запись пользователя Microsoft Entra. Если ее нет, можно создать учетную запись бесплатно.
  • Одна из следующих ролей: глобальный администратор, администратор облачных приложений, администратор приложений или владелец субъекта-службы.

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

Настройка шифрования токенов SAML корпоративного приложения

В этом разделе описывается, как настроить шифрование токенов SAML корпоративного приложения. Приложения, настроенные из колонки корпоративных приложений в Центре администрирования Microsoft Entra, из коллекции приложений или приложения, отличного от коллекции. Для приложений, зарегистрированных с помощью регистрации приложений, следуйте указаниям по настройке шифрования токенов SAML зарегистрированного приложения.

Чтобы настроить шифрование токенов SAML корпоративного приложения, сделайте следующее:

  1. Получите сертификат открытого ключа, соответствующий закрытому ключу, настроенному в приложении.

    Создайте пару асимметричных ключей для шифрования. Если приложение предоставляет открытый ключ для шифрования, следуйте инструкциям приложения, чтобы загрузить сертификат X.509.

    Открытый ключ должен храниться в формате CER сертификата X.509. Вы можете скопировать содержимое файла сертификата в текстовый редактор и сохранить его в виде файла .cer. Файл сертификата должен содержать только открытый ключ, а не закрытый ключ.

    Если приложение использует ключ, создаваемый для вашего экземпляра, следуйте инструкциям, предоставленным приложением для установки закрытого ключа, который приложение будет использовать для расшифровки маркеров из клиента Microsoft Entra.

  2. Добавьте сертификат в конфигурацию приложения в идентификаторе Microsoft Entra.

Настройка шифрования токенов в Центре администрирования Microsoft Entra

Вы можете добавить общедоступный сертификат в конфигурацию приложения в Центре администрирования Microsoft Entra.

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.

  2. Перейдите к приложениям>Identity>Application Enterprise Для всех приложений.>

  3. Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска.

  4. На странице приложения выберите Шифрование токенов.

    Screenshot shows how to select the Token encryption option in the Microsoft Entra admin center.

    Примечание.

    Параметр шифрования токенов доступен только для приложений SAML, настроенных из колонки корпоративных приложений в Центре администрирования Microsoft Entra, из коллекции приложений или приложения, отличного от коллекции. Для других приложений этот пункт меню отключен.

  5. На странице Шифрование токенов щелкните Импорт сертификата, чтобы импортировать CER-файл, содержащий открытый сертификат X.509.

    Screenshot shows how to import a certificate file using Microsoft Entra admin center.

  6. Как только сертификат будет импортирован, а закрытый ключ настроен для использования на стороне приложения, активируйте шифрование, выбрав ... рядом с состоянием отпечатка, а затем щелкните Активировать сертификат шифрования токенов в раскрывающемся меню.

  7. Щелкните Да, чтобы подтвердить активацию сертификата шифрования токенов.

  8. Убедитесь, что утверждения SAML, выдаваемые для приложения, зашифрованы.

Отключение шифрования маркеров в Центре администрирования Microsoft Entra

  1. В Центре администрирования Microsoft Entra перейдите к приложениям> Identity>Applications>Enterprise, а затем выберите приложение с включенным шифрованием токена SAML.

  2. На странице приложения щелкните Шифрование токенов, найдите сертификат, а затем щелкните ..., чтобы открыть раскрывающееся меню.

  3. Щелкните Deactivate token encryption (Деактивировать шифрование токенов).

Настройка шифрования токена SAML зарегистрированного приложения

В этом разделе описывается, как настроить шифрование токенов SAML зарегистрированного приложения. Приложения, настроенные из колонки Регистрация приложений в Центре администрирования Microsoft Entra. Для корпоративных приложений следуйте указаниям по настройке шифрования токенов SAML для корпоративного приложения.

Сертификаты шифрования хранятся в объекте приложения в идентификаторе Microsoft Entra с тегом encrypt использования. Можно настроить несколько сертификатов шифрования, а тот, который активен для шифрования токенов, идентифицируется с помощью атрибута tokenEncryptionKeyID.

Для настройки шифрования токенов с помощью API Microsoft Graph или PowerShell потребуется идентификатор объекта приложения. Это значение можно найти программным способом или перейдите на страницу свойств приложения в Центре администрирования Microsoft Entra и отметив значение идентификатора объекта.

При настройке keyCredential с помощью Graph, PowerShell или в манифесте приложения следует создать идентификатор GUID для использования в качестве keyId.

Чтобы настроить шифрование токенов для регистрации приложения, выполните следующие действия.

  1. Войдите в Центр администрирования Microsoft Entra как минимум облачные приложения Администратор istrator.

  2. Перейдите к приложениям >identity>Регистрация приложений> All.

  3. Введите имя существующего приложения в поле поиска и выберите приложение из результатов поиска.

  4. На странице приложения выберите Манифест, чтобы изменить манифест приложения.

    В следующем примере показан манифест приложения, настроенный с двумя сертификатами шифрования, а второй выбран в качестве активного с помощью tokenEncryptionKeyId.

    { 
      "id": "3cca40e2-367e-45a5-8440-ed94edd6cc35",
      "accessTokenAcceptedVersion": null,
      "allowPublicClient": false,
      "appId": "cb2df8fb-63c4-4c35-bba5-3d659dd81bf1",
      "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": "8be4cb65-59d9-404a-a6f5-3d3fb4030351", 
          "startDate": "2018-10-25T21:42:18Z", 
          "type": "AsymmetricX509Cert", 
          "usage": "Encrypt", 
          "value": <Base64EncodedKeyFile> 
          "displayName": "CN=SAMLEncryptTest" 
        }, 
        {
          "customKeyIdentifier": "U5nPphbMduDmr3c9Q3p0msqp6eEI=",
          "endDate": "2039-12-31T23:59:59Z", 
          "keyId": "6b9c6e80-d251-43f3-9910-9f1f0be2e851",
          "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": "6b9c6e80-d251-43f3-9910-9f1f0be2e851" 
    }  
    

Следующие шаги