你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Cloud HSM 支持通过Log Analytics工作区进行操作事件日志记录。 此功能支持跨云 HSM 资源集中收集、分析和监视日志。
作事件日志记录对于硬件安全模块(HSM)的整体安全性至关重要。 它提供所有访问和操作的透明且一致的记录,以帮助确保责任和可跟踪性。
通过捕获用户活动、密钥管理作和系统事件等详细信息,作日志可帮助你检测未经授权的访问、调查安全事件并符合法规要求。 他们还在识别可能表明潜在违规或配置不当的异常方面发挥了重要作用。 通过这种方式,他们增强了组织保持其加密作的完整性和机密性的能力。
在本教程中,你将:
- 设置和配置操作事件日志,包括创建存储帐户和Log Analytics工作区。
- 查询事件日志以检索特定的 HSM 操作事件。
- 获取 HSM 操作事件的完整列表。
重要
为了维护安全和隐私,日志记录不包括与密钥、用户或会话相关的敏感详细信息,例如密钥 ID、密钥名称和其他可识别信息。 日志捕获执行的 HSM 操作、操作时间和相关的 HSM 元数据。
Azure云 HSM 操作事件日志记录无法确定 HSM 操作是成功还是失败。 它只能记录操作被执行的事实。
先决条件
- 具有活动订阅的Azure帐户。 你可以免费创建一个帐户。
- 部署、初始化和配置的Azure云 HSM 资源。 有关信息,请参阅 Azure Cloud HSM 载入指南。
设置和配置操作事件日志
使用以下部分中的命令设置要监视的资源。
创建用于存储 HSM 日志的存储帐户
若要创建用于存储 HSM 日志的存储帐户,首先需要创建资源组。 还需要在该资源组中创建存储帐户。
az group create --name "<resource-group>" --location "<location>"
az storage account create \
--name "<storage-account-name>" \
--resource-group "<resource-group>" \
--location "<location>" \
--sku Standard_LRS \
--kind StorageV2
创建Log Analytics工作区
若要创建用于存储和分析 HSM 日志的Log Analytics工作区,请使用以下命令。
az monitor log-analytics workspace create \
--resource-group "<resource-group>" \
--workspace-name "<workspace-name>"
有关为Azure Monitor创建Log Analytics工作区的详细信息,请参阅 创建Log Analytics工作区。
启用诊断设置
若要为 Azure Cloud HSM 操作事件日志记录启用诊断设置,请使用以下代码。 将占位符替换为你的环境的相应值。
resourceId="/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.HardwareSecurityModules/cloudHsmClusters/<hsm-name>"
storageAccountId="/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>"
workspaceId="/subscriptions/<subscription-id>/resourcegroups/<resource-group>/providers/microsoft.operationalinsights/workspaces/<workspace-name>"
az monitor diagnostic-settings create \
--resource $resourceId \
--name "my-chsmAuditLogs" \
--storage-account $storageAccountId \
--workspace $workspaceId \
--logs '[{"category":"HsmServiceOperations","enabled":true}]'
验证云 HSM 日志记录的配置
创建诊断设置后,日志将在一到两分钟内开始流动。
可以通过Log Analytics工作区从 Azure 门户查询云 HSM 操作事件日志。
还可以使用Azure CLI或Azure PowerShell查询云 HSM 操作事件日志。
workspaceId=$(az monitor log-analytics workspace show \
--resource-group "<resource-group>" \
--workspace-name "<workspace-name>" \
--query customerId --output tsv)
az monitor log-analytics query \
--workspace $workspaceId \
--analytics-query "CloudHsmServiceOperationAuditLogs | take 10"
注册错误
如果收到错误消息“<subscription>未注册为使用 microsoft.insights”,则Azure订阅未注册为使用 Microsoft.Insights 资源提供程序。 要解决此问题,需要在订阅中向 Microsoft.Insights 提供程序注册。
az provider register --namespace Microsoft.Insights
az provider show --namespace Microsoft.Insights --query "registrationState" --output table
运行命令后,请确认资源提供者已注册。 如果仍在注册,可能需要等待片刻,然后再次检查。
查询操作事件日志
可以使用以下命令检索在操作日志中记录的特定 HSM 操作事件。 若要列出所有操作事件,只需运行CloudHsmServiceOperationAuditLogs。
有关可查询的其他操作的详细信息,请参阅本文后面的记录操作的完整列表。
登录和会话事件
// Find login and session events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_LOGIN", "CN_AUTHORIZE_SESSION")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated
用于创建和删除用户的事件
// Find user creation and deletion events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_CREATE_USER", "CN_DELETE_USER")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated
用于创建密钥的事件
// Find key creation events
CloudHsmServiceOperationAuditLogs
| where OperationName in ("CN_GENERATE_KEY", "CN_GENERATE_KEY_PAIR")
| project OperationName, MemberId, CallerIpAddress, TimeGenerated
密钥删除事件
// Find key deletion events
CloudHsmServiceOperationAuditLogs
| where OperationName == "CN_TOMBSTONE_OBJECT"
| project OperationName, MemberId, CallerIpAddress, TimeGenerated
操作术语表
以下名称与 HSM 操作事件相关。
azcloudhsm_util
| 操作名称 | 命令名称 | DESCRIPTION |
|---|---|---|
CN_LOGIN |
loginHSM |
登录到 HSM。 |
CN_LOGOUT |
logoutHSM |
退出登录 HSM。 |
CN_GENERATE_KEY |
genSymKey |
生成对称密钥。 |
CN_GENERATE_KEY_PAIR |
genRSAKeyPair |
生成 RSA 密钥对。 |
CN_GENERATE_KEY_PAIR |
genECCKeyPair |
生成 ECC 密钥对。 |
CN_SHARE_OBJECT |
shareKey |
与其他用户共享/取消共享现有密钥。 |
CN_TOMBSTONE_OBJECT |
deleteKey |
删除密钥。 |
CN_FIND_OBJECTS_FROM_INDEX |
findSingleKey |
查找单个密钥。 |
CN_FIND_OBJECTS_USING_COUNT |
findKey |
找到了一把钥匙。 |
CN_GET_OBJECT_INFO |
getKeyInfo |
获取有关共享用户/会话的关键信息。 |
HASH_SINGLE_CALL |
sign |
生成签名(ME_PKCS_PKCS1v15_CRT_ENCRYPT)。 |
HASH_SINGLE_CALL |
verify |
验证签名(ME_PKCS_PKCS1v15_DECRYPT)。 |
CN_LIST_TOKENS |
listTokens |
列出当前分区中的所有令牌。 |
CN_GET_TOKEN |
getToken |
获取令牌。 |
CN_CREATE_USER |
createUser |
创建用户。 |
CN_DELETE_USER |
deleteUser |
删除用户。 |
CN_LIST_USERS |
listUsers |
列出用户。 |
CN_CHANGE_PSWD |
changePswd |
更改密码。 |
CN_MODIFY_OBJECT |
setAttribute |
设置对象的属性。 |
CN_GET_ATTRIBUTE_VALUECN_GET_ALL_ATTRIBUTE_VALUECN_GET_ATTRIBUTE_SIZECN_GET_ALL_ATTRIBUTE_SIZE |
getAttribute |
获取对象的属性。 |
CN_TOKEN_INFO |
getHSMInfo |
获取 HSM 信息。 |
CN_PARTITION_INFO |
getPartitionInfo |
获取分区信息。 |
| --- | getClusterInfo |
未记录。 |
| --- | server |
未记录。 |
azcloudhsm_mgmt
| 操作名称 | 命令名称 | DESCRIPTION |
|---|---|---|
CN_LOGIN |
loginHSM |
登录到 HSM。 |
CN_LOGOUT |
logoutHSM |
退出登录 HSM。 |
CN_GENERATE_KEY |
genSymKey |
生成对称密钥。 |
CN_GENERATE_KEY_PAIR |
genRSAKeyPair |
生成 RSA 密钥对。 |
CN_GENERATE_KEY_PAIR |
genECCKeyPair |
生成 ECC 密钥对。 |
CN_SHARE_OBJECT |
shareKey |
与其他用户共享/取消共享现有密钥。 |
CN_TOMBSTONE_OBJECT |
deleteKey |
删除密钥。 |
CN_FIND_OBJECTS_FROM_INDEX |
findSingleKey |
查找单个密钥。 |
CN_FIND_OBJECTS_USING_COUNT |
findKey |
找到了一把钥匙。 |
CN_GET_OBJECT_INFO |
getKeyInfo |
获取有关共享用户/会话的关键信息。 |
HASH_SINGLE_CALL |
sign |
生成签名(ME_PKCS_PKCS1v15_CRT_ENCRYPT)。 |
HASH_SINGLE_CALL |
verify |
验证签名(ME_PKCS_PKCS1v15_DECRYPT)。 |
CN_LIST_TOKENS |
listTokens |
列出当前分区中的所有令牌。 |
CN_GET_TOKEN |
getToken |
获取令牌。 |
CN_CREATE_USER |
createUser |
创建用户。 |
CN_DELETE_USER |
deleteUser |
删除用户。 |
CN_LIST_USERS |
listUsers |
列出用户。 |
CN_CHANGE_PSWD |
changePswd |
更改密码。 |
CN_MODIFY_OBJECT |
setAttribute |
设置对象的属性。 |
CN_GET_ATTRIBUTE_VALUECN_GET_ALL_ATTRIBUTE_VALUECN_GET_ATTRIBUTE_SIZECN_GET_ALL_ATTRIBUTE_SIZE |
getAttribute |
获取对象的属性。 |
CN_TOKEN_INFO |
getHSMInfo |
获取 HSM 信息。 |
CN_PARTITION_INFO |
getPartitionInfo |
获取分区信息。 |
| --- | getClusterInfo |
未记录。 |
| --- | server |
未记录。 |
备份和还原
| 操作名称 | 命令名称 | DESCRIPTION |
|---|---|---|
/backup |
||
/restore |