Google Cloud Billing Account IAM

This page shows how to write Terraform for Cloud Billing Account IAM and write them securely.

google_billing_account_iam (Terraform)

The Account IAM in Cloud Billing can be configured in Terraform with the resource name google_billing_account_iam. The following sections describe how to use the resource and its parameters.

Example Usage from GitHub

An example could not be found in GitHub.


The following arguments are supported:

  • billing_account_id - (Required) The billing account id.

For google_billing_account_iam_member or google_billing_account_iam_binding:

  • member/members - (Required) Identities that will be granted the privilege in role. Each entry can have one of the following values:

    • user:[emailid]: An email address that represents a specific Google account. For example, or
    • serviceAccount:[emailid]: An email address that represents a service account. For example,
    • group:[emailid]: An email address that represents a Google group. For example,
    • domain:[domain]: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, or
  • role - (Required) The role that should be applied. Only one google_billing_account_iam_binding can be used per role. Note that custom roles must be of the format [projects|organizations]/[parent-name]/roles/[role-name]. Read more about roles here.

google_billing_account_iam_policy only:

  • policy_data - (Required) The policy data generated by a google_iam_policy data source.

In addition to the arguments listed above, the following computed attributes are exported:

  • etag - (Computed) The etag of the billing account's IAM policy.

Explanation in Terraform Registry

Three different resources help you manage IAM policies on billing accounts. Each of these resources serves a different use case:

  • google_billing_account_iam_policy: Authoritative. Sets the IAM policy for the billing accounts and replaces any existing policy already attached.
  • google_billing_account_iam_binding: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the table are preserved.
  • google_billing_account_iam_member: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role of the billing accounts are preserved.

    Note: google_billing_account_iam_policy cannot be used in conjunction with google_billing_account_iam_binding and google_billing_account_iam_member or they will fight over what your policy should be. In addition, be careful not to accidentally unset ownership of the billing account as google_billing_account_iam_policy replaces the entire policy.

    Note: google_billing_account_iam_binding resources can be used in conjunction with google_billing_account_iam_member resources only if they do not grant privilege to the same role.

Frequently asked questions

What is Google Cloud Billing Account IAM?

Google Cloud Billing Account IAM is a resource for Cloud Billing of Google Cloud Platform. Settings can be wrote in Terraform.


Scan your IaC problem in 3 minutes for free

You can keep your IaC security for free. No credit card required.