由于 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 共享库时,需要向从映像创建 VM 或规模集的任何人员提供 imageID
。 部署 VM 或规模集的人员无法列出使用 RBAC 与之共享的映像。
如果你将库资源共享给 Azure 租户外部的其他人,则他们需要使用你的 tenantID
来登录并让 Azure 验证其有权访问该资源,然后才能在自己的租户中使用它。 你需要向他们提供你的 tenantID
,组织外部的人员无法查询你的 tenantID
。
重要
RBAC 共享可用于与组织内部的用户(或)组织外部的用户(跨租户)共享资源。 下面是使用与 RBAC 共享的映像以及创建 VM/VMSS 的说明:
若要获取库的对象 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 管理访问权限。