自动将应用程序注册到 Azure AD 以进行 SSO

Automate registering application to Azure AD for SSO

我的组织有大约 2000 个应用程序需要使用 Azure AD SSO 配置,为此它们需要注册并允许用户访问 Azure AD。

我知道如何手动完成,但有什么方法可以自动完成整个过程,以便我可以注册应用程序并授予用户所需的访问权限?

谢谢 迪拉吉·库马尔

您可以使用 Microsoft Graph API 或 Azure AD Graph API 自动创建(尽管您应该尽可能首选 MS Graph)。 在这种情况下,由于您手上基本上是一个批处理方案,我觉得 PowerShell 可能是一个不错的选择。

有一个用于管理 Azure AD 的 PowerShell 模块:

首先您使用

登录
Connect-AzureAD

然后我们可以创建一个应用程序:

$app = New-AzureADApplication -DisplayName 'Created from PS' -IdentifierUris @('https://mytenant.onmicrosoft.com/PSTest1')

然后我们需要创建服务主体,这通常由门户完成:

$sp = New-AzureADServicePrincipal -AppId $app.AppId -AppRoleAssignmentRequired $true

注意 AppRoleAssignmentRequired 参数。 将其设置为 true 将要求用户在登录之前分配给该应用程序。

如果你不想这样,就把它去掉。

现在我们可以分配用户了。 您需要用户的 ObjectId 才能将他们分配给应用程序。 您可以通过多种方式使用 Get-AzureADUser 来获取要分配的用户。

但是赋值可以这样完成:

New-AzureADUserAppRoleAssignment -Id '00000000-0000-0000-0000-000000000000' -PrincipalId $user.ObjectId -ResourceId $sp.ObjectId -ObjectId $user.ObjectId

如果您在应用中为用户指定了角色,则可以使用角色的 ID 而不是全零。 所有零在门户中转换为 "Default access"。