Cloud Key Management Service 审核日志记录

Cloud Key Management Service 将更新其数据访问审核日志条目中的 protoPayload 字段的格式。在迁移期间,数据访问审核日志条目中的 protoPayload 将保持向后兼容性。不过,新的或未来的代码应用应使用建议的替换字段,如下所示:

建议的替换字段 已弃用的字段 说明
protoPayload.status.details protoPayload.metadata EXTERNAL 的错误详情(即Cloud EKM) 密钥操作。
protoPayload.metadata.entries.caller_provided_context protoPayload.request.caller_provided_context 与此 Cloud KMS 操作关联的调用方提供的上下文。


本文档介绍了 Cloud Key Management Service 的审核日志记录。Google Cloud 服务会生成审核日志,以记录 Google Cloud 资源中的管理和访问活动。 如需详细了解 Cloud Audit Logs,请参阅以下内容:

服务名称

Cloud Key Management Service 审核日志使用服务名称 cloudkms.googleapis.com。 针对此服务的过滤条件:

    protoPayload.serviceName="cloudkms.googleapis.com"
  

方法(按权限类型)

每个 IAM 权限都有一个 type 属性,该属性的值是一个枚举,可以是以下四个值之一:ADMIN_READADMIN_WRITEDATA_READDATA_WRITE。若您调用某个方法,则 Cloud Key Management Service 会生成一个审核日志,其类别取决于执行该方法所需权限的 type 属性。需要 IAM 权限且 type 属性值为 DATA_READDATA_WRITEADMIN_READ 的方法会生成数据访问审核日志。需要 IAM 权限且 type 属性值为 ADMIN_WRITE 的方法会生成管理员活动审核日志。

权限类型 方法
ADMIN_READ GetCryptoKey
GetCryptoKeyVersion
GetEkmConfig
GetEkmConnection
GetIamPolicy
GetImportJob
GetKeyRing
GetOperation
ListCryptoKeyVersions
ListCryptoKeys
ListEkmConnections
ListImportJobs
ListKeyRings
VerifyConnectivity
google.cloud.kms.v1.Autokey.GetKeyHandle
google.cloud.kms.v1.Autokey.ListKeyHandles
google.cloud.kms.v1.AutokeyAdmin.GetAutokeyConfig
google.cloud.kms.v1.AutokeyAdmin.ShowEffectiveAutokeyConfig
ADMIN_WRITE CreateCryptoKey
CreateCryptoKeyVersion
CreateEkmConnection
CreateImportJob
CreateKeyRing
DestroyCryptoKeyVersion
ImportCryptoKeyVersion
RestoreCryptoKeyVersion
SetIamPolicy
UpdateCryptoKey
UpdateCryptoKeyPrimaryVersion
UpdateCryptoKeyVersion
UpdateEkmConfig
UpdateEkmConnection
google.cloud.kms.v1.Autokey.CreateKeyHandle
google.cloud.kms.v1.AutokeyAdmin.UpdateAutokeyConfig
DATA_READ AsymmetricDecrypt
AsymmetricSign
Decrypt
Encrypt
GetPublicKey
MacSign
MacVerify
RawDecrypt
RawEncrypt

API 接口审核日志

如需了解如何针对每种方法评估权限以及评估哪些权限,请参阅 Cloud Key Management Service 的 Identity and Access Management 文档。

google.cloud.kms.v1.Autokey

以下审核日志与属于 google.cloud.kms.v1.Autokey 的方法相关联。

CreateKeyHandle

  • 方法google.cloud.kms.v1.Autokey.CreateKeyHandle
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.keyHandles.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作长时间运行的操作
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.Autokey.CreateKeyHandle"

GetKeyHandle

  • 方法google.cloud.kms.v1.Autokey.GetKeyHandle
  • 审核日志类型数据访问
  • 权限
    • cloudkms.keyHandles.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.Autokey.GetKeyHandle"

ListKeyHandles

  • 方法google.cloud.kms.v1.Autokey.ListKeyHandles
  • 审核日志类型数据访问
  • 权限
    • cloudkms.keyHandles.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.Autokey.ListKeyHandles"

google.cloud.kms.v1.AutokeyAdmin

以下审核日志与属于 google.cloud.kms.v1.AutokeyAdmin 的方法相关联。

GetAutokeyConfig

  • 方法google.cloud.kms.v1.AutokeyAdmin.GetAutokeyConfig
  • 审核日志类型数据访问
  • 权限
    • cloudkms.autokeyConfigs.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.AutokeyAdmin.GetAutokeyConfig"

ShowEffectiveAutokeyConfig

  • 方法google.cloud.kms.v1.AutokeyAdmin.ShowEffectiveAutokeyConfig
  • 审核日志类型数据访问
  • 权限
    • cloudkms.projects.showEffectiveAutokeyConfig - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.AutokeyAdmin.ShowEffectiveAutokeyConfig"

UpdateAutokeyConfig

  • 方法google.cloud.kms.v1.AutokeyAdmin.UpdateAutokeyConfig
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.autokeyConfigs.update - ADMIN_WRITE
    • cloudkms.cryptoKeys.setIamPolicy - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="google.cloud.kms.v1.AutokeyAdmin.UpdateAutokeyConfig"

google.cloud.kms.v1.EkmService

以下审核日志与属于 google.cloud.kms.v1.EkmService 的方法相关联。

CreateEkmConnection

  • 方法CreateEkmConnection
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.ekmConnections.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="CreateEkmConnection"

GetEkmConfig

  • 方法GetEkmConfig
  • 审核日志类型数据访问
  • 权限
    • cloudkms.ekmConfigs.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetEkmConfig"

GetEkmConnection

  • 方法GetEkmConnection
  • 审核日志类型数据访问
  • 权限
    • cloudkms.ekmConnections.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetEkmConnection"

ListEkmConnections

  • 方法ListEkmConnections
  • 审核日志类型数据访问
  • 权限
    • cloudkms.ekmConnections.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ListEkmConnections"

UpdateEkmConfig

  • 方法UpdateEkmConfig
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.ekmConfigs.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="UpdateEkmConfig"

UpdateEkmConnection

  • 方法UpdateEkmConnection
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.ekmConnections.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="UpdateEkmConnection"

VerifyConnectivity

  • 方法VerifyConnectivity
  • 审核日志类型数据访问
  • 权限
    • cloudkms.ekmConnections.verifyConnectivity - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="VerifyConnectivity"

google.cloud.kms.v1.KeyManagementService

以下审核日志与属于 google.cloud.kms.v1.KeyManagementService 的方法相关联。

AsymmetricDecrypt

  • 方法AsymmetricDecrypt
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToDecrypt - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="AsymmetricDecrypt"

AsymmetricSign

  • 方法AsymmetricSign
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToSign - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="AsymmetricSign"

CreateCryptoKey

  • 方法CreateCryptoKey
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeys.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="CreateCryptoKey"

CreateCryptoKeyVersion

  • 方法CreateCryptoKeyVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeyVersions.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="CreateCryptoKeyVersion"

CreateImportJob

  • 方法CreateImportJob
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.importJobs.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="CreateImportJob"

CreateKeyRing

  • 方法CreateKeyRing
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.keyRings.create - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="CreateKeyRing"

Decrypt

  • 方法Decrypt
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToDecrypt - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="Decrypt"

DestroyCryptoKeyVersion

  • 方法DestroyCryptoKeyVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeyVersions.destroy - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="DestroyCryptoKeyVersion"

Encrypt

  • 方法Encrypt
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToEncrypt - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="Encrypt"

GetCryptoKey

  • 方法GetCryptoKey
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeys.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetCryptoKey"

GetCryptoKeyVersion

  • 方法GetCryptoKeyVersion
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetCryptoKeyVersion"

GetImportJob

  • 方法GetImportJob
  • 审核日志类型数据访问
  • 权限
    • cloudkms.importJobs.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetImportJob"

GetKeyRing

  • 方法GetKeyRing
  • 审核日志类型数据访问
  • 权限
    • cloudkms.keyRings.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetKeyRing"

GetPublicKey

  • 方法GetPublicKey
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.viewPublicKey - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetPublicKey"

ImportCryptoKeyVersion

  • 方法ImportCryptoKeyVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeyVersions.create - ADMIN_WRITE
    • cloudkms.cryptoKeyVersions.manageRawPKCS1Keys - ADMIN_WRITE
    • cloudkms.cryptoKeyVersions.update - ADMIN_WRITE
    • cloudkms.importJobs.useToImport - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ImportCryptoKeyVersion"

ListCryptoKeyVersions

  • 方法ListCryptoKeyVersions
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ListCryptoKeyVersions"

ListCryptoKeys

  • 方法ListCryptoKeys
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeys.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ListCryptoKeys"

ListImportJobs

  • 方法ListImportJobs
  • 审核日志类型数据访问
  • 权限
    • cloudkms.importJobs.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ListImportJobs"

ListKeyRings

  • 方法ListKeyRings
  • 审核日志类型数据访问
  • 权限
    • cloudkms.keyRings.list - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="ListKeyRings"

MacSign

  • 方法MacSign
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToSign - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="MacSign"

MacVerify

  • 方法MacVerify
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToVerify - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="MacVerify"

RawDecrypt

  • 方法RawDecrypt
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToDecrypt - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="RawDecrypt"

RawEncrypt

  • 方法RawEncrypt
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeyVersions.useToEncrypt - DATA_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="RawEncrypt"

RestoreCryptoKeyVersion

  • 方法RestoreCryptoKeyVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeyVersions.restore - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="RestoreCryptoKeyVersion"

UpdateCryptoKey

  • 方法UpdateCryptoKey
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeys.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="UpdateCryptoKey"

UpdateCryptoKeyPrimaryVersion

  • 方法UpdateCryptoKeyPrimaryVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeys.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="UpdateCryptoKeyPrimaryVersion"

UpdateCryptoKeyVersion

  • 方法UpdateCryptoKeyVersion
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeyVersions.update - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="UpdateCryptoKeyVersion"

google.iam.v1.IAMPolicy

以下审核日志与属于 google.iam.v1.IAMPolicy 的方法相关联。

GetIamPolicy

  • 方法GetIamPolicy
  • 审核日志类型数据访问
  • 权限
    • cloudkms.cryptoKeys.getIamPolicy - ADMIN_READ
    • cloudkms.keyRings.getIamPolicy - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetIamPolicy"

SetIamPolicy

  • 方法SetIamPolicy
  • 审核日志类型管理员活动
  • 权限
    • cloudkms.cryptoKeys.setIamPolicy - ADMIN_WRITE
    • cloudkms.keyRings.setIamPolicy - ADMIN_WRITE
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="SetIamPolicy"

google.longrunning.Operations

以下审核日志与属于 google.longrunning.Operations 的方法相关联。

GetOperation

  • 方法GetOperation
  • 审核日志类型数据访问
  • 权限
    • cloudkms.keyHandles.create - ADMIN_WRITE
    • cloudkms.operations.get - ADMIN_READ
  • 方法是长时间运行的操作或流式传输操作:否。
  • 此方法的过滤条件 protoPayload.methodName="GetOperation"

不会生成审核日志的方法

由于以下一个或多个原因,方法可能不会生成审核日志:

  • 这是一种高容量方法,涉及较高的日志生成和存储费用。
  • 它的审核价值较低。
  • 其他审核或平台日志已提供方法。

以下方法不会生成审核日志:

  • google.cloud.kms.v1.KeyManagementService.GenerateRandomBytes
  • google.cloud.location.Locations.GetLocation
  • google.cloud.location.Locations.ListLocations