azure - 通过 Azure CLI 链接现有 B2C 租户
问题描述
如何通过 Azure CLI 以编程方式链接现有 B2C 租户?运行这一行:
az resource create --resource-group <rg> --resource-type Microsoft.AzureActiveDirectory/b2cDirectories --name <tenant>.onmicrosoft.com --location Europe --properties "{\"tenantId\": \"<tenantId>\", \"sku\": { \"name\": \"Standard\", \"tier\": \"A0\" } }"
返回BadRequestError: The 'sku' property is required for creating a b2c directory resource
但它在那里
ARM“B2C 链接资源”如下所示:
{
"type": "Microsoft.AzureActiveDirectory/b2cDirectories",
"apiVersion": "2017-01-30",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"tags": {},
"sku": {
"name": "Standard",
"tier": "A0"
},
"properties": {
"tenantId": "[parameters('tenantId')]"
}
}
更多信息:
- 我尝试了关于sku部分的不同变体,例如将其完全保留或将其作为专用参数移动
--sku Standard
等,但它们似乎都不起作用 - 通过删除现有链接可以
az resource delete --ids /subscriptions/<subscriptionId>/resourceGroups/<rg>/providers/Microsoft.AzureActiveDirectory/b2cDirectories/<tenant>.onmicrosoft.com
正常工作 - 我们为什么需要这个?我们使用 Terraform 自动化我们的基础设施部署。我们知道自动化 B2C 租户的局限性(请参阅此处、此处或此处),因此我们的目标是通过管道删除/添加 b2c 链接,以至少在销毁/应用基础设施时保持订阅清洁。
- 通过 Azure 门户链接现有 B2C 租户如下所示
任何建议表示赞赏。谢谢你的帮助!
解决方案
我认为 Azure CLI 目前无法管理 B2C 租户。
如您所知,已经进行了详细讨论https://github.com/Azure/azure-cli/issues/12058
其他程序化方法:
我已经捕获了 Fiddler Traces 以了解负责的流程/或端点。我能够指向以下端点。我正在检查创建新的 Azure B2C 租户。
PUT https://management.azure.com/subscriptions/SUBSCRIBTION/resourceGroups/RESOURCEGROUP/providers/Microsoft.AzureActiveDirectory/b2cDirectories/contosoorganiztion.onmicrosoft.com?api-version=2019-01-01-preview
{"location":"United States","sku":{"name":"Standard","tier":"A0"},"properties":{"createTenantProperties":{"displayName":"Contoso Organization","countryCode":"US"}}}
但是,由于我的权限,我无法在我的最后检查“链接到现有租户”(根据您的要求)选项。但我假设应该有一个类似的端点负责同样的事情。您可以使用解密的 Https(或任何有助于捕获解密的 HTTPS 流量的工具)捕获 Fiddler 跟踪,尝试链接现有租户以了解端点和请求正文。
笔记 :
请记住,此 API/端点不受支持并且可能会发生变化,因此不建议用于生产环境:
您将需要访问令牌才能访问端点。
要获取令牌,Azure 门户的资源 ID 将为:74658136-14ec-4630-ad9b-26e160ff0fc6
az account get-access-token --resource 74658136-14ec-4630-ad9b-26e160ff0fc6
推荐阅读
- ruby - 来自 Rake 任务的 Docker 中的 Docker,非常非常慢
- emacs - 在 (*cider-repl ..*:1:1) 处编译语法错误。没有这样的变量:用户/重置
- python - MinMaxScaler 标准化已经在 [0,1] 范围内的值 Python
- javascript - 用可变数量的“then”承诺
- html - 使用 CSS 更改表单布局
- python - 借助 canvas 在 Tkinter 中添加水平滚动条
- c# - 将 double 舍入到特定的十进制值
- spring-boot - 带有自定义重试器或自定义构建器的 Spring Cloud Sleuth
- javascript - ASP.NET Core 有条件地加载用户搜索关键字输入的部分视图
- c++ - (C++)这个错误是什么:左值需要作为赋值的左操作数