Поделиться через


Перенос пространств имен ACS в Google OpenID Connect

Этот раздел предназначен для владельцев пространств имен службы управления доступом (ACS) 2.0, которые в настоящее время используют Google в качестве поставщика удостоверений. ACS предоставляет эту возможность с помощью реализации OpenID 2.0 Google. Google планирует прекратить поддержку OpenID 2.0 к 20 апреля 2015 года. Пространства имен ACS будут продолжать работать с реализацией OpenID 2.0 Google до 1 июня 2015 года, к тому времени, когда необходимо выполнить миграцию этих пространств имен, чтобы использовать реализацию Google OpenID Connect или пользователи больше не смогут войти в приложение с помощью учетной записи Google. Перенос пространств имен ACS в OpenID Connect не приведет к простою приложения. С одним исключением (см. примечание ниже), эта миграция возможна без изменения кода приложения. После переноса пространств имен ACS для использования OpenID Connect необходимо перенести идентификаторы пользователей в серверную часть в идентификаторы OpenID Connect. Эта миграция должна быть завершена 1 января 2017 г. Для него потребуются изменения кода в серверной части. Дополнительные сведения об обоих этапах миграции см. в следующем важном примечание.

Важный

Обратите внимание на следующие важные даты и выполните действия, необходимые каждой дате, чтобы обеспечить работу пространств имен ACS, использующих Google в качестве поставщика удостоверений:

  • 1 июня 2015 г. . Пространства имен ACS перестают работать с реализацией OpenID 2.0 Google. К этой дате необходимо выполнить миграцию пространства имен ACS для использования Google OpenID Connect. До этой даты можно выполнить откат до OpenID 2.0, если во время миграции возникли проблемы. Для пространств имен, которые не перенесены по этой дате, пользователи больше не смогут войти с помощью учетной записи Google и будут представлены на странице, которая указывает, что OpenID 2.0 для учетных записей Google ушел. Чтобы восстановить возможность входа с помощью учетных записей Google, необходимо перенести пространство имен.

    В большинстве случаев не требуется никаких изменений кода приложения. Если у вас есть правило "сквозное руководство по всем утверждениям" для Google в качестве поставщика удостоверений в группе правил, связанной с приложением, однако может потребоваться внести изменения в код. Это связано с тем, что при миграции новый тип утверждения (тема) становится доступным для ACS из Google, и вам может потребоваться внести изменения в код, чтобы убедиться, что приложение может обрабатывать наличие нового типа утверждения корректно. Чтобы успешно выполнить миграцию, не потребуется обработать новый тип утверждения в приложении.

  • 1 января 2017 г. — реализации OpenID 2.0 Google и OpenID Connect используют разные идентификаторы для уникального идентификации пользователей Google. При переносе пространства имен ACS ACS выполняет два идентификатора, как текущий идентификатор OpenID 2.0, так и новый идентификатор OpenID Connect, доступный приложению. К этой дате необходимо переключить идентификаторы пользователей в серверную систему на идентификаторы OpenID Connect и начать использовать только идентификаторы OpenID Connect. Для этого требуются изменения кода приложения.

Вы можете опубликовать вопросы о миграции на Stack Overflow и пометить их с помощью acs-google. Мы будем реагировать как можно быстрее.

Дополнительные сведения о планах Google см. в руководстве по миграции OpenID 2.0 .

Контрольный список миграции

В следующей таблице содержится контрольный список, в котором приведены действия, необходимые для переноса пространства имен ACS для использования реализации OpenID Connect Google:

Шаг Описание Должно быть завершено

1

Создайте приложение Google+ на консоли разработчиков Google.

1 июня 2015 г.

2

Если у вас есть правило "сквозное руководство всех утверждений" для Google в качестве поставщика удостоверений в группе правил, связанной с приложением, протестируйте приложение, чтобы убедиться, что оно готово к миграции; в противном случае этот шаг является необязательным.

1 июня 2015 г.

3

Используйте портал управления ACS, чтобы переключить пространство имен ACS для использования реализации Google OpenID Connect, предоставив ему параметры приложения Google+ (идентификатор клиента и секрет клиента). При возникновении проблем с миграцией откат к OpenID 2.0 возможен до 1 июня 2015 г.

1 июня 2015 г.

4

Перенос идентификаторов пользователей в серверной системе из текущих идентификаторов Google OpenID 2.0 в новые идентификаторы Google OpenID Connect. Для этого требуются изменения кода.

1 января 2017 г.

Пошаговое руководство по миграции

Чтобы перенести пространство имен ACS для использования реализации Google OpenID Connect, выполните следующие действия.

  1. Создание приложения Google+

    Подробные инструкции по этому вопросу см. в разделе "Практическое руководство. Создание приложения Google+".

  2. убедитесь, что приложение готово к миграции

    Если у вас есть правило "сквозное руководство по всем утверждениям" для Google в качестве поставщика удостоверений в группе правил, связанной с приложением, следуйте инструкциям в разделе "Практическое руководство. Проверка готовности приложения ACS к миграции для проверки готовности приложения к миграции". Это связано с тем, что при миграции нового типа утверждения (тема) становится доступным для ACS из Google.

    Заметка

    Правило "сквозного выполнения всех утверждений" правило, в котором тип утверждения входных данных и значение утверждения входных утверждений имеет значение Any и тип утверждения вывода и значение утверждения выходных данных задано значение Сквозь первый входной тип утверждения и передавать входное значение утверждения соответственно. Правило отображается на портале управления ACS , как показано ниже, при этом в столбце задано значение сквозного.

    правило сквозного

    Если вы ранее создали правила или добавили правила вручную для Google в качестве поставщика удостоверений в группе правил, связанной с приложением, можно пропустить этот шаг. Это связано с тем, что в этих случаях при миграции нового subject тип утверждения не отправляется в приложение.

    Дополнительные сведения об этих параметрах см. в группах правил и правилах.

  3. переключите пространство имен ACS для использования реализации Google OpenID Connect

    1. Перейдите на портала управления Microsoft Azure, войдите и щелкните Active Directory. Выберите пространство имен ACS, которое необходимо перенести, и щелкните Управление, чтобы запустить портал управления ACS.

    2. Напортале управления ACS щелкните поставщики удостоверений в дереве слева или щелкните ссылку поставщиков удостоверений в разделе Начало работы. Щелкните Google.

      диалоговое окно поставщиков удостоверений службы управления доступом

    3. На странице Редактирование поставщика удостоверений Google проверьте использовать OpenID Connect.

      диалоговое окно

    4. В полях идентификатор клиента и поля секрета клиента (теперь включено), скопируйте соответствующие значения из приложения Google+.

      диалоговое окно

      Заметка

      На этом этапе, если щелкнуть Сохранить, все запросы поставщика удостоверений Google из пространства имен ACS будут автоматически использовать реализацию Google OpenID Connect. Если вам нужно откатить, можно снять флажок использовать OpenID Connect. Идентификатор клиента и секрет клиента сохраняются и его можно использовать позже.

    5. Нажмите кнопку Сохранить.

    6. Попробуйте войти с помощью идентификатора Google, чтобы убедиться, что переход на использование OpenID Connect был успешным. Если у вас возникли проблемы с входом, вернитесь на страницу редактирования поставщика удостоверений Google и не проверьте, использовать OpenID Connect, чтобы выполнить откат к OpenID 2.0. После отката убедитесь, что идентификатор клиента и секрет секрет, скопированный из консоли разработчика Google , правильно вводится для пространства имен; Например, проверьте наличие опечаток.

  4. Перенос идентификаторов пользователей в серверной системе с Open ID 2.0 на OpenID Connect

    Необходимо перенести идентификаторы пользователей в серверной системе из существующих идентификаторов Google Open ID 2.0 в новые идентификаторы Google OpenID Connect до 1 января 2017 г. Для этого шага требуются изменения кода. Дополнительные сведения см. в статье "Практическое руководство. Перенос существующих идентификаторов Open ID 2.0 пользователей на новые идентификаторы пользователей OpenID Connect"

Практическое руководство. Создание приложения Google+

Для выполнения следующих действий вам потребуется учетная запись Google. Если у вас нет, вы можете получить его в https://accounts.google.com/SignUp.

  1. В окне браузера перейдите к консоли разработчиков Google и войдите с учетными данными учетной записи Google.

  2. Щелкните Создать проекти введите имя проекта и идентификатор проекта. Установите флажок условий обслуживания. Затем щелкните Создать. Это регистрирует приложение в Google.

    диалоговое окно

  3. Щелкните API & проверки подлинности на левой панели. Затем щелкните Учетные данные. В разделе OAuthщелкните Создать идентификатор клиента. Выберите веб-приложение и щелкните Настроить экран согласия. Укажите название продукта и нажмите кнопку Сохранить.

    экран согласия консоли разработчика Google

  4. Щелкните API & проверки подлинности на левой панели. А затем щелкните API. В разделе Обзор APIпоиск и поиск API Google+. Включите состояния , чтобы ON.

    консоль разработчика Google Для просмотра API

  5. В диалоговом окне Создание идентификатора клиента выберите веб-приложение в качестветипа приложения .

    В поле Авторизованные источники Javascript укажите полное доменное имя (FQDN) пространства имен, включая начальный "HTTPS://" и конечный номер порта; например, https://contoso.accesscontrol.windows.net:443.

    В поле URI авторизованного перенаправления укажите URI, содержащий полный URL-адрес домена (FQDN) пространства имен, включая начальный номер "HTTPS://" и конечный номер порта, за которым следует "/v2/openid"; например, .

    Щелкните Создать идентификатор клиента.

    экран создания идентификатора клиента экран создания идентификатора клиента консоли разработчика Google

  6. Запишите значения идентификатора клиента и секрет клиента на странице идентификатор клиента для веб-приложения. Вам потребуется настроить реализацию OpenID Connect Google на портале управления ACS.

    идентификатор клиента консоли разработчика Google для веб-приложения

    Важный

    секрет клиента — это важные учетные данные безопасности. Держите его в секрете.

Практическое руководство. Перенос существующих идентификаторов Open ID 2.0 пользователей на новые идентификаторы пользователей OpenID Connect

После успешной миграции пространства имен ACS для использования реализации Google OpenID Connect у вас есть до 1 января 2017 г. (на OpenID 2.0Руководства по миграции OpenID 2.0) для переноса идентификаторов пользователей в серверной системе с текущих идентификаторов OpenID 2.0 в новые идентификаторы OpenID Connect.

В следующей таблице показаны типы утверждений, которые становятся доступными для ACS из Google после переноса пространства имен ACS для использования реализации Google OpenID Connect:

Тип утверждения УРИ Описание Доступность протокола

Идентификатор имени

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier

Уникальный идентификатор учетной записи пользователя, предоставленной Google. Это (существующий) идентификатор OpenID 2.0.

OpenID 2.0, OpenID Connect

Тема

https://schemas.microsoft.com/identity/claims/subject

Уникальный идентификатор учетной записи пользователя, предоставленной Google. Это (новый) идентификатор OpenID Connect.

OpenID Connect

Имя

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Отображаемое имя учетной записи пользователя, предоставленное Google.

OpenID 2.0, OpenID Connect

(см. примечание ниже)

Адрес электронной почты

https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

Адрес электронной почты для учетной записи пользователя, предоставленный Google

OpenID 2.0, OpenID Connect

Поставщик удостоверений

https://schemas.microsoft.com/accesscontrolservice/2010/07/claims/IdentityProvider

Утверждение, предоставленное ACS, которое сообщает приложению проверяющей стороны, что пользователь прошел проверку подлинности с помощью поставщика удостоверений Google по умолчанию. Значение этого утверждения отображается на портале управления ACS с помощью поля "Область" на странице "Изменение поставщика удостоверений".

OpenID 2.0, OpenID Connect

Заметка

Для пользователя Google, у которого нет (зарегистрированного) профиля Google+ значение типа утверждения Name совпадает со значением типа утверждения адрес электронной почты в OpenID Connect.

Идентификатор имени и типы утверждений субъекта можно использовать для отслеживания и переключения уникальных идентификаторов существующих пользователей в серверной части путем сопоставления идентификаторов OpenID 2.0 с (новыми) идентификаторами OpenID Connect.

Если у вас есть правило "сквозное руководство всех утверждений" для Google в качестве поставщика удостоверений в связанной с приложением группе правил, приложение автоматически начнет получать тип утверждения subject.

Если вы ранее создали правила или добавили правила вручную для Google в качестве поставщика удостоверений в группе правил, связанной с приложением, необходимо добавить тип утверждения Subject вручную. Дополнительные сведения о том, как это сделать, см. в группах правил и правилах.

конфигурация входных утверждений

Например, если вы ранее создали правила для Google в качестве поставщика удостоверений в группе правил, а затем добавьте новый тип утверждения subject (как показано выше), вы увидите следующее.

утверждения google passthrough

Приложение, использующее эту группу правил, получит тип утверждения Subject вместе с другими типами утверждений.

Заметка

После 1 января 2017 года, когда Google прекращает поддержку сопоставления идентификаторов, ACS заполняет как NameIdentifier, так и типы утверждений subject с одинаковым идентификатором пользователя OpenID Connect.

Практическое руководство. Обеспечение готовности приложения ACS к миграции

За исключением одного исключения, перенос пространства имен ACS для использования реализации OpenID Connect Google возможен без изменения кода приложения. Случай исключения заключается в том, что у вас есть правило "сквозное руководство всех утверждений" для Google в качестве поставщика удостоверений в группе правил, связанной с приложением. Это связано с тем, что при миграции нового типа утверждения (subject) автоматически отправляется приложению.

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

В этом руководстве предполагается, что вы являетесь владельцем пространства имен ACS с именем ns-contoso и что ваше приложение в рабочей среде называется ProdContosoApp. Кроме того, предположим, что это приложение использует Google в качестве поставщика удостоверений и имеет "сквозное руководство по всем утверждениям" правило включено для Google.

Настройка

  1. Чтобы приступить к работе, перейдите на портал управления Microsoft Azure, войдите и щелкните Active Directory. Выберите пространство имен ACS (ns-contoso), а затем щелкните Управление, чтобы запустить портал управления ACS.

  2. Напортале управления ACS щелкните приложения проверяющей стороны в дереве слева или щелкните ссылку приложения проверяющей стороны в разделе Начало работы. Затем щелкните рабочее приложение (ProdContosoApp).

  3. Запишите свойства ProdContosoApp, которые потребуются позже.

    диалоговое окно

  4. Щелкните группу правил по умолчанию для ProdContosoApp в группе правил , чтобы убедиться, что она имеетсквозное правило", включенное для Google.

    утверждение google passthrough

Шаг 1. Настройка тестового экземпляра приложения в рабочем пространстве имен ACS

Настройте тестовый экземпляр приложения TestContosoAppв другом корневом URI; например, https://contoso-test.com:7777/. Его необходимо зарегистрировать в качестве приложения проверяющей стороны (приложения проверяющей стороны) в пространстве имен ns-contoso.

  1. Напортале управления ACS щелкните приложения проверяющей стороны в дереве слева или щелкните ссылку приложения проверяющей стороны в разделе Начало работы. Затем щелкните Добавить на странице приложений проверяющей стороны.

  2. На странице добавления приложения проверяющей стороны сделайте следующее:

    • В имявведите имя тестового приложения. Здесь TestContosoApp.

    • В режимевыберите введите параметры вручную.

    • В областивведите URI тестового приложения. Здесь https://contoso-test.com:7777/.

    • В этом руководстве можно оставить url-адрес ошибки (необязательно) пустым.

    • Дляформата токена политики шифрования маркерови времени существования токена (с) свойства и параметров подписи маркеров используйте те же значения, которые использовались для ProdContosoApp.

    • Убедитесь, что вы выбрали Google в качестве поставщика удостоверений.

    • В разделегрупп правил выберите Создать группу правил.

    диалоговое окно

  3. Щелкните Сохранить в нижней части страницы.

Шаг 2. Создание группы правил, имитирующей формат маркера ACS, который приложение получит после миграции пространства имен для использования реализации Google OpenID Connect

  1. Напортале управления ACS щелкните группы правил в дереве слева или щелкните ссылку группы правил в разделе начало работы. Затем щелкните Добавить на странице групп правил .

  2. На странице добавление группы правил укажите имя новой группы правил, например ManualGoogleRuleGroup. Нажмите кнопку "Сохранить".

    диалоговое окно

  3. На странице изменение группы правил щелкните ссылку Добавить.

    диалоговое окно

  4. На странице добавление правила утверждения убедитесь, что у вас есть следующие значения и нажмите кнопку Сохранить. Это создает "сквозное руководство всех утверждений" правило для Google.

    • Если раздел:

      • поставщик удостоверенийGoogle.

      • тип утверждения input выбран Any.

      • значение входных утвержденийany.

    • Затем раздел:

      • тип утверждения выводапройти через первый тип утверждения.

      • значение утверждения выводасквозь первое входное значение утверждения.

    • Сведения о правиле раздела:

      • Оставьте поле Description (необязательно) поле.

    диалоговое окно добавления правила утверждения

  5. На странице изменение группы правил щелкните ссылку Добавить еще раз.

  6. На странице Добавление правила утверждения убедитесь, что у вас есть следующие значения и нажмите кнопку "Сохранить". Это создает правило "статических" утверждений для Google, которое имитирует добавление нового типа утверждения, Subject, который является новым пользователем идентификатором OpenID Connect, который Google отправляет приложение при миграции.

    • Если раздел:

      • поставщик удостоверенийGoogle.

      • тип утверждения input выбран Any.

      • значение входных утвержденийany.

    • Затем раздел:

    • Сведения о правиле раздела:

      • Оставьте поле Description (необязательно) поле.

    диалоговое окно добавления запроса rull

  7. Щелкните Сохранитьна странице "Изменить группу правил".

Шаг 3. Связывание новой группы правил с тестируемым экземпляром приложения

  1. Напортале управления ACS щелкните приложения проверяющей стороны в дереве слева или щелкните ссылку приложения проверяющей стороны в разделе Начало работы. Затем щелкните TestContosoApp на странице приложения проверяющей стороны.

  2. На странице редактирования проверяющей стороны выберите ManualGoogleRuleGroup в разделе Параметры проверки подлинности и нажмите кнопку Сохранить.

    параметры проверки подлинности

На этом этапе все запросы на вход Google в тестовые приложения будут включать новый тип утверждения.

Шаг 4. Тестирование, чтобы убедиться, что приложение может обрабатывать добавление типа утверждения Subject

Протестируйте приложение, чтобы убедиться, что он может обрабатывать наличие нового типа утверждения (тема) корректно. Как правило, хорошо написанное приложение должно быть надежным для новых типов утверждений, добавляемых в токен. Найдите и исправьте все проблемы. При необходимости можно также следовать инструкциям. Перенос существующих идентификаторов Open ID 2.0 пользователей в новый раздел идентификаторов пользователей OpenID Connect для сопоставления идентификаторов пользователей.

Шаг 5. Перенос рабочей среды

Повторно создайте и разверните рабочее приложение (ProdContosoApp). Перенос пространства имен (ns-contoso) для использования реализации Google OpenID Connect, выполнив действия, описанные в пошаговом руководстве по миграции. Убедитесь, что ProdContosoApp работает должным образом.