Billing Project
A billing project differs slightly from a billing account. The billing project is essentially a standard Google Cloud Platform (GCP) project that typically does not store any data. Google administrators use the billing project to allocate and account the cost of BigQuery job execution.
A data project, on the other hand, contains the data, and users are typically granted Data Viewer rights. The billing project, while it may not hold any data, provides users with job permissions, enabling them to query data from the data project. This approach helps GCP admins distribute query costs across different domains, rather than consolidating all costs within the data project, which is managed by IT.
As a user of AACP you can utilize a billing project to execute workflows, ensuring that the associated query costs are correctly attributed to the appropriate project. By working within the billing project context, operations like creating AACP datasets, samples, custom SQL queries, and running AACP jobs are billed to the default billing project.
Key Considerations
Required Permissions for Users
BigQuery Data Viewer permissions are needed for the data project users are allowed to access.
BigQuery Job User permissions are required to run BigQuery jobs from the AACP interface on the assigned billing project. The billing project is the GCP project where the BigQuery job will be executed.
Users can have multiple billing projects, and a data project is distinct from a billing project.
Support is available for both Workspace mode (Service Account Key) and User Mode (OAuth).
Using Billing Projects
For administrators, navigate to Workspace Admin > Settings and search for "Billing Project". Enable the setting labeled Require Billing Project to use BigQuery connections. Once enabled, users will be able to add billing projects.
To create a BigQuery connection, having a billing project is now mandatory. To set a billing project, go to User Preferences and select Billing Projects under the Workspace section.
From this page, users can add multiple billing projects; however, only the default billing project will be considered the active billing project.
Aviso
AACP is not responsible for validating whether a user has access to a billing project. It is the end user’s responsibility to select the correct projects. The GCP Admin must ensure that users have the necessary privileges to execute jobs within a project. The same applies to service accounts.
Access Permissions Requirements
Permission | Data Project | Billing Project |
---|---|---|
bigquery.datasets.get | Required | N/A |
bigquery.tables.list | Required | N/A |
bigquery.tables.get | Required | N/A |
bigquery.tables.getData | Required | N/A |
bigquery.jobs.create | N/A | Required |
bigquery.jobs.update | N/A | Required |
bigquery.jobs.list | N/A | Required |
bigquery.jobs.get | N/A | Required |
bigquery.tables.create | Required | N/A |
bigquery.tables.update | Required | N/A |
bigquery.tables.updateData | Required | N/A |
Limitations
In User Preferences while adding billing projects there is no validation if the user entered a valid project ID.