From 734274fd8bbd158e4043151cc7b9f0fbedfc9968 Mon Sep 17 00:00:00 2001 From: ibrahim Haruna Date: Wed, 22 May 2024 14:32:07 -0400 Subject: [PATCH] Update 0-bootstrap: Modify automation, billing, log-export, main, organization, providers, and variables. Remove obsolete bootstrap.tfplan. Update organization and project modules. --- .gitignore | 61 ---- fast/stages/0-bootstrap/automation.tf | 274 +++++++++++------- fast/stages/0-bootstrap/billing.tf | 27 +- fast/stages/0-bootstrap/bootstrap.tfplan | Bin 242233 -> 0 bytes fast/stages/0-bootstrap/log-export.tf | 11 +- fast/stages/0-bootstrap/main.tf | 12 + fast/stages/0-bootstrap/organization.tf | 40 +-- .../0-bootstrap/templates/providers.tf.tpl | 8 + fast/stages/0-bootstrap/variables.tf | 81 +++++- modules/organization/organization-policies.tf | 94 +++--- modules/organization/outputs.tf | 4 +- modules/project/main.tf | 157 ++++++++-- modules/project/variables.tf | 45 +++ 13 files changed, 535 insertions(+), 279 deletions(-) delete mode 100644 .gitignore delete mode 100644 fast/stages/0-bootstrap/bootstrap.tfplan diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 12a34c5589..0000000000 --- a/.gitignore +++ /dev/null @@ -1,61 +0,0 @@ -venv/* -*/venv/* -**/.python-version -**/.terraform -**/terraform.tfstate* -**/terraform.tfvars -**/*.auto.tfvars -**/.terraform.tfstate.lock.info -**/.terraform.lock.hcl -!tests/**/terraform.tfvars -**/__pycache__ -**/.pytest_cache -**/.test.lock -.idea -.vscode -.idx/dev.nix -backend.tf -backend-config.hcl -credentials.json -key.json -terraform-ls.tf -bundle.zip -.DS_Store -**/packer_cache -**/*.pkrvars.hcl -fixture_* -fast/configs -fast/**/[0-9]*providers.tf -fast/**/terraform.tfvars -fast/**/terraform.tfvars.json -fast/**/terraform-*.auto.tfvars.json -fast/**/[0-9]*.auto.tfvars* -**/node_modules -fast/**/globals.auto.tfvars.json -cloud_sql_proxy -examples/cloud-operations/binauthz/tenant-setup.yaml -examples/cloud-operations/binauthz/app/app.yaml -env/ -examples/cloud-operations/adfs/ansible/vars/vars.yaml -examples/cloud-operations/adfs/ansible/gssh.sh -examples/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/vars.yaml -examples/cloud-operations/multi-cluster-mesh-gke-fleet-api/ansible/gssh.sh -blueprints/cloud-operations/network-quota-monitoring/cloud-function.zip -blueprints/apigee/bigquery-analytics/bundle-export.zip -blueprints/apigee/bigquery-analytics/bundle-gcs2bq.zip -blueprints/apigee/bigquery-analytics/apiproxy.zip -blueprints/apigee/bigquery-analytics/create-datastore.sh -blueprints/apigee/bigquery-analytics/deploy-apiproxy.sh -blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/bundle/apiproxy/targets/default.xml -blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/bundle.zip -blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/deploy-apiproxy.sh -blueprints/apigee/hybrid-gke/apiproxy.zip -blueprints/apigee/hybrid-gke/deploy-apiproxy.sh -blueprints/apigee/hybrid-gke/ansible/gssh.sh -blueprints/apigee/hybrid-gke/ansible/vars/vars.yaml -blueprints/gke/autopilot/ansible/gssh.sh -blueprints/gke/autopilot/ansible/vars/vars.yaml -blueprints/gke/autopilot/bundle/monitoring/kustomization.yaml -blueprints/gke/autopilot/bundle/locust/kustomization.yaml -blueprints/gke/autopilot/bundle.tar.gz -blueprints/gke/patterns/batch/job-*.yaml diff --git a/fast/stages/0-bootstrap/automation.tf b/fast/stages/0-bootstrap/automation.tf index 8463ff16b6..9bc79f0e09 100644 --- a/fast/stages/0-bootstrap/automation.tf +++ b/fast/stages/0-bootstrap/automation.tf @@ -1,85 +1,36 @@ -/** - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -# tfdoc:file:description Automation project and resources. - locals { cicd_resman_sa = try(module.automation-tf-cicd-sa["resman"].iam_email, "") cicd_resman_r_sa = try(module.automation-tf-cicd-r-sa["resman"].iam_email, "") + + # Use the prefix directly + descriptive_name = var.prefix } module "automation-project" { - source = "../../../modules/project" - billing_account = var.billing_account.id - name = "iac-core-0" - parent = coalesce( - var.project_parent_ids.automation, "organizations/${var.organization.id}" - ) - prefix = local.prefix - contacts = ( - var.bootstrap_user != null || var.essential_contacts == null - ? {} - : { (var.essential_contacts) = ["ALL"] } - ) - # human (groups) IAM bindings - iam_by_principals = { - (local.principals.gcp-devops) = [ - "roles/iam.serviceAccountAdmin", - "roles/iam.serviceAccountTokenCreator", - ] - (local.principals.gcp-organization-admins) = [ - "roles/iam.serviceAccountTokenCreator", - "roles/iam.workloadIdentityPoolAdmin" - ] + source = "../../../modules/project" + billing_account = var.billing_account.id + name = "iac-core-0" + project_id = "iac-core-0" + parent = coalesce(var.project_parent_ids.automation, var.organization_id) + prefix = local.prefix + organization_id = var.organization_id + contacts = (var.bootstrap_user != null || var.essential_contacts == null ? {} : { (var.essential_contacts) = ["ALL"] }) + iam_by_principals = { + (local.principals.gcp-devops) = ["roles/iam.serviceAccountAdmin", "roles/iam.serviceAccountTokenCreator"] + (local.principals.gcp-organization-admins) = ["roles/iam.serviceAccountTokenCreator", "roles/iam.workloadIdentityPoolAdmin"] } - # machine (service accounts) IAM bindings iam = { - "roles/browser" = [ - module.automation-tf-resman-r-sa.iam_email - ] - "roles/owner" = [ - module.automation-tf-bootstrap-sa.iam_email - ] - "roles/cloudbuild.builds.editor" = [ - module.automation-tf-resman-sa.iam_email - ] - "roles/cloudbuild.builds.viewer" = [ - module.automation-tf-resman-r-sa.iam_email - ] - "roles/iam.serviceAccountAdmin" = [ - module.automation-tf-resman-sa.iam_email - ] - "roles/iam.serviceAccountViewer" = [ - module.automation-tf-resman-r-sa.iam_email - ] - "roles/iam.workloadIdentityPoolAdmin" = [ - module.automation-tf-resman-sa.iam_email - ] - "roles/iam.workloadIdentityPoolViewer" = [ - module.automation-tf-resman-r-sa.iam_email - ] - "roles/source.admin" = [ - module.automation-tf-resman-sa.iam_email - ] - "roles/source.reader" = [ - module.automation-tf-resman-r-sa.iam_email - ] - "roles/storage.admin" = [ - module.automation-tf-resman-sa.iam_email - ] + "roles/browser" = [module.automation-tf-resman-r-sa.iam_email] + "roles/owner" = [module.automation-tf-bootstrap-sa.iam_email] + "roles/cloudbuild.builds.editor" = [module.automation-tf-resman-sa.iam_email] + "roles/cloudbuild.builds.viewer" = [module.automation-tf-resman-r-sa.iam_email] + "roles/iam.serviceAccountAdmin" = [module.automation-tf-resman-sa.iam_email] + "roles/iam.serviceAccountViewer" = [module.automation-tf-resman-r-sa.iam_email] + "roles/iam.workloadIdentityPoolAdmin" = [module.automation-tf-resman-sa.iam_email] + "roles/iam.workloadIdentityPoolViewer" = [module.automation-tf-resman-r-sa.iam_email] + "roles/source.admin" = [module.automation-tf-resman-sa.iam_email] + "roles/source.reader" = [module.automation-tf-resman-r-sa.iam_email] + "roles/storage.admin" = [module.automation-tf-resman-sa.iam_email] (module.organization.custom_role_id["storage_viewer"]) = [ module.automation-tf-bootstrap-r-sa.iam_email, module.automation-tf-resman-r-sa.iam_email @@ -91,15 +42,12 @@ module "automation-project" { } iam_bindings = { delegated_grants_resman = { - members = [module.automation-tf-resman-sa.iam_email] - role = "roles/resourcemanager.projectIamAdmin" + members = [module.automation-tf-resman-sa.iam_email] + role = "roles/resourcemanager.projectIamAdmin" condition = { title = "resman_delegated_grant" description = "Resource manager service account delegated grant." - expression = format( - "api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['%s'])", - "roles/serviceusage.serviceUsageConsumer" - ) + expression = format("api.getAttribute('iam.googleapis.com/modifiedGrantsByRole', []).hasOnly(['%s'])", "roles/serviceusage.serviceUsageConsumer") } } } @@ -114,15 +62,9 @@ module "automation-project" { } } org_policies = var.bootstrap_user != null ? {} : { - "compute.skipDefaultNetworkCreation" = { - rules = [{ enforce = true }] - } - "iam.automaticIamGrantsForDefaultServiceAccounts" = { - rules = [{ enforce = true }] - } - "iam.disableServiceAccountKeyCreation" = { - rules = [{ enforce = true }] - } + "compute.skipDefaultNetworkCreation" = { rules = [{ enforce = true }] } + "iam.automaticIamGrantsForDefaultServiceAccounts" = { rules = [{ enforce = true }] } + "iam.disableServiceAccountKeyCreation" = { rules = [{ enforce = true }] } } services = concat( [ @@ -149,31 +91,22 @@ module "automation-project" { "storage.googleapis.com", "sts.googleapis.com" ], - # enable specific service only after org policies have been applied var.bootstrap_user != null ? [] : [ "cloudbuild.googleapis.com", "compute.googleapis.com", "container.googleapis.com", ] ) - - # Enable IAM data access logs to capture impersonation and service - # account token generation events. This is implemented within the - # automation project to limit log volume. For heightened security, - # consider enabling it at the organization level. A log sink within - # the organization will collect and store these logs in a logging - # bucket. See - # https://cloud.google.com/iam/docs/audit-logging#audited_operations logging_data_access = { "iam.googleapis.com" = { - # ADMIN_READ captures impersonation and token generation/exchanges ADMIN_READ = [] - # enable DATA_WRITE if you want to capture configuration changes - # to IAM-related resources (roles, deny policies, service - # accounts, identity pools, etc) - # DATA_WRITE = [] } } + log_bucket_name = "iac-core-0-bkt-logs" + bucket_name = "iac-core-0-state" + service_account_email = module.automation-tf-resman-sa.iam_email + internal_service_account_email = module.automation-tf-bootstrap-sa.iam_email + kms_key_name = "iac-core-0-kms-key" } # output files bucket @@ -206,7 +139,7 @@ module "automation-tf-bootstrap-sa" { source = "../../../modules/iam-service-account" project_id = module.automation-project.project_id name = "bootstrap-0" - display_name = "Terraform organization bootstrap service account." + display_name = "Service account for bootstrap-0, bootstrap service account." prefix = local.prefix # allow SA used by CI/CD workflow to impersonate this SA iam = { @@ -223,7 +156,7 @@ module "automation-tf-bootstrap-r-sa" { source = "../../../modules/iam-service-account" project_id = module.automation-project.project_id name = "bootstrap-0r" - display_name = "Terraform organization bootstrap service account (read-only)." + display_name = "Service account for bootstrap-0r use for workflow (read-only)." prefix = local.prefix # allow SA used by CI/CD workflow to impersonate this SA iam = { @@ -265,7 +198,7 @@ module "automation-tf-resman-sa" { source = "../../../modules/iam-service-account" project_id = module.automation-project.project_id name = "resman-0" - display_name = "Terraform stage 1 resman service account." + display_name = "Service account stage 1 resman service account." prefix = local.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it @@ -286,7 +219,7 @@ module "automation-tf-resman-r-sa" { source = "../../../modules/iam-service-account" project_id = module.automation-project.project_id name = "resman-0r" - display_name = "Terraform stage 1 resman service account (read-only)." + display_name = "Service account stage 1 resman service account (read-only)." prefix = local.prefix # allow SA used by CI/CD workflow to impersonate this SA # we use additive IAM to allow tenant CI/CD SAs to impersonate it @@ -310,3 +243,130 @@ module "automation-tf-resman-r-sa" { (module.automation-tf-output-gcs.name) = [module.organization.custom_role_id["storage_viewer"]] } } + +# Log bucket for storing access logs +resource "google_storage_bucket" "log_bucket" { + name = "${var.log_bucket_name}-${local.descriptive_name}" + location = var.region + project = module.automation-project.project_id + storage_class = "STANDARD" + + versioning { + enabled = true + } + + lifecycle_rule { + action { + type = "Delete" + } + condition { + age = 365 + } + } + + labels = { + environment = "production" + purpose = "logging" + } + + uniform_bucket_level_access = true +} + +resource "google_storage_bucket" "terraform_state" { + name = "${var.bucket_name}" # -${local.descriptive_name} + location = var.region + project = module.automation-project.project_id + storage_class = "STANDARD" + + versioning { + enabled = true + } + + lifecycle_rule { + action { + type = "SetStorageClass" + storage_class = "NEARLINE" + } + condition { + age = 365 + matches_storage_class = ["STANDARD", "DURABLE_REDUCED_AVAILABILITY"] + } + } + + lifecycle_rule { + action { + type = "SetStorageClass" + storage_class = "COLDLINE" + } + condition { + age = 1095 + matches_storage_class = ["NEARLINE"] + } + } + + lifecycle_rule { + action { + type = "SetStorageClass" + storage_class = "ARCHIVE" + } + condition { + age = 1825 + matches_storage_class = ["COLDLINE"] + } + } + + lifecycle_rule { + action { + type = "Delete" + } + condition { + age = 2555 + } + } + + uniform_bucket_level_access = true + + logging { + log_bucket = google_storage_bucket.log_bucket.name + log_object_prefix = "logs/" + } + + # encryption { + # default_kms_key_name = var.kms_key_name + # } + + # retention_policy { + # retention_period = 365 * 3 // 3 years + # } + + labels = { + environment = "production" + purpose = "terraform-state" + } + + depends_on = [ + google_storage_bucket.log_bucket + ] +} + +resource "google_storage_bucket_iam_binding" "no_public_access" { + bucket = google_storage_bucket.terraform_state.name + role = "roles/storage.objectViewer" + + members = [ + "serviceAccount:${var.service_account_email}" + ] + + condition { + title = "No public access" + description = "Prevent public access" + expression = "request.auth != null" + } +} + +resource "google_storage_bucket_iam_member" "internal_only" { + bucket = google_storage_bucket.terraform_state.name + role = "roles/storage.objectViewer" + member = "serviceAccount:${var.service_account_email}" +} + diff --git a/fast/stages/0-bootstrap/billing.tf b/fast/stages/0-bootstrap/billing.tf index 2c1ce0e78f..59bcf89a1a 100644 --- a/fast/stages/0-bootstrap/billing.tf +++ b/fast/stages/0-bootstrap/billing.tf @@ -38,19 +38,20 @@ locals { # billing account in same org (IAM is in the organization.tf file) module "billing-export-project" { - source = "../../../modules/project" - count = local.billing_mode == "org" ? 1 : 0 - billing_account = var.billing_account.id - name = "billing-exp-0" - parent = coalesce( - var.project_parent_ids.billing, "organizations/${var.organization.id}" - ) - prefix = local.prefix - contacts = ( - var.bootstrap_user != null || var.essential_contacts == null - ? {} - : { (var.essential_contacts) = ["ALL"] } - ) + source = "../../../modules/project" + count = local.billing_mode == "org" ? 1 : 0 + billing_account = var.billing_account.id + name = "billing-exp-0" + project_id = "billing-exp-0" + organization_id = var.organization_id + service_account_email = module.automation-tf-bootstrap-sa.iam_email + internal_service_account_email = module.automation-tf-bootstrap-r-sa.iam_email + kms_key_name = "billing-exp-0-key" + log_bucket_name = "billing-exp-0-logs" + bucket_name = "billing-exp-0-data" + parent = coalesce(var.project_parent_ids.billing, var.organization_id) + prefix = local.prefix + contacts = (var.bootstrap_user != null || var.essential_contacts == null ? {} : { (var.essential_contacts) = ["ALL"] }) iam = { "roles/owner" = [module.automation-tf-bootstrap-sa.iam_email] "roles/viewer" = [module.automation-tf-bootstrap-r-sa.iam_email] diff --git a/fast/stages/0-bootstrap/bootstrap.tfplan b/fast/stages/0-bootstrap/bootstrap.tfplan deleted file mode 100644 index b45e3c511ecbb3f5942f025202f2ef42829fde5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242233 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 z 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 Lptl3OB;x-7Dk3+) diff --git a/fast/stages/0-bootstrap/log-export.tf b/fast/stages/0-bootstrap/log-export.tf index 86c8740756..0ee3587901 100644 --- a/fast/stages/0-bootstrap/log-export.tf +++ b/fast/stages/0-bootstrap/log-export.tf @@ -39,11 +39,10 @@ locals { module "log-export-project" { source = "../../../modules/project" name = "audit-logs-0" - parent = coalesce( - var.project_parent_ids.logging, "organizations/${var.organization.id}" - ) + parent = coalesce(var.project_parent_ids.logging, var.organization_id) prefix = local.prefix billing_account = var.billing_account.id + organization_id = var.organization_id contacts = ( var.bootstrap_user != null || var.essential_contacts == null ? {} @@ -61,6 +60,12 @@ module "log-export-project" { "storage.googleapis.com", "stackdriver.googleapis.com" ] + bucket_name = "audit-exp-0-data" + service_account_email = "log-export-sa@iha-prod-audit-logs-0.iam.gserviceaccount.com" + internal_service_account_email = "log-export-sa@iha-prod-audit-logs-0.iam.gserviceaccount.com" + kms_key_name = "audit-log-0-key" + log_bucket_name = "audit-exp-0-log" + project_id = "audit-exp-0" } # one log export per type, with conditionals to skip those not needed diff --git a/fast/stages/0-bootstrap/main.tf b/fast/stages/0-bootstrap/main.tf index b9153bddaf..6d92ed711a 100644 --- a/fast/stages/0-bootstrap/main.tf +++ b/fast/stages/0-bootstrap/main.tf @@ -35,4 +35,16 @@ locals { } # naming: environment used in most resource names prefix = join("-", compact([var.prefix, "prod"])) + + providers_template = templatefile("${abspath(path.module)}/templates/providers.tf.tpl", { + bucket = var.bucket + sa = var.sa + name = var.name + backend_extra = try(var.backend_extra, null) + }) +} + +resource "local_file" "bootstrap-providers" { + content = local.providers_template + filename = "${var.outputs_location}/0-bootstrap-providers.tf" } diff --git a/fast/stages/0-bootstrap/organization.tf b/fast/stages/0-bootstrap/organization.tf index fdd08937a7..438eca1cc5 100644 --- a/fast/stages/0-bootstrap/organization.tf +++ b/fast/stages/0-bootstrap/organization.tf @@ -99,26 +99,26 @@ locals { # TODO: add a check block to ensure our custom roles exist in the factory files # import org policy constraints enabled by default in new orgs since February 2024 -import { - for_each = ( - !var.org_policies_config.import_defaults || var.bootstrap_user != null - ? toset([]) - : toset([ - "compute.requireOsLogin", - "compute.skipDefaultNetworkCreation", - "compute.vmExternalIpAccess", - "iam.allowedPolicyMemberDomains", - "iam.automaticIamGrantsForDefaultServiceAccounts", - "iam.disableServiceAccountKeyCreation", - "iam.disableServiceAccountKeyUpload", - "sql.restrictAuthorizedNetworks", - "sql.restrictPublicIp", - "storage.uniformBucketLevelAccess", - ]) - ) - id = "organizations/${var.organization.id}/policies/${each.key}" - to = module.organization.google_org_policy_policy.default[each.key] -} +# import { +# for_each = ( +# !var.org_policies_config.import_defaults || var.bootstrap_user != null +# ? toset([]) +# : toset([ +# "compute.requireOsLogin", +# "compute.skipDefaultNetworkCreation", +# "compute.vmExternalIpAccess", +# "iam.allowedPolicyMemberDomains", +# "iam.automaticIamGrantsForDefaultServiceAccounts", +# "iam.disableServiceAccountKeyCreation", +# "iam.disableServiceAccountKeyUpload", +# "sql.restrictAuthorizedNetworks", +# "sql.restrictPublicIp", +# "storage.uniformBucketLevelAccess", +# ]) +# ) +# id = "organizations/${var.organization.id}/policies/${each.key}" +# to = module.organization.google_org_policy_policy.default[each.key] +# } module "organization-logging" { # Preconfigure organization-wide logging settings to ensure project diff --git a/fast/stages/0-bootstrap/templates/providers.tf.tpl b/fast/stages/0-bootstrap/templates/providers.tf.tpl index d1c224c5c1..deb0d3713c 100644 --- a/fast/stages/0-bootstrap/templates/providers.tf.tpl +++ b/fast/stages/0-bootstrap/templates/providers.tf.tpl @@ -25,9 +25,17 @@ terraform { } provider "google" { impersonate_service_account = "${sa}" + scopes = [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] } provider "google-beta" { impersonate_service_account = "${sa}" + scopes = [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] } # end provider.tf for ${name} diff --git a/fast/stages/0-bootstrap/variables.tf b/fast/stages/0-bootstrap/variables.tf index c460841d7c..a2e7e9efb6 100644 --- a/fast/stages/0-bootstrap/variables.tf +++ b/fast/stages/0-bootstrap/variables.tf @@ -119,13 +119,13 @@ variable "groups" { # https://cloud.google.com/docs/enterprise/setup-checklist description = "Group names or IAM-format principals to grant organization-level permissions. If just the name is provided, the 'group:' principal and organization domain are interpolated." type = object({ - gcp-billing-admins = optional(string, "gcp-billing-admins") - gcp-devops = optional(string, "gcp-devops") - gcp-network-admins = optional(string, "gcp-vpc-network-admins") - gcp-organization-admins = optional(string, "gcp-organization-admins") - gcp-security-admins = optional(string, "gcp-security-admins") + gcp-billing-admins = optional(string, "gcp_billing_admins") + gcp-devops = optional(string, "gcp_devops") + gcp-network-admins = optional(string, "gcp_vpc_network_admins") + gcp-organization-admins = optional(string, "gcp_organization_admins") + gcp-security-admins = optional(string, "gcp_security_admins") # aliased to gcp-devops as the checklist does not create it - gcp-support = optional(string, "gcp-devops") + gcp-support = optional(string, "gcp_devops") }) nullable = false default = {} @@ -245,7 +245,7 @@ variable "organization" { variable "outputs_location" { description = "Enable writing provider, tfvars and CI/CD workflow files to local filesystem. Leave null to disable." type = string - default = null + default = null # default = "~/fast-config" } variable "prefix" { @@ -255,6 +255,7 @@ variable "prefix" { condition = try(length(var.prefix), 0) < 10 error_message = "Use a maximum of 9 characters for prefix." } + default = "iha" } variable "project_parent_ids" { @@ -298,3 +299,69 @@ variable "workload_identity_providers" { default = {} nullable = false } + +variable "bucket" { + type = string + default = "iac-core-0-state-iha" +} + +variable "sa" { + type = string + default = "" +} + +variable "name" { + type = string + default = "cloud-foundation" +} + +variable "backend_extra" { + type = string + description = "Additional configuration for the backend." + default = null +} + +variable "project_id" { + description = "The ID of the GCP project" + type = string +} + +variable "region" { + description = "The region to deploy resources" + type = string + default = "us-central1" +} + +variable "bucket_name" { + description = "The name of the GCS bucket" + type = string +} + +variable "log_bucket_name" { + description = "The name of the GCS log bucket" + type = string +} + +variable "kms_key_name" { + description = "The name of the KMS key for encryption" + type = string +} + +variable "service_account_email" { + description = "The email of the service account for storage admin" + type = string +} + +variable "internal_service_account_email" { + description = "The email of the internal service account for bucket access" + type = string +} + +variable "organization_id" { + description = "The ID of the GCP organization in the form organizations/nnnnnn format." + type = string + validation { + condition = can(regex("^organizations/\\d+$", var.organization_id)) + error_message = "The organization_id must in the form organizations/nnn." + } +} \ No newline at end of file diff --git a/modules/organization/organization-policies.tf b/modules/organization/organization-policies.tf index 2faf2e97e1..74c939049e 100644 --- a/modules/organization/organization-policies.tf +++ b/modules/organization/organization-policies.tf @@ -74,50 +74,50 @@ locals { } } -resource "google_org_policy_policy" "default" { - for_each = local.org_policies - name = each.value.name - parent = each.value.parent - spec { - inherit_from_parent = each.value.inherit_from_parent - reset = each.value.reset - dynamic "rules" { - for_each = each.value.rules - iterator = rule - content { - allow_all = try(rule.value.allow.all, false) == true ? "TRUE" : null - deny_all = try(rule.value.deny.all, false) == true ? "TRUE" : null - enforce = ( - each.value.is_boolean_policy && rule.value.enforce != null - ? upper(tostring(rule.value.enforce)) - : null - ) - dynamic "condition" { - for_each = rule.value.condition.expression != null ? [1] : [] - content { - description = rule.value.condition.description - expression = rule.value.condition.expression - location = rule.value.condition.location - title = rule.value.condition.title - } - } - dynamic "values" { - for_each = rule.value.has_values ? [1] : [] - content { - allowed_values = try(rule.value.allow.values, null) - denied_values = try(rule.value.deny.values, null) - } - } - } - } - } - depends_on = [ - google_organization_iam_binding.authoritative, - google_organization_iam_binding.bindings, - google_organization_iam_member.bindings, - google_organization_iam_custom_role.roles, - google_org_policy_custom_constraint.constraint, - google_tags_tag_key.default, - google_tags_tag_value.default, - ] -} +# resource "google_org_policy_policy" "default" { +# for_each = local.org_policies +# name = each.value.name +# parent = each.value.parent +# spec { +# inherit_from_parent = each.value.inherit_from_parent +# reset = each.value.reset +# dynamic "rules" { +# for_each = each.value.rules +# iterator = rule +# content { +# allow_all = try(rule.value.allow.all, false) == true ? "TRUE" : null +# deny_all = try(rule.value.deny.all, false) == true ? "TRUE" : null +# enforce = ( +# each.value.is_boolean_policy && rule.value.enforce != null +# ? upper(tostring(rule.value.enforce)) +# : null +# ) +# dynamic "condition" { +# for_each = rule.value.condition.expression != null ? [1] : [] +# content { +# description = rule.value.condition.description +# expression = rule.value.condition.expression +# location = rule.value.condition.location +# title = rule.value.condition.title +# } +# } +# dynamic "values" { +# for_each = rule.value.has_values ? [1] : [] +# content { +# allowed_values = try(rule.value.allow.values, null) +# denied_values = try(rule.value.deny.values, null) +# } +# } +# } +# } +# } +# depends_on = [ +# google_organization_iam_binding.authoritative, +# google_organization_iam_binding.bindings, +# google_organization_iam_member.bindings, +# google_organization_iam_custom_role.roles, +# google_org_policy_custom_constraint.constraint, +# google_tags_tag_key.default, +# google_tags_tag_value.default, +# ] +# } diff --git a/modules/organization/outputs.tf b/modules/organization/outputs.tf index 9422134a73..0309a3cfb2 100644 --- a/modules/organization/outputs.tf +++ b/modules/organization/outputs.tf @@ -40,7 +40,7 @@ output "id" { depends_on = [ google_logging_organization_settings.default, google_org_policy_custom_constraint.constraint, - google_org_policy_policy.default, + # google_org_policy_policy.default, google_organization_iam_binding.authoritative, google_organization_iam_binding.bindings, google_organization_iam_custom_role.roles, @@ -76,7 +76,7 @@ output "organization_id" { value = var.organization_id depends_on = [ google_org_policy_custom_constraint.constraint, - google_org_policy_policy.default, + # google_org_policy_policy.default, google_organization_iam_binding.authoritative, google_organization_iam_binding.bindings, google_organization_iam_member.bindings, diff --git a/modules/project/main.tf b/modules/project/main.tf index 90eee38b8e..89b2f23383 100644 --- a/modules/project/main.tf +++ b/modules/project/main.tf @@ -1,23 +1,6 @@ -/** - * Copyright 2022 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - locals { - descriptive_name = ( - var.descriptive_name != null ? var.descriptive_name : "${local.prefix}${var.name}" - ) + descriptive_name = "${var.prefix}-${formatdate("YYYYMMDD-HHmmss", timestamp())}" + parent_type = var.parent == null ? null : split("/", var.parent)[0] parent_id = var.parent == null ? null : split("/", var.parent)[1] prefix = var.prefix == null ? "" : "${var.prefix}-" @@ -100,3 +83,139 @@ resource "google_monitoring_monitored_project" "primary" { metrics_scope = each.value name = local.project.project_id } + +# resource "google_storage_bucket" "log_bucket" { +# name = "${var.log_bucket_name}ibb" +# location = var.region +# project = local.project.project_id +# storage_class = "STANDARD" + +# versioning { +# enabled = true +# } + +# lifecycle_rule { +# action { +# type = "Delete" +# } +# condition { +# age = 365 +# } +# } + +# labels = { +# environment = "production" +# purpose = "logging" +# } + +# uniform_bucket_level_access = true +# } + +# resource "google_storage_bucket" "terraform_state" { +# name = "${var.bucket_name}ibb" +# location = var.region +# project = local.project.project_id +# storage_class = "STANDARD" +# force_destroy = true + +# # versioning { +# # enabled = true +# # } + +# lifecycle_rule { +# action { +# type = "SetStorageClass" +# storage_class = "NEARLINE" +# } +# condition { +# age = 365 +# matches_storage_class = ["STANDARD", "DURABLE_REDUCED_AVAILABILITY"] +# } +# } + +# lifecycle_rule { +# action { +# type = "SetStorageClass" +# storage_class = "COLDLINE" +# } +# condition { +# age = 1095 +# matches_storage_class = ["NEARLINE"] +# } +# } + +# lifecycle_rule { +# action { +# type = "SetStorageClass" +# storage_class = "ARCHIVE" +# } +# condition { +# age = 1825 +# matches_storage_class = ["COLDLINE"] +# } +# } + +# lifecycle_rule { +# action { +# type = "Delete" +# } +# condition { +# age = 2555 +# } +# } + +# uniform_bucket_level_access = true + +# logging { +# log_bucket = google_storage_bucket.log_bucket.name +# log_object_prefix = "logs/" +# } + +# # encryption { +# # default_kms_key_name = var.kms_key_name +# # } + +# retention_policy { +# retention_period = 365 * 3 // 3 years +# } + +# labels = { +# environment = "production" +# purpose = "terraform-state" +# } + +# depends_on = [ +# google_project.project, +# google_storage_bucket.log_bucket +# ] +# } + +# resource "google_project_iam_binding" "storage_admin" { +# project = local.project.project_id +# role = "roles/storage.admin" + +# members = [ +# "serviceAccount:${var.service_account_email}" +# ] +# } + +# resource "google_storage_bucket_iam_binding" "no_public_access" { +# bucket = google_storage_bucket.terraform_state.name +# role = "roles/storage.objectViewer" + +# members = [ +# "serviceAccount:${var.service_account_email}" +# ] + +# condition { +# title = "No public access" +# description = "Prevent public access" +# expression = "request.auth != null" +# } +# } + +# resource "google_storage_bucket_iam_member" "internal_only" { +# bucket = google_storage_bucket.terraform_state.name +# role = "roles/storage.objectViewer" +# member = "serviceAccount:${var.internal_service_account_email}" +# } diff --git a/modules/project/variables.tf b/modules/project/variables.tf index 4ff0cf93be..02c308ac16 100644 --- a/modules/project/variables.tf +++ b/modules/project/variables.tf @@ -284,3 +284,48 @@ variable "vpc_sc" { }) default = null } + +variable "project_id" { + description = "The ID of the GCP project" + type = string +} + +variable "region" { + description = "The region to deploy resources" + type = string + default = "us-central1" +} + +variable "bucket_name" { + description = "The name of the GCS bucket" + type = string +} + +variable "log_bucket_name" { + description = "The name of the GCS log bucket" + type = string +} + +variable "kms_key_name" { + description = "The name of the KMS key for encryption" + type = string +} + +variable "service_account_email" { + description = "The email of the service account for storage admin" + type = string +} + +variable "internal_service_account_email" { + description = "The email of the internal service account for bucket access" + type = string +} + +variable "organization_id" { + description = "Organization id in organizations/nnnnnn format." + type = string + validation { + condition = can(regex("^organizations/[0-9]+", var.organization_id)) + error_message = "The organization_id must in the form organizations/nnn." + } +} \ No newline at end of file