Skip to content

Commit e6643eb

Browse files
pinetopsclaude
andcommitted
Remove all CMEK references, switch to GMEK
- Removed require_cmek_encryption organization policy - Removed KMS keyring and crypto key resources - Removed CMEK configuration from BigQuery audit logs dataset - Removed KMS API enablement from bootstrap and security projects - Updated documentation to remove KMS encryption references All resources now use Google-managed encryption keys (GMEK). 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
1 parent b85ec13 commit e6643eb

4 files changed

Lines changed: 0 additions & 37 deletions

File tree

0-bootstrap/main.tf

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ resource "google_project_service" "bootstrap_apis" {
4343
"iam.googleapis.com",
4444
"storage.googleapis.com",
4545
"serviceusage.googleapis.com",
46-
"cloudkms.googleapis.com",
4746
"cloudasset.googleapis.com",
4847
"logging.googleapis.com",
4948
"pubsub.googleapis.com",

1-organization/main.tf

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ module "security_baseline" {
7373
disable_serial_port_access = true
7474
skip_default_network = true
7575
vm_external_ip_access = true
76-
require_cmek_encryption = true
7776

7877
# Advanced policies - compliant systems only (migration gets exceptions)
7978
require_os_login = true # OS Login required for compliant systems
@@ -112,7 +111,6 @@ module "security_baseline" {
112111
# Storage & Encryption
113112
"uniform_bucket_level_access",
114113
"public_access_prevention",
115-
"require_cmek_encryption",
116114
# Database
117115
"require_ssl_sql",
118116
"restrict_public_sql",
@@ -172,7 +170,6 @@ module "audit_logging" {
172170
}
173171
}
174172

175-
enable_cmek = false # Enable after KMS setup
176173
}
177174

178175
# Configure group permissions (simplified for small org)

2-security/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ The security phase provides:
88
- **PAM (Privileged Access Manager)** - Just-in-time access with proper approvals
99
- **Centralized Audit Logging** - All security events logged to BigQuery
1010
- **Security Monitoring** - Real-time alerts for critical events
11-
- **KMS Encryption** - At-rest encryption for sensitive data
1211

1312
## JIT Access Implementation
1413

2-security/main.tf

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,6 @@ resource "google_project_service" "security_apis" {
8787
"bigquery.googleapis.com",
8888
"cloudasset.googleapis.com",
8989
"securitycenter.googleapis.com",
90-
"cloudkms.googleapis.com",
9190
"cloudfunctions.googleapis.com",
9291
"pubsub.googleapis.com",
9392
"artifactregistry.googleapis.com",
@@ -123,10 +122,6 @@ resource "google_bigquery_dataset" "audit_logs" {
123122
description = "Centralized audit logs for compliance and security monitoring"
124123

125124
default_table_expiration_ms = 34560000000 # 400 days per policy
126-
127-
default_encryption_configuration {
128-
kms_key_name = google_kms_crypto_key.audit_logs_key.id
129-
}
130125

131126
access {
132127
role = "OWNER"
@@ -150,33 +145,6 @@ resource "google_bigquery_dataset" "audit_logs" {
150145
}
151146
}
152147

153-
# KMS keyring for security resources
154-
resource "google_kms_key_ring" "security" {
155-
project = google_project.security.project_id
156-
name = "security-keyring"
157-
location = var.primary_region
158-
}
159-
160-
# KMS key for audit logs encryption
161-
resource "google_kms_crypto_key" "audit_logs_key" {
162-
name = "audit-logs-key"
163-
key_ring = google_kms_key_ring.security.id
164-
purpose = "ENCRYPT_DECRYPT"
165-
166-
rotation_period = "7776000s" # 90 days
167-
168-
lifecycle {
169-
prevent_destroy = true
170-
}
171-
}
172-
173-
# Grant BigQuery service account permission to use the encryption key
174-
resource "google_kms_crypto_key_iam_member" "bigquery_encryption" {
175-
crypto_key_id = google_kms_crypto_key.audit_logs_key.id
176-
role = "roles/cloudkms.cryptoKeyEncrypterDecrypter"
177-
member = "serviceAccount:bq-379812091446@bigquery-encryption.iam.gserviceaccount.com"
178-
}
179-
180148
# Service account for GitHub Actions CI/CD
181149
resource "google_service_account" "github_actions" {
182150
project = google_project.security.project_id

0 commit comments

Comments
 (0)