<commit_before># GCP Service Account Authentication - Shared Flow

This shared flow can be used obtain access tokens for Google Cloud service
accounts. Access tokens are cached in a dedicated environment cache resource for
10min.

## How to deploy this shared flow

The simplest way to deploy this shared flow is to use the `deploy.sh` utility in
this repo.

It will:

* Create the GCP Service Account Token Shared Flow
* Initialize an environement Cache Resource
* Initialize a KVM (optional)
* Add a service account key to that kvm (optional)
<commit_msg>mention gcp service account auth in gcp sa shared flow<commit_after># GCP Service Account Authentication - Shared Flow

***Note:*** Apigee X can now directly authenticate as a service account against
Google APIs without the need to export service account keys.
We recommend the [built-in authentication](https://cloud.google.com/apigee/docs/api-platform/security/google-auth/overview)
mechanism over this shared flow because it is simpler and does not require you
to handle service account keys.

This shared flow can be used obtain identity or access tokens for Google Cloud
service accounts. Tokens are cached in a dedicated environment cache resource
for 10min.

## How to deploy this shared flow

The simplest way to deploy this shared flow is to use the `deploy.sh` utility in
this repo.

It will:

* Create the GCP Service Account Token Shared Flow
* Initialize an environement Cache Resource
* Initialize a KVM (optional)
* Add a service account key to that kvm (optional)

{'fraction_non_alphanumeric': 0.04619388418998048, 'fraction_numerical': 0.002602472348731295, 'mean_word_length': 4.633699633699634, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4219843', 'n_tokens_mistral': 390, 'n_tokens_neox': 377, 'n_words': 224}