通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:使用 Azure PowerShell 部署 Azure 云 HSM

Azure 云 HSM 是一种高度可用的 FIPS 140-3 级别 3 验证的单租户服务,可用于使用各种方法部署硬件安全模块(HSM)。 这些方法包括 Azure CLI、Azure PowerShell、Azure 资源管理器模板(ARM 模板)、Terraform 或 Azure 门户。 本快速入门指导你完成 Azure PowerShell 中的部署过程。

先决条件

  • 拥有有效订阅的 Azure 帐户。 如果没有帐户,请在开始之前创建 一个免费帐户
  • 已安装最新版本的 Azure PowerShell
  • 在订阅中创建资源的适当权限,包括 HSM 资源。
  • 对于生产环境,现有虚拟网络和子网,用于配置专用终结点

创建 Azure 云 HSM 实例

以下示例代码创建资源组和云 HSM 实例。 需要更新订阅、资源组、位置和 HSM 名称以匹配环境。

重要

HSM 名称必须是唯一的。 如果指定所选区域中已存在的 HSM 名称,则部署将失败。

# Define variables for your Cloud HSM deployment
$server = @{
    Location = "<RegionName>"
    Sku = @{"family" = "B"; "Name" = "Standard_B1" }
    ResourceName = "<HSMName>"
    ResourceType = "microsoft.hardwaresecuritymodules/cloudHsmClusters"
    ResourceGroupName = "<ResourceGroupName>"
    Force = $true
}

# Create an HSM cluster resource group
New-AzResourceGroup -Name $server.ResourceGroupName -Location $server.Location -Force

# Create an HSM cluster
New-AzResource @server -AsJob -Verbose

注释

建议将云 HSM 资源部署到与相关客户端虚拟网络和虚拟机(VM)资源分开的资源组中。 使用单独的资源组可提供更好的管理和安全隔离。

配置托管标识(可选)

若要在 Azure 云 HSM 中进行备份和还原作,需要创建用户分配的托管标识。 此标识用于在业务连续性和灾难恢复(BCDR)方案中将云 HSM 备份传输到指定的存储帐户。

如果计划使用备份和还原功能,可以使用以下 Azure PowerShell 命令创建和配置托管标识:

# Define parameters for the new managed identity
$identity = @{
    Location          = "<RegionName>"                                         
    ResourceName      = "<ManagedIdentityName>"                                         
    ResourceGroupName = "<ResourceGroupName>"
}

# Create a new user-assigned managed identity
New-AzUserAssignedIdentity -Name $identity.ResourceName -ResourceGroupName $identity.ResourceGroupName -Location $identity.Location

# Get the subscription ID
$subscriptionId = (Get-AzContext).Subscription.Id

# Define the Cloud HSM managed identity's patch payload
$chsmMSIPatch = @{
    Sku = @{
        Family = "B"
        Name = "Standard_B1"
    }
    Location = $server.Location
    Identity = @{
        type = "UserAssigned"
        userAssignedIdentities = @{
            "/subscriptions/$subscriptionId/resourcegroups/$($identity.ResourceGroupName)/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$($identity.ResourceName)" = @{}
        }
    }
} | ConvertTo-Json -Depth 4

# Construct the URI for the Cloud HSM resource
$resourceURI = "/subscriptions/$subscriptionId/resourceGroups/$($server.ResourceGroupName)/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/$($server.ResourceName)?api-version=2025-03-31"

# Update the Cloud HSM resource with the managed identity
Invoke-AzRestMethod -Path $resourceURI -Method Put -Payload $chsmMSIPatch

有关配置备份和还原作的详细说明,请参阅 备份和还原 Azure 云 HSM 资源

设置网络

对于生产环境,强烈建议为云 HSM 部署配置专用终结点,以帮助确保安全通信。 可以使用以下 Azure PowerShell 命令创建专用终结点:

# Define private endpoint parameters
$privateEndpoint = @{
    Name = "<PrivateEndpointName>"
    ResourceGroupName = $server.ResourceGroupName
    Location = $server.Location
    Subnet = $subnet # You need to have $subnet defined with your subnet configuration
    PrivateLinkServiceConnection = @{
        Name = "$($server.ResourceName)-connection"
        PrivateLinkServiceId = "/subscriptions/$subscriptionId/resourceGroups/$($server.ResourceGroupName)/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/$($server.ResourceName)"
        GroupId = "cloudhsmclusters"
    }
}

# Create the private endpoint
New-AzPrivateEndpoint @privateEndpoint

小窍门

专用终结点对于安全性至关重要。 它们通过专用链接启用与 Azure 云 HSM 实例的安全连接。 这些连接可确保虚拟网络和服务之间的流量遍历Microsoft主干网络。 此配置避免了对公共 Internet 的暴露,如 Azure 云 HSM 的网络安全性中所述。

部署云 HSM 资源

运行New-AzResource命令并带有-AsJob参数时,会创建一个后台作业来部署云 HSM 资源。 可以通过运行以下命令来检查部署的状态:

Get-Job -Id <JobId> | Receive-Job

在前面的命令中, <JobId> 是运行命令时系统返回的 New-AzResource ID。

如果看到作业成功结果,或者可以验证 Azure 订阅中是否存在资源,则部署已完成。

初始化和配置 HSM

无法直接通过 Azure PowerShell 完成 Azure 云 HSM 激活和配置。 需要 Azure 云 HSM SDK 和客户端工具。

通过 Azure PowerShell 部署云 HSM 资源后,请执行以下步骤:

  1. 在与 HSM 建立网络连接的 VM 上从 GitHub 下载并安装 Azure 云 HSM SDK。

  2. 按照 Azure 云 HSM 载入指南中的详细步骤初始化和配置 HSM。

  3. 使用适当的加密官员和用户建立用户管理,如 Azure 云 HSM 中的用户管理中所述。

  4. 实施适当的密钥管理做法,以帮助确保 Azure 云 HSM 中的密钥管理中概述的最佳安全性和性能。

清理资源

如果只为此快速入门创建了资源组,并且不需要保留这些资源,则可以删除整个资源组:

Remove-AzResourceGroup -Name $server.ResourceGroupName -Force

排查常见部署问题

如果在部署过程中遇到问题:

  • 资源名称冲突:确保 HSM 名称在区域中是唯一的。 如果部署失败并出现命名冲突,请尝试其他名称。
  • 网络连接问题:如果使用专用终结点,请验证 VM 是否对 HSM 具有适当的网络访问权限。 有关最佳做法,请参阅 Azure 云 HSM 的网络安全性
  • 身份验证失败:初始化 HSM 时,请确保使用正确的凭据格式,如 Azure 云 HSM 中的身份验证中所述。
  • 托管标识问题:如果备份作失败,请验证托管标识是否已正确分配并具有必要的权限。