Skip to content

Secrets Manager audit logging

Sensitive Secrets Manager operations write dedicated audit entries. Use these events for security monitoring, compliance reporting, and incident investigation.

Resource type

Secrets Manager audit entries use resourceType: "secret". The resource identity is the secret path.

Filter audit logs by secrets.* actions to isolate secret management activity.

Logged operations

Audit actionOperation
secrets.createCreate secret
secrets.get_valueReveal secret value
secrets.put_valueAdd new version
secrets.update_policySet or clear access policy
secrets.destroy_versionDestroy version
secrets.deleteDelete secret

Fields recorded

Logged metadata is safe — secret values are never included:

FieldDescription
RegionCloud region where the operation ran
ProjectProject context, if applicable
PathSecret path
VersionSecret version (where applicable)
OutcomeSuccess or failure
Value typeWhether string, key-value, or generated was used
Key countNumber of keys (for key-value format)
KMS key identityBound key (on successful reveal)
Client IPSource IP of the API request
User agentHTTP user agent string
Request IDCorrelation identifier

Exact fields available in your audit log export depend on your organisation’s audit log configuration.

Dual KMS audit entries

Underlying KMS operations also emit audit events. Create, put value, and get value trigger kms.encrypt and kms.decrypt entries.

Secrets Manager actionKMS audit events
secrets.createkms.encrypt
secrets.put_valuekms.encrypt
secrets.get_valuekms.decrypt

A single reveal produces both secrets.get_value and kms.decrypt. Correlate both for end-to-end traceability. This is for Secret Manager, but may also be for other Services that utilise a KMS Key.

See KMS audit logging for KMS-specific fields.

Monitoring recommendations

Set up alerts or periodic reviews for:

  • secrets.get_value — Unusual volume or sources outside expected service accounts
  • secrets.put_value — Unexpected rotations or writes
  • secrets.delete and secrets.destroy_version — Confirm intentional lifecycle changes
  • Failed reveal operations — Repeated 403 outcomes may indicate policy misconfiguration

Related documentation