Руководство. Разработка примера конечной точки SCIM в идентификаторе Microsoft Entra
В этом руководстве описывается развертывание эталонного кода SCIM с помощью Службы приложений Azure. Затем протестируйте код с помощью средства, например cURL или интеграции с службой подготовки Microsoft Entra. Этот учебник предназначен для разработчиков, приступающих к работе с SCIM, или для любых пользователей, которым нужно протестировать конечную точку SCIM.
В этом руководстве описано следующее:
- Развертывание конечной точки SCIM в Azure.
- Тестирование конечной точки SCIM.
Развертывание конечной точки SCIM в Azure
В этом разделе описывается развертывание конечной точки SCIM в службе с использованием Visual Studio 2019, Visual Studio Code и Службы приложений Azure. Базовый код SCIM можно запустить локально путем размещения на локальном сервере или при развертывании в другой внешней службе. Сведения о подготовке конечной точки SCIM см. в руководстве по разработке и планированию подготовки для конечной точки SCIM.
Получение и развертывание примера приложения
Перейдите к базовому коду, размещенному в GitHub, и выберите операцию клонировать или скачать. Выберите Открыть в среде рабочего стола или скопируйте ссылку, откройте Visual Studio и выберите Клонировать или проверить код, чтобы ввести скопированную ссылку и создать локальную копию кода. Сохраните файлы в папку, общая длина пути к которой не превышает 260 символов.
В Visual Studio нужно обязательно войти в учетную запись, которая имеет доступ к ресурсам размещения.
В Обозревателе решений откройте Microsoft.SCIM.sln и щелкните правой кнопкой мыши файл Microsoft.SCIM.WebHostSample. Выберите Опубликовать.
Выберите Создать профиль и нажмите последовательно: Служба приложений и Создать новую.
Выполните выбор параметров, предоставляемых в диалоговом окне, и присвойте приложению нужное имя. Это имя используется как в приложении, так и в URL-адресе конечной точки SCIM.
Выберите для использования группу ресурсов и нажмите кнопку Опубликовать.
Настройка Службы приложений
Перейдите к приложению, выбрав последовательно: Служба приложений Azure>Конфигурация, а затем нажмите Новый параметр приложения, чтобы добавить для параметра Token__TokenIssuer значение https://sts.windows.net/<tenant_id>/
. Замените <tenant_id>
идентификатор клиента Microsoft Entra.
При тестировании конечной точки с корпоративным приложением в Центре администрирования Microsoft Entra есть два варианта. Рабочую среду можно сохранить в категории Development
и предоставить токен для тестирования из конечной точки /scim/token
. Кроме того, можно переместить рабочую среду в категорию Production
и оставить поле токена пустым.
Вот и все! Теперь конечная точка SCIM опубликована, и можно использовать URL-адрес службы приложений Azure для проверки конечной точки SCIM.
Тестирование конечной точки SCIM
Для запросов к конечной точке SCIM требуется авторизация. Стандарт SCIM имеет несколько доступных вариантов. Запросы могут использовать файлы cookie, обычную проверку подлинности, проверку подлинности клиента TLS или любой из методов, перечисленных в RFC 7644.
Откажитесь от методов, которые не являются защищенными, например основанных на использовании имени пользователя и пароля, в пользу более безопасных методов, например OAuth. Идентификатор Microsoft Entra id поддерживает долгоживущие маркеры носителя (для приложений коллекции и не коллекции) и предоставление авторизации OAuth (для приложений коллекции).
Примечание.
Методы авторизации, предоставляемые в репозитории, предназначены только для тестирования. При интеграции с идентификатором Microsoft Entra можно ознакомиться с руководством по авторизации. См. Подготовка плана для конечной точки SCIM.
В среде разработки имеются функции, которые не безопасны для производственной среды, например базовый код для управления проведением проверки токена безопасности. В коде проверки токена используется самозаверяющийся токен безопасности, а ключ подписывания хранится в файле конфигурации. См. параметр Token:IssuerSigningKey в файле appsettings.Development.json.
"Token": {
"TokenAudience": "Microsoft.Security.Bearer",
"TokenIssuer": "Microsoft.Security.Bearer",
"IssuerSigningKey": "A1B2C3D4E5F6A1B2C3D4E5F6",
"TokenLifetimeInMins": "120"
}
Примечание.
При отправке запроса GET к конечной точке /scim/token
токен выдается с помощью настроенного ключа. Этот токен можно использовать в качестве токена носителя для последующей авторизации.
Код проверки маркера по умолчанию настроен для использования маркера Microsoft Entra и требует, чтобы выдающий клиент был настроен с помощью параметра Token:TokenIssuer в файле appsettings.json .
"Token": {
"TokenAudience": "8adf8e6e-67b2-4cf2-a259-e3dc5476c621",
"TokenIssuer": "https://sts.windows.net/<tenant_id>/"
}