Skip to content

Commit e96e755

Browse files
authored
ignore authorized adder performing secret manipulation in abnormal secret alert (#1028)
The authorized adder is allowed to manipulate the sercret version (e.g. destroy old version, create new versions, enable versions). Ignore these in the abnormal access alert. Signed-off-by: Colin Douglas <[email protected]>
1 parent 2acbc62 commit e96e755

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

modules/secret/main.tf

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ resource "google_secret_manager_secret_version" "placeholder" {
2525
locals {
2626
accessors = [for sa in concat([var.service-account], var.service-accounts) : "serviceAccount:${sa}" if sa != ""]
2727
accessor_emails = [for sa in concat([var.service-account], var.service-accounts) : sa if sa != ""]
28+
# Extract the email portion of the authorized adder member
29+
authorized_adder_email = strcontains(var.authorized-adder, ":") ? split(":", var.authorized-adder)[1] : var.authorized-adder
2830

2931
default_labels = {
3032
basename(abspath(path.module)) = var.name
@@ -92,6 +94,11 @@ resource "google_monitoring_alert_policy" "anomalous-secret-access" {
9294
protoPayload.authenticationInfo.principalEmail=~"${join("|", local.accessor_emails)}"
9395
protoPayload.methodName=~"google.cloud.secretmanager.v1.SecretManagerService.(AccessSecretVersion|GetSecretVersion)"
9496
)
97+
-- Ignore the identity that is authorized to manipulate secret versions.
98+
-(
99+
protoPayload.authenticationInfo.principalEmail="${local.authorized_adder_email}"
100+
protoPayload.methodName=~"google.cloud.secretmanager.v1.SecretManagerService.(DestroySecretVersion|AddSecretVersion|EnableSecretVersion)"
101+
)
95102
EOT
96103

97104
label_extractors = {

0 commit comments

Comments
 (0)