你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 资源后,请执行以下步骤:
在与 HSM 建立网络连接的 VM 上从 GitHub 下载并安装 Azure 云 HSM SDK。
按照 Azure 云 HSM 载入指南中的详细步骤初始化和配置 HSM。
使用适当的加密官员和用户建立用户管理,如 Azure 云 HSM 中的用户管理中所述。
实施适当的密钥管理做法,以帮助确保 Azure 云 HSM 中的密钥管理中概述的最佳安全性和性能。
清理资源
如果只为此快速入门创建了资源组,并且不需要保留这些资源,则可以删除整个资源组:
Remove-AzResourceGroup -Name $server.ResourceGroupName -Force
排查常见部署问题
如果在部署过程中遇到问题:
- 资源名称冲突:确保 HSM 名称在区域中是唯一的。 如果部署失败并出现命名冲突,请尝试其他名称。
- 网络连接问题:如果使用专用终结点,请验证 VM 是否对 HSM 具有适当的网络访问权限。 有关最佳做法,请参阅 Azure 云 HSM 的网络安全性。
- 身份验证失败:初始化 HSM 时,请确保使用正确的凭据格式,如 Azure 云 HSM 中的身份验证中所述。
- 托管标识问题:如果备份作失败,请验证托管标识是否已正确分配并具有必要的权限。