blob: 13a9845e21403c551005728f11a15a63f87bb049 [file] [log] [blame]
---
subcategory: "Cloud Platform"
description: |-
Get the service account from a project.
---
# google\_service\_account
Get the service account from a project. For more information see
the official [API](https://cloud.google.com/compute/docs/access/service-accounts) documentation.
## Example Usage
```hcl
data "google_service_account" "object_viewer" {
account_id = "object-viewer"
}
```
## Example Usage, save key in Kubernetes secret
```hcl
data "google_service_account" "myaccount" {
account_id = "myaccount-id"
}
resource "google_service_account_key" "mykey" {
service_account_id = data.google_service_account.myaccount.name
}
resource "kubernetes_secret" "google-application-credentials" {
metadata {
name = "google-application-credentials"
}
data = {
credentials.json = base64decode(google_service_account_key.mykey.private_key)
}
}
```
## Argument Reference
The following arguments are supported:
* `account_id` - (Required) The Google service account ID. This be one of:
* The name of the service account within the project (e.g. `my-service`)
* The fully-qualified path to a service account resource (e.g.
`projects/my-project/serviceAccounts/...`)
* The email address of the service account (e.g.
`my-service@my-project.iam.gserviceaccount.com`)
* `project` - (Optional) The ID of the project that the service account is present in.
Defaults to the provider project configuration.
## Attributes Reference
In addition to the arguments listed above, the following computed attributes are
exported:
* `email` - The e-mail address of the service account. This value
should be referenced from any `google_iam_policy` data sources
that would grant the service account privileges.
* `unique_id` - The unique id of the service account.
* `name` - The fully-qualified name of the service account.
* `display_name` - The display name for the service account.
* `member` - The Identity of the service account in the form `serviceAccount:{email}`. This value is often used to refer to the service account in order to grant IAM permissions.