Единый вход Azure AD в Sitecore за 5 шагов.
С появлением Identity Server в Sitecore никогда не было так просто реализовать различные способы настройки того, как вы входите в Sitecore. Единый вход (SSO) становится все более популярным, поскольку он предоставляет единый набор учетных данных внутри предприятия, чтобы не только предоставлять доступ к корпоративным ресурсам, но также позволяет централизованно управлять разрешениями и безопасностью. В этом руководстве я покажу вам пять простых шагов по настройке единого входа с помощью Microsoft Azure Active Directory (AD).
И что самое главное, кодирование не требуется.
Да, вы не ослышались, кодирование не требуется; не благодари меня, спасибо Sitecore. Итак, без лишних слов, давайте копнем!
Требования:
По сути, необходимы два требования:
1. Sitecore XP 9+ (в этом руководстве я буду использовать 9.2 XP)
2. Microsoft Azure AD (если у вас / или вашего предприятия его нет, вы можете получить бесплатную пробную версию в течение одного года)
Несколько замечаний:
Я хочу вкратце рассказать о поведении по умолчанию при входе в Sitecore.
· Когда вы переходите по URL-адресу своего экземпляра Sitecore, вы получаете перенаправление на сервер идентификации.
Это поведение по умолчанию; если не настроено иное. В этом блоге используется URL-адрес Sitecore по умолчанию: http: //xp0.local.test. Обратите внимание на URL-адрес, на который он перенаправляется; это URL-адрес вашего сервера идентификации.
Запишите URL-адрес сервера идентификации, так как он понадобится вам в этом руководстве. В данном случае это https: //xp0-identityserver.local.test; однако ваш может отличаться. Вы можете просто перейти в диспетчер IIS и проверить привязку сайта для вашего сервера идентификации, чтобы получить URL:
Шаг 1. Заглянем внутрь конфигурации сервера идентификации
Чтобы вы могли реализовать единый вход в Azure AD, нам нужно выяснить, что нужно изменить. Когда я упомянул об отсутствии изменений кода, это произошло потому, что Sitecore был достаточно велик, чтобы предоставить файл конфигурации на сервере идентификации, который можно редактировать для работы именно с Azure AD. Именно в этом файле вы будете вносить изменения и добавлять некоторые значения из Azure, чтобы волшебство произошло:
· Этот файл называется Sitecore.Plugin.IdentityProvider.AzureAd.xml.
· Чтобы перейти к нему, перейдите в корневой каталог своего Identity Server /sitecore/Sitecore.Plugin.IdentityProvider.AzureAd/Config/
· Откройте файл, щелкнув его правой кнопкой мыши и выбрав редактор кода, в этом случае я буду использовать Notepad ++.
· В этом конфигурационном файле нам нужно будет изменить следующее:
1. Установите для параметра ‹Enabled› значение true: это позволит серверу идентификации использовать этот Azure AD в качестве поставщика удостоверений.
2. Задайте значения для ‹ClientId› и ‹TenantId›: эти значения будут получены при регистрации приложения на вашем лазурном портале (будет рассмотрено позже).
Шаг 2. Добавление регистрации приложения в Azure AD
Чтобы использовать Azure AD, у вас должно быть приложение, зарегистрированное в Azure AD. Здесь вы получаете значения для ‹ClientId› и ‹TenantId›. Если вы этого не сделаете, не переживайте. Я не буду заставлять вас переходить по другой ссылке, чтобы перейти к другому руководству. Вот как вы это сделаете:
· Перейдите на портал Micr osoft Azure, войдите в систему и войдите в свою Azure AD. Вы можете перейти на портал, нажав здесь.
· Перейдите в Azure AD и нажмите Регистрация приложений на левой панели навигации:
· На новой странице нажмите Регистрация нового приложения.
На странице Регистрация приложения:
· Введите имя для своего приложения
· Оставьте Поддерживаемые типы учетных записей по умолчанию, если вы настраиваете систему единого входа только для своей организации (по умолчанию).
· В качестве URL-адреса перенаправления введите свой URL-адрес сайта сервера идентификации, который был показан в разделе Что нужно отметить выше; однако вы добавите к нему суффикс / signin-oidc в конце. См. Ниже:
· Нажмите Зарегистрироваться внизу. Теперь ваше приложение будет зарегистрировано в Azure AD.
Шаг 3. Настройка файла конфигурации сервера идентификации для Azure AD
Теперь ваше приложение зарегистрировано в Azure AD. Мы собираемся дважды проверить несколько вещей при регистрации приложения в Azure. Затем мы получим идентификатор клиента и идентификатор клиента и вставим их в наш файл конфигурации для Identity Server.
В Azure перейдите в раздел «Регистрация новых приложений» и выполните настройку «Регистрация нового приложения». В этой демонстрации это называется AzureSSODemo. На обзорной странице регистрации приложения вы найдете идентификатор клиента и идентификатор клиента справа вверху. Скопируйте и вставьте каждый из них в соответствующую область в файле конфигурации Sitecore Identity Server Azure AD:
· Не забудьте установить для параметра ‹Enabled› значение true.
· Сохраните файл конфигурации. Войдите в диспетчер IIS и перезапустите пул приложений для Identity Server.
· Теперь перейдите к своему экземпляру Sitecore. Подождите несколько секунд, но когда он загрузится и перенаправит вас на Identity Server, вы должны увидеть внизу кнопку Azure AD:
Прежде чем у вас возникнет соблазн нажать эту новую блестящую кнопку, нам нужно сделать еще один последний шаг.
Шаг 4: Добавление пользовательских преобразований
У нас все настроено и готово к работе. Однако нам нужно установить еще один параметр конфигурации в файле конфигурации Identity Server Azure AD: преобразования пользователей. Identity Server не распознает внешние учетные записи, поэтому, если вы попытаетесь войти в систему, используя свои учетные данные Azure AD, Identity Server не узнает, кто вы в Sitecore и какие у вас есть роль / разрешения. Затем он перенаправит вас обратно в оболочку Sitecore с душераздирающим сообщением о том, что аутентификация не удалась.
Чтобы решить эту проблему, мы создадим группу пользователей в Azure AD (если у вас ее еще нет), воспользуемся идентификатором объекта этой группы пользователей и вставим его в конфигурацию нашего сервера идентификации. файл для настройки преобразования.
И снова Sitecore предоставил нам образец такого преобразования в нижней части файла конфигурации. Мы просто воспользуемся одним из этих образцов. Для простоты мы возьмем преобразование AzureADUserToAdminUser. Просто скопируйте его из закомментированных примеров в конец конфигурационного файла под
‹! - Примеры трансформации →:
· Скопируйте этот раздел без тегов комментариев
· Вставьте его прямо под Строкой 30. Все, что нужно сделать, это скопировать идентификатор объекта группы / пользователя Azure AD и заменить значение по умолчанию для Claim1.
· Этот шаг необходим только в том случае, если у вас еще нет группы Azure AD, которую вы хотели бы использовать. Если нет, вам придется его создать. Вернитесь на портал Azure и перейдите в свою Azure AD. В меню слева нажмите Группы, а затем нажмите Новая группа вверху.
· Назовите группу как хотите для этой демонстрации. Я только что использовал имя регистрации приложения: AzureSSODemo. Сохраните все настройки по умолчанию и создайте группу. Теперь вы можете назначить этой группе пользователей из Azure AD. Все пользователи, назначенные этой группе, будут преобразованы в Sitecore Identity Server в качестве администраторов Sitecore.
· Мы скопируем идентификатор объекта этой группы и вставим его, заменив значение по умолчанию в преобразовании конфигурации сервера идентификации Значение утверждения1. Сохраните изменения в файле и еще раз перезапустите пул приложений Identity Server.
Шаг 5: важный момент
Теперь, когда у вас есть:
1. Включен файл конфигурации Azure AD Identity Server.
2. Добавлен clientID / objectId для регистрации вашего приложения в Azure.
3. Настройте параметр правила преобразования, используя идентификатор группового объекта в Azure, теперь пора все это протестировать.
· Перейдите к вашему экземпляру / оболочке Sitecore. Опять же, как только страница загрузится, вы увидите кнопку Azure AD. На этот раз щелкните по нему. Вы будете перенаправлены на страницу входа в Microsoft:
· Введите свою учетную запись Microsoft / адрес электронной почты Azure AD, а затем свой пароль. Нажмите Войти.
** Возможно, вас попросят оставаться в системе, и вы должны сделать этот звонок. **
· Наконец, если все было настроено правильно, вы будете перенаправлены обратно на Sitecore и войдете в систему:
Спасибо за чтение этого блога, и я надеюсь, что это руководство окажется полезным для вас и вашей компании.
Набил А.
Разработчик программного обеспечения
Решения Sitecore XP 9.2–9.3 сертифицированы | Сертификат Sitecore XC 9.2
Энтузиаст программирования ASP.NET