Skip to content

Commit b5ccaa7

Browse files
authored
out_bigquery: support AWS auth via GCP Workload Identity Federation (#666)
Added the new configuration parameters used for GCP workload identity federation. Updated these docs in sync with the changes in the main Fluent Bit repo. Signed-off-by: zhenyami <[email protected]>
1 parent 6c65316 commit b5ccaa7

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

pipeline/outputs/bigquery.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,33 @@ Fluent Bit BigQuery output plugin uses a JSON credentials file for authenticatio
3232

3333
* [Creating and Managing Service Account Keys](https://cloud.google.com/iam/docs/creating-managing-service-account-keys)
3434

35+
### Workload Identity Federation
36+
37+
Using identity federation, you can grant on-premises or multi-cloud workloads access to Google Cloud resources, without using a service account key. It can be used as a more secure alternative to service account credentials. Google Cloud's workload identity federation supports several identity providers (see documentation) but Fluent Bit BigQuery plugin currently supports Amazon Web Services (AWS) only.
38+
39+
* [Workload Identity Federation overview](https://cloud.google.com/iam/docs/workload-identity-federation)
40+
41+
You must configure workload identity federation in GCP before using it with Fluent Bit.
42+
43+
* [Configuring workload identity federation](https://cloud.google.com/iam/docs/configuring-workload-identity-federation#aws)
44+
* [Obtaining short-lived credentials with identity federation](https://cloud.google.com/iam/docs/using-workload-identity-federation)
45+
3546
## Configurations Parameters
3647

3748
| Key | Description | default |
3849
| :--- | :--- | :--- |
39-
| google\_service\_credentials | Absolute path to a Google Cloud credentials JSON file | Value of the environment variable _$GOOGLE\_SERVICE\_CREDENTIALS_ |
50+
| google\_service\_credentials | Absolute path to a Google Cloud credentials JSON file. | Value of the environment variable _$GOOGLE\_SERVICE\_CREDENTIALS_ |
4051
| project\_id | The project id containing the BigQuery dataset to stream into. | The value of the `project_id` in the credentials file |
4152
| dataset\_id | The dataset id of the BigQuery dataset to write into. This dataset must exist in your project. | |
4253
| table\_id | The table id of the BigQuery table to write into. This table must exist in the specified dataset and the schema must match the output. | |
43-
| skip_invalid_rows | Insert all valid rows of a request, even if invalid rows exist. The default value is false, which causes the entire request to fail if any invalid rows exist. | Off |
44-
| ignore_unknown_values | Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false, which treats unknown values as errors. | Off |
54+
| skip\_invalid\_rows | Insert all valid rows of a request, even if invalid rows exist. The default value is false, which causes the entire request to fail if any invalid rows exist. | Off |
55+
| ignore\_unknown\_values | Accept rows that contain values that do not match the schema. The unknown values are ignored. Default is false, which treats unknown values as errors. | Off |
56+
| enable\_workload\_identity\_federation | Enables workload identity federation as an alternative authentication method. Cannot be used with service account credentials file or environment variable. AWS is the only identity provider currently supported. | Off |
57+
| aws\_region | Used to construct a regional endpoint for AWS STS to verify AWS credentials obtained by Fluent Bit. Regional endpoints are recommended by AWS. | |
58+
| project\_number | GCP project number where the identity provider was created. Used to construct the full resource name of the identity provider. | |
59+
| pool\_id | GCP workload identity pool where the identity provider was created. Used to construct the full resource name of the identity provider. | |
60+
| provider\_id | GCP workload identity provider. Used to construct the full resource name of the identity provider. Currently only AWS accounts are supported. | |
61+
| google\_service\_account | Email address of the Google service account to impersonate. The workload identity provider must have permissions to impersonate this service account, and the service account must have permissions to access Google BigQuery resources (e.g. `write` access to tables) | |
4562

4663
See Google's [official documentation](https://cloud.google.com/bigquery/docs/reference/rest/v2/tabledata/insertAll) for further details.
4764

0 commit comments

Comments
 (0)