使用 RBAC 跨订阅和租户共享库资源

由于 Azure Compute Gallery、定义和版本都是资源,因此可以使用内置的原生 Azure 基于角色的访问控制 (RBAC) 角色来共享它们。 使用 Azure RBAC 角色可与其他用户、服务主体和组共享这些资源。 甚至可以与创建这些资源的租户外部的个人共享访问权限。 用户获得访问权限后,便可使用该库资源来部署 VM 或虚拟机规模集。 以下共享矩阵可以帮助你了解用户有权访问哪些资源:

与用户共享 Azure Compute Gallery 映像定义 映像版本
Azure Compute Gallery
映像定义

建议在库级别共享以获得最佳体验。 建议不要共享单独的映像版本。 有关 Azure RBAC 的详细信息,请参阅分配 Azure 角色

Azure Compute Gallery 中有一种共享映像的主要方法,具体取决于要与谁共享:

共享对象: 人员 Service Principal 特定订阅(或)租户中的所有用户 与 Azure 中的所有用户公开共享
RBAC 共享

使用 RBAC 进行共享

使用 RBAC 共享库时,需要向从映像创建 VM 或规模集的任何人员提供 imageID。 部署 VM 或规模集的人员无法列出使用 RBAC 与之共享的映像。

如果你将库资源共享给 Azure 租户外部的其他人,则他们需要使用你的 tenantID 来登录并让 Azure 验证其有权访问该资源,然后才能在自己的租户中使用它。 你需要向他们提供你的 tenantID,组织外部的人员无法查询你的 tenantID

重要

RBAC 共享可用于与组织内部的用户(或)组织外部的用户(跨租户)共享资源。 下面是使用与 RBAC 共享的映像以及创建 VM/VMSS 的说明:

RBAC - 在组织内共享

RBAC - 从另一个租户共享

若要获取库的对象 ID,请使用 az sig show

az sig show \
   --resource-group myGalleryRG \
   --gallery-name myGallery \
   --query id

使用对象 ID 作为作用域,并使用电子邮件地址和 az role assignment create 为用户授予对 Azure Compute Gallery 的访问权限。 请将 <email address><gallery ID> 替换为自己的信息。

az role assignment create \
   --role "Reader" \
   --assignee <email address> \
   --scope <gallery ID>

有关如何使用 RBAC 共享资源的详细信息,请参阅使用 RBAC 和 Azure CLI 管理访问权限

后续步骤