使用自己的映像创建虚拟机

本文介绍如何发布内部构建的虚拟机 (VM) 映像。

将映像引入 Azure

将 VHD 上传到 Azure 计算库(以前称为共享映像库)。

  1. 在 Azure 门户上,搜索 Azure 计算库。
  2. 创建或使用现有的 Azure 计算库。 建议为要发布到市场中的映像创建单独的 Azure 计算库。
  3. 创建或使用现有的映像定义。
  4. 选择“创建版本”。
  5. 选择区域和映像版本。
  6. 如果 VHD 尚未上传到Azure 门户,请选择“存储 Blob”(VHD)作为,然后选择“浏览”。 如果尚未创建“存储帐户”和“存储容器”,则创建一个。 上传 VHD。
  7. 选择“查看 + 创建”。 完成验证后,选择“创建”。

提示

发布者帐户必须拥有“所有者”访问权限才能发布 Azure 计算库映像。 根据需要,执行下一部分“设置适当的权限”中的步骤以授予访问权限。

将虚拟机映像发布到 Azure 计算库中Azure 市场需要设置权限,以便合作伙伴中心可以获取库中托管的映像。

重要

Microsoft正在将用于从计算库获取映像的过程转换为更安全的过程。 若要继续更新虚拟机产品/服务,请按照以下步骤确保向以下Microsoft应用授予访问权限。 必须为每个用于发布到Azure 市场的计算库执行一次这些步骤。

先决条件

若要授予合作伙伴中心权限,需要确保满足以下先决条件:

提示

建议将专用计算库用于发布到合作伙伴中心,并且仅授予此专用库的权限。 无需在订阅级别授予权限。

步骤 1:预配服务主体

首先需要在 Azure 订阅中预配服务主体,这是通过注册Microsoft合作伙伴中心资源提供程序 (RP) 来完成的。 服务主体是一个标识,随后将用于向合作伙伴中心提供对计算库的访问权限,以获取映像。 此步骤未授予访问权限。

PowerShell
# Connect to your Azure account
Connect-AzAccount

# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
Set-AzContext -Subscription <SubscriptionId>

# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant. 
Register-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion

# Ensure the Resource Principal is registered successfully.
Get-AzResourceProvider -ProviderNamespace Microsoft.PartnerCenterIngestion
Azure CLI
# Connect to your Azure account
Az login

# Set the subscription to use in the current session. Use the subscription that contains your Azure Compute Gallery.
az account set --subscription <subscriptionId>

# Register the Microsoft Partner Center Resource Provider (RP). This creates the Service Principals in your tenant. 
az provider register --namespace

# Ensure the Resource Principal is registered successfully.
az provider show --namespace Microsoft.PartnerCenterIngestion

预配服务主体后,必须授予从特定计算库读取映像的显式权限。 合作伙伴中心正在过渡到更安全的获取映像的过程。 在此过渡期间,我们要求你暂时授予对两个Microsoft应用程序的访问权限,以便你可以继续更新虚拟机产品/服务。

PowerShell
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
Get-AzGallery -ResourceGroupName <resource-group> -GalleryName <gallery-name>

# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
Get-AzADServicePrincipal -SearchString "Microsoft Partner Center Resource Provider"

# Create a role assignment to the first Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id1> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>

# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
Get-AzADServicePrincipal -SearchString "Compute Image Registry"

# Create a role assignment to the second Microsoft application.
New-AzRoleAssignment -ObjectId <sp-id2> -RoleDefinitionId cf7c76d2-98a3-4358-a134-615aa78bf44d -Scope <gallery-id>
Azure CLI
# Get the Resource Id of your Azure Compute Gallery. The result is the <gallery-id>.
az sig show --resource-group <resource-group> --gallery-name <gallery-name>

# Get the service principal object Id for the first Microsoft application. The result is the <sp-id1>.
az ad sp list --display-name "Microsoft Partner Center Resource Provider" --query '[].id'

# Create a role assignment to the first Microsoft application.
az role assignment create --assignee-object-id <sp-id1> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>

# Get the service principal for the second Microsoft application. The result is the <sp-id2>.
az ad sp list --display-name "Compute Image Registry" --query '[].id'

# Create a role assignment to the second Microsoft application.
az role assignment create --assignee-object-id <sp-id2> --assignee-principal-type ServicePrincipal --role cf7c76d2-98a3-4358-a134-615aa78bf44d –scope <gallery-id>
Azure 门户
  1. 登录到 Azure 门户
  2. 导航到包含虚拟机映像的 Azure 计算库。
  3. 导航到 Azure 计算库中的 “访问控制 ”选项卡。
  4. 选择“添加”>“添加角色分配”。
  5. 选择“计算库映像读取者”角色,然后单击“下一步”。
  6. 选择以分配对 用户、组或服务主体的访问权限。
  7. 单击“+ 选择成员”并搜索并选择服务主体“Microsoft合作伙伴中心资源提供程序”“计算映像注册表”。 单击 “下一步”
  8. 单击“ 审阅 + 分配”。