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

Примечание.

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

Шифрование токенов SAML позволяет использовать зашифрованные утверждения SAML в приложении, которое его поддерживает. При настройке для приложения идентификатор Microsoft Entra шифрует утверждения SAML, которые он выдает для этого приложения. Он шифрует утверждения 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 как минимум администратор облачных приложений.

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

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

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

    Примечание.

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

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

    Снимок экрана: импорт файла сертификата с помощью Центра администрирования Microsoft Entra.

  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 как минимум администратор облачных приложений.

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

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

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

    В следующем примере показан манифест приложения, настроенный с двумя сертификатами шифрования, а второй выбран в качестве активного с помощью 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" 
    }  
    

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