是否可以通过编程方式创建Azure AD B2C租户(例如,使用Powershell、REST API)?
我们正在开发一个多租户SaaS解决方案,我们希望在新租户注册时自动创建一个Azure B2C租户。
恐怕目前您无法使用API或PowerShell创建Azure AD。尽管您可以在订阅中创建其他目录,但无法使用任何自动化创建一个目录。
您可以使用PowerShell AzureADPreview 2.0模块来管理自定义策略、应用程序等。虽然不像ARM模板那样是一个完整的东西,但目前您可以自动化许多事情。
完整文档在这里:AzureADPreview 2文档
我没有成功地将此模块安装到"旧"PowerShell(5.x),所以我尝试了"新"PowerShell 7(Core)。PowerShell 7和AzureAD模块的唯一问题是Connect-AzureAD
使用的加密函数不在.NET Core中,因此必须使用-UseWindowsPowerShell
选项导入AzureADPreview模块。
以下是一个示例,适用于PowerShell 7:
Install-Module AzureADPreview
Import-Module AzureADPreview -UseWindowsPowerShell
$tenantId = "yourb2ctenant.onmicrosoft.com"
# Note: this will interactively ask your credentials.
# If you want to run this unattended, use the -Credential parameter with a PSCredential object with a SecureString
Connect-AzureAD -TenantId $tenantId
# ready to go
#list your all custom policies:
Get-AzureADMSTrustFrameworkPolicy
# upload a policy:
$policyId = "B2C_1A_TrustFrameworkBase"
$policyFileName "YourTrustFrameworkBase.xml"
Set-AzureADMSTrustFrameworkPolicy -Id $policyId -InputFilePath $policyFileName
#list your all apps
Get-AzureADApplication
# examine one of you app and get ideas
$application = Get-AzureADApplication -ObjectId af46a788-8e55-4301-b2df-xxxxxxxxx
# create an application
$applicationName = "yourappname"
$application = New-AzureADApplication -DisplayName $applicationName -PublicClient $true etc