Files
threshold-plugin-gcp/README.md
T

63 lines
2.8 KiB
Markdown
Raw Normal View History

## About this fork
This is a community fork of
[hashicorp/boundary-plugin-gcp](https://github.com/hashicorp/boundary-plugin-gcp)
for use with Threshold. It is licensed under the MPL-2.0 (see `LICENSE`), and
the original copyright notices are retained. It is not affiliated with,
endorsed by, or supported by HashiCorp or IBM. Changes from upstream are limited
to the Go module path and SDK import paths; see `NOTICE`.
2024-09-16 12:20:08 -04:00
# GCP Plugin for HashiCorp Boundary
2024-04-02 15:47:49 -04:00
2024-09-16 12:20:08 -04:00
This repo contains the GCP plugin for [HashiCorp
2024-04-02 15:47:49 -04:00
Boundary](https://www.boundaryproject.io/).
## Credentials
2024-10-29 12:52:56 -04:00
### Service Account Credentials
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
The plugin will authenticate using service account credential when the `secrets`
object is set. By default, the plugin will attempt to rotate the credentials.
The given credentials will be used to create a new credential, and then the given
credential will be revoked. In this way, after rotation, only Boundary knows the
client secret in use by this plugin.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
Credential rotation can be turned off by setting the `disable_credential_rotation`
attribute to true.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
### Service Account Impersonation
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
The plugin will attempt to impersonate a service account when the `target_service_account_id`
field is supplied through the `attributes` object. The base service account will be
used to assume the identity and permissions of the target service account. A temporary
credential will be generated for authentication. The base service account requires the
[service account token creator](https://cloud.google.com/iam/docs/service-account-permissions#token-creator-role)
role to assume the role of the target service account.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
By default, the credentials of the base service account will be rotated if
credential rotation is not disabled by setting the `disable_credential_rotation`
attribute.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
### Application Default Credentials
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
The plugin uses [Application Default Credentials (ADC)](https://cloud.google.com/docs/authentication/provide-credentials-adc)
for authentication when no `secrets` object is set. The plugin will attempt to
retrieve the credentials based on the environment.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
## Dynamic Hosts
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
This plugin supports dynamically sourcing instances from GCP Google Compute Engine.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
Host sets created with this plugin define filters
which select and group like instances within GCP; these host sets can in turn be
added to targets within Boundary as host sources.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
At creation, update or deletion of a host catalog of this type, configuration of the
plugin is performed via the attribute/secret values passed to the create, update, or
delete calls actions. The values passed in to the plugin here are the attributes set
on a host catalog in Boundary.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
The plugin fetches hosts through the [Instances.List](https://cloud.google.com/compute/docs/reference/rest/v1/instances/list#filter)
call.
2024-04-02 15:47:49 -04:00
2024-10-29 12:52:56 -04:00
[Getting Started](plugin/service/host/README.md)