Есть ли полезные командлеты 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](https://i.stack.imgur.com/UTXrV.png)
Примечание: В приведенном выше запросе необходимо использовать идентификатор объекта субъекта службы (приложение Enterprise), а не приложение AD ( Регистрация приложения). Вы можете найти его в Azure AD на портале -> Enterprise Application
-> найти Tableau Server
-> получить Object ID
, как показано ниже.
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](https://i.stack.imgur.com/Huxty.png)
Проверьте результат на портале:
![enter image description here](https://i.stack.imgur.com/Lumse.png)
Обновление:
Не уверен, если это ошибка, если я создаю новое приложение без настройки Identifier
и Reply URL
вручную на портале, а затем просто используйте приведенную выше команду powershell для их установки, они не будут сопоставлены с порталом.
Но если мы проверим субъект службы (корпоративное приложение) напрямую через Microsoft График, мы можем видеть, что PowerShell на самом деле влияет на принципала службы.
![enter image description here](https://i.stack.imgur.com/aOArg.png)
Если сначала мы настроим параметры вручную на портале, то используйте PowerShell для обновите их другими значениями, это работает.
![enter image description here](https://i.stack.imgur.com/4DupK.png)
И похоже, что нет способа установить Default Reply URL
через Powershell или API, если мы установите Reply URL
, который отличается от того, который был задан вручную на портале, у него будет приглашение, как показано ниже.
![enter image description here](https://i.stack.imgur.com/7HZHO.png)
Но если мы посмотрим на это, фактически проверяется опция Default
.
![enter image description here](https://i.stack.imgur.com/2hXwc.png)
Update2:
В конце концов, я нахожу хитрость, это не ошибка, нам просто нужно сначала установить preferredSingleSignOnMode
для участника службы через Microsoft График, тогда нам не нужно настраивать это на портале вручную.
Пример:
PATCH https://graph.microsoft.com/beta/servicePrincipals/<object-id of the service principal>
{
"preferredSingleSignOnMode":"saml",
"loginUrl": "https://azure.signtest.link"
}