你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用应用注册在租户之间共享映像
但是,如果要在 Azure 租户外部大规模共享映像,则应创建一个应用注册。 使用应用注册可实现更复杂的共享方案,例如:
- 当一家公司收购另一家公司并且 Azure 基础结构分布在不同租户中时,管理共享映像。
- Azure 合作伙伴会代表其客户管理 Azure 基础结构。 映像自定义会在合作伙伴租户中完成,但基础结构部署将在客户的租户中进行。
创建应用注册
创建一个应用程序注册,这两个租户将使用该注册来共享映像库资源。
- 打开 Azure 门户中的应用注册。
- 从页面顶部的菜单中选择“新建注册”。
- 在“名称”中,键入“myGalleryApp”。
- 在“受支持的帐户类型”中,选择“任何组织目录(任何 Microsoft Entra 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如 Skype、Xbox)”。
- 在“重定向 URI”中,从“选择平台”下拉列表中选择“Web”,键入 https://www.microsoft.com,然后选择“注册”。 创建应用注册后,会打开概览页。
- 在概览页上,复制“应用程序(客户端) ID”并保存供以后使用。
- 选择证书和机密,然后选择新建客户端密码。
- 在“说明”中,键入“库跨租户应用机密”。
- 在“过期”中,将默认值“6 个月(推荐)”更改为“12 个月”,然后选择“添加”。
- 复制机密的值并将其保存到安全位置。 离开此页后,将无法检索该值。
授权应用注册使用该库。
- 在 Azure 门户中,选择要与其他租户共享的 Azure Compute Gallery。
- 选择“选择访问控制(标识和访问管理)”,然后在“添加角色分配”下选择“添加”。
- 在“角色”下,选择“读者”。
- 在“将访问权限分配给:”下,将其保留为“Microsoft Entra 用户、组或服务主体”。
- 在“选择成员”下键入“myGalleryApp”,当它出现在列表中时将其选中。 完成操作后,选择“查看 + 分配”。
授予租户 2 访问权限
授予租户 2 访问应用程序的权限,允许其通过浏览器请求登录。 请将“<租户 2 ID>”替换为要与其共享映像库的租户的租户 ID。 用户可以使用 Azure CLI 命令 az account show
查看其租户 ID。
请将“<应用程序(客户端) ID>”替换为创建的应用注册的应用程序 ID。 完成替换后,将 URL 粘贴到浏览器中,并按照登录提示登录到租户 2。
https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F
在 Azure 门户中以租户 2 身份登录,并向应用注册授予对特定资源组(需在其中创建 VM)的访问权限。
- 选择该资源组,然后选择“访问控制(标识和访问管理)”。 在“添加角色分配”下,选择“添加”。
- 在“角色”下,键入“参与者” 。
- 在“将访问权限分配给:”下,将其保留为“Microsoft Entra 用户、组或服务主体”。
- 在“选择成员”下键入“myGalleryApp”,然后,当它出现在列表中时将其选中。 完成操作后,选择“查看 + 分配”。
注意
需等待映像版本彻底生成并复制完毕,然后才能使用同一托管映像来创建另一映像版本。
使用 Azure CLI 创建规模集
使用租户 1 的 appID、应用密钥以及 ID 登录到租户 1 的服务主体。 可以根据需要使用 az account show --query "tenantId"
获取租户 ID。
az account clear
az login --service-principal -u '<app ID>' -p '<Secret>' --tenant '<tenant 1 ID>'
az account get-access-token
使用租户 2 的 appID、应用密钥以及 ID 登录到租户 2 的服务主体:
az login --service-principal -u '<app ID>' -p '<Secret>' --tenant '<tenant 2 ID>'
az account get-access-token
创建规模集。 请将示例中的信息替换为你自己的。
az vmss create \
-g myResourceGroup \
-n myScaleSet \
--image "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>" \
--admin-username azureuser \
--generate-ssh-keys
后续步骤
如果遇到任何问题,可以对共享映像库进行故障排除。