Эта документация перемещена в архив и не поддерживается.

Сертификаты и ключи

Опубликовано: Апрель 2011 г.

Обновлено: Июнь 2015 г.

Назначение: Azure

Microsoft Azure Active Directory Access Control (также называется Access Control Service или ACS) предоставляет два способа подписывания и шифрования токенов: сертификаты X.509 с закрытым ключам и 256-разрядные симметричные ключи. Все сертификаты и ключи можно настроить для подписывания токенов для отдельных или всех приложений проверяющей стороны в пространстве имен, а также назначить первичными или вторичными. Добавлять и настраивать сертификаты и ключи для подписывания, шифрования и расшифровки маркеров можно как на портале управления Служба управления доступом, так и в службе Служба управления доступом.

Служба управления доступом подписывает все выпускаемые токены безопасности с помощью сертификата X.509 (с закрытым ключом) или 256-разрядного симметричного ключа. Выбор типа учетных данных для подписывания (сертификат или ключ) зависит от выбранного формата маркеров Служба управления доступом. Дополнительные сведения см. в подразделе "Подписывание токенов" раздела Приложения проверяющей стороны. При выборе типа учетных данных для подписывания учитывайте следующие моменты:

  • Токены SAML подписываются сертификатами X.509. Формат SAML используется по умолчанию в приложениях Windows Identity Foundation (WIF). Маркеры SAML можно передавать по разным протоколам, например WS-Federation и WS-Trust.

  • Токены SWT подписываются 256-разрядными симметричными ключами. Маркеры SWT можно передавать по разным протоколам, например OAuth WRAP и WS-Federation.

  • Токены JWT можно подписывать и сертификатами X.509, и 256-разрядными симметричными ключами. Маркеры JWT можно передавать по разным протоколам, например WS-Federation, WS-Trust и OAuth 2.0.

В Пространство имен Access Control сертификат или симметричный ключ настраивается для использования в пределах всего пространства имен службы или отдельного приложения проверяющей стороны. Различие состоит в следующем:

  • Пространство имен Access Control — если сертификат или ключ подписывания настраивается для всего Пространство имен Access Control, то Служба управления доступом использует его для подписывания маркеров, передаваемых всем приложениям проверяющей стороны в этом пространстве имен службы, у которых не настроен собственный сертификат или ключ. Этот сертификат подписывания (сертификат пространства имен службы) также используется для подписывания метаданных WS-Federation в Служба управления доступом.

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

    Если вы создаете или вводите выделенный симметричный ключ, Служба управления доступом использует его для подписи токенов для приложения. Если ключ будет просрочен и не будет заменен, Служба управления доступом будет использовать симметричный ключ Пространство имен Access Control для подписывания токенов приложения.

noteПримечание
  • В целях обеспечения безопасности рекомендуется создавать выделенные симметричные ключи для отдельных приложений проверяющей стороны. Сертификат X.509 можно безопасно использовать в нескольких приложений с Пространство имен Access Control.

  • При добавлении управляемого Майкрософт приложения проверяющей стороны к управляемому пространству имен, например приложения проверяющей стороны служебной шины к пространству имен служебной шины, не используйте специфические для приложения (выделенные) сертификаты или ключи. Вместо этого выберите параметр ACS, чтобы использовать сертификаты и ключи, настроенные для всех приложений в управляемом пространстве имен. Для всех других приложений проверяющей стороны следует использовать специфичные для приложения сертификаты и ключи. Дополнительные сведения см. в Управляемые пространства имен.

  • При настройке приложения проверяющей стороны, использующего сертификат X.509 Пространство имен Access Control для подписывания токенов JWT, ссылки на сертификат Пространство имен Access Control и ключ Пространство имен Access Control будут отображаться на странице приложения проверяющей стороны на портале управления Служба управления доступом. При этом Служба управления доступом использует для подписи токенов приложения проверяющей стороны только сертификат пространства имен.

Сертификаты подписи обычно используются для подписывания маркеров всех приложений проверяющей стороны в пространстве имен. Открытый ключ сертификата пространства имен публикуется в метаданных Служба управления доступом WS-Federation, что позволяет приложениям проверяющей стороны автоматизировать свою настройку. Открытые ключи сертификатов, которые назначаются только конкретному приложению проверяющей стороны, не публикуются в метаданных WS-Federation Служба управления доступом и используются только при необходимости независимого управления сертификатом подписывания приложения проверяющей стороны.

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

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

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

Открытый ключ основных и дополнительных сертификатов публикуется в метаданных WS-Federation Служба управления доступом для программной ротации сертификатов. При этом Служба управления доступом использует только первичные сертификаты и ключи для подписывания токенов.

При добавлении 256-разрядных симметричных ключей для подписывания также следует указать даты вступления в действие и истечения срока действия. Дата вступления в действие указывает, когда ключ начинает использоваться. Дата истечения срока действия указывает, когда ключ уже не может использоваться для подписывания токенов.

В Служба управления доступом можно включить шифрование всех токенов SAML 1.1 и SAML 2.0, которые Служба управления доступом выдает приложениям проверяющей стороны.

ImportantВажно!
Служба управления доступом не поддерживает шифрование маркеров SWT и JWT.

Требуется использовать шифрование токенов для веб-служб, использующих токены подтверждения владения по протоколу WS-Trust. При использовании Служба управления доступом для управления проверкой подлинности в таком приложении проверяющей стороны все выдаваемые Служба управления доступомтокены для этого приложения проверяющей стороны должен быть зашифрованы. Во всех других случаях шифрование токенов необязательно.

Служба управления доступом шифрует токены SAML с помощью сертификата X.509 с открытым ключом (CER-файла). Токен приложения проверяющей стороны расшифровывается с помощью закрытого ключа сертификата X.509. Дополнительные сведения см. в подразделе "Шифрование токенов" раздела Приложения проверяющей стороны.

Служба управления доступом принимает зашифрованные токены от поставщиков удостоверений WS-Federation, например . Поставщик удостоверений WS-Federation получает открытый ключ сертификата X.509 при импорте метаданных WS-Federation от Служба управления доступом и использует данный открытый ключ для шифрования токена безопасности, который переадресуется в Служба управления доступом. Служба управления доступом расшифровывает токен с помощью закрытого ключа сертификата X.509. Дополнительные сведения см. в Инструкции Настройка служб AD FS 2.0 в качестве поставщика удостоверений.

Можно хранить несколько сертификатов расшифровки маркеров для приложения проверяющей стороны или Пространство имен Access Control. При назначении сертификата первичным Служба управления доступом использует его для расшифровки токенов от поставщиков удостоверений WS-Federation, а также использует дополнительные сертификаты только в случае, если попытка использовать первичный сертификат завершается ошибкой.

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

В Служба управления доступом сертификаты X.509, содержащие только открытый ключ (CER-файл), можно использовать при создании удостоверения службы, проверке подписи поставщика удостоверений или шифровании токенов SAML. Файлы сертификатов X.509, содержащие только открытый ключ (CER-файл), должен иметь кодировку DER для использования с Служба управления доступом. Файлы сертификатов в кодировке Base64 в настоящее время не поддерживаются. Отправка сертификата в кодировке base64 в Служба управления доступом приведет к ошибке проверки, когда Служба управления доступом получит входящий токен, который требует этот сертификат.

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

noteПримечание
Сертификаты X.509, импортированные в Служба управления доступом, не должен быть истекшими.

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

Коммерческий центр сертификации — можно приобрести сертификат X.509 в коммерческом центре сертификации.

Создать самозаверяющий сертификат — можно создать самозаверяющий сертификат для использования с Служба управления доступом. Если используется операционная система Windows, можно использовать средство MakeCert.exe, включенное в пакет Microsoft Windows Software Development Kit (http://go.microsoft.com/fwlink/?LinkID=214104), чтобы создать самозаверяющий сертификат.

Например, следующая команда создает самозаверяющий сертификат в личном хранилище сертификатов.

MakeCert.exe -r -pe -n "CN=<service_namespace_name>.accesscontrol.windows.net" -sky exchange -ss my -len 2048 –e <1 year from today>

здесь <service_namespace_name> — имя вашего Пространство имен Access Control.

Затем можно экспортировать закрытый ключ из персонального хранилища в PFX-файл и использовать портал управления Служба управления доступом для отправки в Служба управления доступом.

Эти инструкции описывают экспорт самозаверяющего сертификата с компьютера под управлением Windows 8, Windows Server 2012, или .

  1. Запустите MMC.exe и добавьте оснастку Сертификаты в консоль MMC.

  2. Дважды щелкните Сертификаты — текущий пользователь, Личные, а затем — Сертификаты.

  3. Щелкните правой кнопкой мыши сертификат, выберите пункт Все задачи, а затем щелкните Экспорт.

  4. На странице Добро пожаловать в мастер экспорта сертификатов щелкните Далее.

  5. На странице Экспорт закрытого ключа щелкните Да, экспортировать закрытый ключ, а затем Далее.

  6. На странице Формат экспортируемого файла выберите Personal Information Exchange — PKCS #12 (PFX).

  7. В полях Пароль введите пароль и его подтверждение, а затем нажмите кнопку Далее.

  8. В поле Имя файла введите путь и имя файла с расширением PFX, а затем нажмите кнопку Далее.

  9. Нажмите кнопку Готово.

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

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

См. также

Показ: