policies_iam.tf (43 lines of code) (raw):

/** * Copyright 2021 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. */ # Organizational Policies (applied at the folder level) # # These are the minimum policies # - No default SA: constraints/iam.disableServiceAccountCreation # - No SA Key creation: constraints/iam.disableServiceAccountKeyCreation # - No default grants: constraints/iam.automaticIamGrantsForDefaultServiceAccounts # # (Optional policies) # - No outside domains: constraints/iam.allowedPolicyMemberDomains module "service_account_policy" { source = "terraform-google-modules/org-policy/google" version = "~> 4.0" policy_for = "folder" folder_id = local.folder_trusted constraint = "iam.disableServiceAccountCreation" policy_type = "boolean" enforce = true depends_on = [google_service_account.sa_p_notebook_compute] } module "service_account_key_policy" { source = "terraform-google-modules/org-policy/google" version = "~> 4.0" policy_for = "folder" folder_id = local.folder_trusted constraint = "iam.disableServiceAccountKeyCreation" policy_type = "boolean" enforce = true } module "iam_grant_policy" { source = "terraform-google-modules/org-policy/google" version = "~> 4.0" policy_for = "folder" folder_id = local.folder_trusted constraint = "iam.automaticIamGrantsForDefaultServiceAccounts" policy_type = "boolean" enforce = true }