Azure Compute Gallery 以前称为“共享映像库”,它简化了在整个组织中共享资源(如映像和应用程序包)的工作。
使用 Azure Compute Gallery 可以在一个租户内与组织中的其他用户(在同一区域或跨区域)共享自定义 VM 映像和应用程序包。 选择要共享哪些内容,要在哪些区域中提供它们,以及希望与谁共享它们。 可以创建多个库,以便可以按逻辑方式对资源进行分组。
库是一种顶级资源,可通过多种方式共享:
共享对象: |
人员 |
组 |
Service Principal |
特定订阅(或)租户中的所有用户 |
与 Azure 中的所有用户公开共享 |
RBAC 共享 |
是 |
是 |
是 |
否 |
否 |
RBAC + 直接共享库 |
是 |
是 |
是 |
是 |
否 |
RBAC + 社区库 |
是 |
是 |
是 |
No |
是 |
命名
库名称允许的字符包括大写 (A-Z) 和小写 (a-z) 字母、数字 (0-9)、点(或句点).
及下划线 _
。 库名称不能包含短划线 -
。 库名称在你的订阅中必须唯一。
创建专用库
- 登录 Azure 门户。
- 在搜索框中键入“Azure Compute Gallery”,并在结果中选择“Azure Compute Gallery”。
- 在“Azure Compute Gallery”页中,选择“添加”。
- 在“创建 Azure Compute Gallery”页上,选择正确的订阅。
- 在“资源组”中,从下拉列表中选择资源组,或选择“新建”并键入新资源组的名称。
- 在“名称”中,键入一个名称作为库的名称。
- 从下拉列表中选择一个区域。
- 可以键入库的简短说明,例如“我的映像库,用于测试”,然后单击“查看 + 创建”。
- 通过验证后,选择“创建”。
- 部署完成后,选择“转到资源”。
使用 az sig create 创建库。 以下示例在“美国东部”创建名为 myGalleryRG 的资源组,以及名为 myGallery 的库 。
az group create --name myGalleryRG --___location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery
使用 New-AzGallery 创建库。 以下示例在“myGalleryRG”资源组中创建名为“myGallery”的库 。
$resourceGroup = New-AzResourceGroup `
-Name 'myGalleryRG' `
-Location 'West Central US'
$gallery = New-AzGallery `
-GalleryName 'myGallery' `
-ResourceGroupName $resourceGroup.ResourceGroupName `
-Location $resourceGroup.Location `
-Description 'Azure Compute Gallery for my organization'
使用 REST API 创建资源组。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}?api-version=2021-04-01
{
"___location": "eastus"
}
使用 REST API 创建库。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}?api-version=2019-12-01
{
"properties": {
"description": "Azure Compute Gallery for my organization"
},
"___location": "eastus",
}
创建直接共享库
重要
Azure Compute Gallery - 直接共享库目前处于预览阶段,并受 Azure Compute Gallery 预览条款的约束。
在预览期间,需要新建一个库,并将属性 sharingProfile.permissions
设置为 Groups
。 使用 CLI 创建库时,请使用 --permissions groups
参数。 不能使用现有库,当前无法更新该属性。
目前无法从另一租户共享给你的映像创建灵活的虚拟机规模集。
若要开始与订阅或租户共享直接共享库,请参阅与订阅或租户共享库。
登录 Azure 门户。
在搜索框中键入“Azure Compute Gallery”,并在结果中选择“Azure Compute Gallery”。
在“Azure Compute Gallery”页中,选择“添加”。
在“创建 Azure Compute Gallery”页上,选择正确的订阅。
填写此页上的所有详细信息。
在页面底部,选择“下一步:共享方法”。
在“共享”选项卡上,选择“RBAC + 直接共享”。
完成操作后,选择“查看 + 创建”。
通过验证后,选择“创建”。
部署完成后,选择“转到资源”。
要开始与订阅或租户共享库,请参阅与订阅或租户共享库。
要使用直接共享库创建可共享给订阅或租户的库,需要创建库并将 --permissions
参数设置为 groups
。
az sig create \
--gallery-name myGallery \
--permissions groups \
--resource-group myResourceGroup
要开始与订阅或租户共享库,请参阅与订阅或租户共享库。
使用 Azure REST API 为订阅或租户级共享创建库。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{gallery-name}?api-version=2020-09-30
{
"properties": {
"sharingProfile": {
"permissions": "Groups"
}
},
"___location": "{___location}
}
要开始与订阅或租户共享库,请参阅与订阅或租户共享库。
重置共享以清除 sharingProfile
中的所有内容。
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{rgName}/providers/Microsoft.Compute/galleries/{galleryName}/share?api-version=2020-09-30
{
"operationType" : "Reset",
}
社区库与所有人公开共享。 若要创建社区库,请先创建库,然后启用该库进行共享。 库的公共实例的名称是你提供的前缀加上唯一的 GUID。 请确保在同一区域中创建库、映像定义和映像版本,以便公开共享库。
创建要与社区共享的映像时,需要提供联系人信息。 此信息会公开显示,因此在提供此信息时要小心:
- 社区库前缀
- 发布者支持电子邮件
- 发布者 URL
- 法律协议 URL
映像定义中的信息也将公开提供,例如为发布者、套餐和 SKU 提供的信息。
先决条件
只有订阅的所有者或在订阅或库级别分配有 Compute Gallery Sharing Admin
角色的用户或服务主体才能将库公开给社区。 若要将角色分配给用户、组、服务主体或托管标识,请参阅分配 Azure 角色的步骤。
--public-name-prefix
值用于为库的公共版本创建名称。 --public-name-prefix
是公共名称的第一部分,最后一部分是由平台创建的 GUID,对于库来说是独一无二的。
___location=westus
galleryName=contosoGallery
resourceGroup=myCGRG
publisherUri=https://www.contoso.com
publisherEmail=support@contoso.com
eulaLink=https://www.contoso.com/eula
prefix=ContosoImages
az group create --name $resourceGroup --___location $___location
az sig create \
--gallery-name $galleryName \
--permissions community \
--resource-group $resourceGroup \
--publisher-uri $publisherUri \
--publisher-email $publisherEmail \
--eula $eulaLink \
--public-name-prefix $prefix
此命令的输出将提供社区库的公共名称(在 sharingProfile
节中的 publicNames
下)。
要开始与所有 Azure 用户共享库,请参阅使用社区库共享映像。
若要创建库,请提交 PUT 请求:
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName?api-version=2021-10-01
在请求正文中,将 permissions
指定为 Community
并指定库的信息:
{
"___location": "West US",
"properties": {
"description": "This is the gallery description.",
"sharingProfile": {
"permissions": "Community",
"communityGalleryInfo": {
"publisherUri": "http://www.uri.com",
"publisherContact": "contact@___domain.com",
"eula": "http://www.uri.com/terms",
"publicNamePrefix": "Prefix"
}
}
}
}
要开始与所有 Azure 用户共享库,请参阅使用社区库共享映像。
向所有 Azure 用户提供社区库是一个包含两个步骤的过程。 首先,需要创建启用了社区共享的库,当准备好将其公开时,共享库。
登录 Azure 门户。
在搜索框中键入“Azure Compute Gallery”,并在结果中选择“Azure Compute Gallery”。
在“Azure Compute Gallery”页中,单击“添加”。
在“创建 Azure Compute Gallery”页上,选择正确的订阅。
在“资源组”中选择“新建”,键入 myGalleryRG 作为名称。
在“名称”中,键入 myGallery 作为库名称。
对“区域”保留默认值。
可以键入库的简短说明,如“用于测试的库”。
在页面底部,选择“下一步:共享方法”。
在“共享”选项卡上,选择“RBAC + 共享到公共社区库”。
对于“社区库前缀”,键入将追加到 GUID 的前缀,以便为社区库创建唯一名称。
对于“发布者电子邮件”,请键入一个有效的电子邮件地址,该地址可用于与你就有关库的事宜进行沟通。
对于“发布者 URL”,键入用户可获取有关社区库中映像的详细信息的 URL。
对于“法律协议 URL”,键入最终用户可以找到映像的法律条款的 URL。
完成操作后,选择“查看 + 创建”。
通过验证后,选择“创建”。
部署完成后,选择“转到资源”。
若要查看库的公共名称,请选择左侧菜单中的“共享”。
要开始与所有 Azure 用户共享库,请参阅使用社区库共享映像。
后续步骤