Как программно настроить Azure AD SSO для галерейного приложения? - PullRequest
0 голосов
/ 08 апреля 2020

Мне нужно настроить Azure Active Directory SSO для приложения галереи Tableau Server, как это указано в документации MS ссылка программно. Существуют ли полезные командлеты powershell / rest apis?

Я создаю приложение из галереи с использованием Graph API из шага 1 на MS docs . Чтобы получить доступные шаблоны:

GET https://graph.microsoft.com/beta/applicationTemplates

Чтобы создать шаблонное приложение:

POST https://graph.microsoft.com/beta/applicationTemplates/{id}/instantiate

Теперь мне нужно настроить SSL SAML из кода и назначить пользователей. Есть ли простой способ сделать это? Я попытался Set-AzureADApplication , но он не справился со мной. Приложение предприятия еще не установлено. Может это еще не поддерживается? Я считаю, что может быть какой-то обходной путь. Буду благодарен за любую помощь.

1 Ответ

1 голос
/ 09 апреля 2020

Есть ли полезные командлеты powershell / rest apis?

Да, но в моем тесте нам нужно сделать это на две части.

1.Установите Sign-on URL, для этого нам нужно вызвать Microsoft Graph - Update serviceprincipal.

В графическом обозревателе используйте следующий запрос:

PATCH https://graph.microsoft.com/beta/servicePrincipals/<object-id of the service principal>

{
  "loginUrl": "https://azure.signtest.link"
}

enter image description here

Примечание: В приведенном выше запросе необходимо использовать идентификатор объекта субъекта службы (приложение Enterprise), а не приложение AD ( Регистрация приложения). Вы можете найти его в Azure AD на портале -> Enterprise Application -> найти Tableau Server -> получить Object ID, как показано ниже.

enter image description here

2. Установите Identifier и Reply URL, мы могли бы сделать это через Powershell Set-AzureADApplication.

Образец:

$Identifiers = @(
    "http://www.tableau.com/products/server",
    "https://azure.idtest.link"
)
$ReplyUrls = @(
    "https://azure.rptest.link/wg/saml/SSO/index.html"
)
Set-AzureADApplication -ObjectId <object-id of the AD App> -IdentifierUris $Identifiers -ReplyUrls $ReplyUrls 

Для object-id of the AD App перейдите к Azure AD на портале -> App registrations -> найдите Tableau Server. После выполнения команды параметры будут сопоставлены с приложением предприятия.

enter image description here

Проверьте результат на портале:

enter image description here

Обновление:

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

Но если мы проверим субъект службы (корпоративное приложение) напрямую через Microsoft График, мы можем видеть, что PowerShell на самом деле влияет на принципала службы.

enter image description here

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

enter image description here

И похоже, что нет способа установить Default Reply URL через Powershell или API, если мы установите Reply URL, который отличается от того, который был задан вручную на портале, у него будет приглашение, как показано ниже.

enter image description here

Но если мы посмотрим на это, фактически проверяется опция Default.

enter image description here

Update2:

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

Пример:

PATCH https://graph.microsoft.com/beta/servicePrincipals/<object-id of the service principal>

{
  "preferredSingleSignOnMode":"saml",
  "loginUrl": "https://azure.signtest.link"
}
...