Skip to content

Commit 0d7f638

Browse files
authored
fix!: Revert create least privilege default service account (#1757) (#1827)
1 parent c3abc08 commit 0d7f638

File tree

11 files changed

+237
-20
lines changed

11 files changed

+237
-20
lines changed

autogen/main/sa.tf.tmpl

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

docs/upgrading_to_v30.0.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Upgrading to v30.0
2+
The v30.0 release of *kubernetes-engine* is a backwards incompatible
3+
release.
4+
5+
### Default cluster service account permissions modified
6+
7+
When `create_service_account` is `true`, the service account will now be created with the `Logs Writer`, `Monitoring Metric Writer`, `Monitoring Viewer` and `Stackdriver Resource Metadata Writer` roles instead of the deprecated `Kubernetes Engine Node Service Account` role.

modules/beta-autopilot-private-cluster/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/beta-autopilot-public-cluster/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/beta-private-cluster-update-variant/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/beta-private-cluster/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/beta-public-cluster-update-variant/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/beta-public-cluster/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/private-cluster-update-variant/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

modules/private-cluster/sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

sa.tf

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,31 @@ resource "google_service_account" "cluster_service_account" {
4545
display_name = "Terraform-managed service account for cluster ${var.name}"
4646
}
4747

48-
resource "google_project_iam_member" "cluster_service_account-nodeService_account" {
48+
resource "google_project_iam_member" "cluster_service_account-log_writer" {
4949
count = var.create_service_account ? 1 : 0
5050
project = google_service_account.cluster_service_account[0].project
51-
role = "roles/container.nodeServiceAccount"
51+
role = "roles/logging.logWriter"
52+
member = google_service_account.cluster_service_account[0].member
53+
}
54+
55+
resource "google_project_iam_member" "cluster_service_account-metric_writer" {
56+
count = var.create_service_account ? 1 : 0
57+
project = google_project_iam_member.cluster_service_account-log_writer[0].project
58+
role = "roles/monitoring.metricWriter"
59+
member = google_service_account.cluster_service_account[0].member
60+
}
61+
62+
resource "google_project_iam_member" "cluster_service_account-monitoring_viewer" {
63+
count = var.create_service_account ? 1 : 0
64+
project = google_project_iam_member.cluster_service_account-metric_writer[0].project
65+
role = "roles/monitoring.viewer"
66+
member = google_service_account.cluster_service_account[0].member
67+
}
68+
69+
resource "google_project_iam_member" "cluster_service_account-resourceMetadata-writer" {
70+
count = var.create_service_account ? 1 : 0
71+
project = google_project_iam_member.cluster_service_account-monitoring_viewer[0].project
72+
role = "roles/stackdriver.resourceMetadata.writer"
5273
member = google_service_account.cluster_service_account[0].member
5374
}
5475

0 commit comments

Comments
 (0)