doc: add docs for gcp app connection
|
After Width: | Height: | Size: 610 KiB |
|
After Width: | Height: | Size: 411 KiB |
|
After Width: | Height: | Size: 519 KiB |
|
After Width: | Height: | Size: 416 KiB |
|
After Width: | Height: | Size: 978 KiB |
|
After Width: | Height: | Size: 580 KiB |
|
After Width: | Height: | Size: 669 KiB |
|
After Width: | Height: | Size: 395 KiB |
|
After Width: | Height: | Size: 472 KiB |
|
After Width: | Height: | Size: 451 KiB |
@@ -0,0 +1,88 @@
|
|||||||
|
---
|
||||||
|
title: "GCP Connection"
|
||||||
|
description: "Learn how to configure a GCP Connection for Infisical."
|
||||||
|
---
|
||||||
|
|
||||||
|
Infisical supports [service account impersonation](https://cloud.google.com/iam/docs/service-account-impersonation) to connect with your GCP projects.
|
||||||
|
|
||||||
|
<Accordion title="Self-Hosted Instance">
|
||||||
|
Using the GCP integration on a self-hosted instance of Infisical requires configuring a service account on GCP and
|
||||||
|
configuring your instance to use it.
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Navigate to IAM & Admin > Service Accounts in Google Cloud Console">
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Create a Service Account">
|
||||||
|
Create a new service account that will be used to impersonate other GCP service accounts for your app connections.
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Generate Service Account Key">
|
||||||
|
Download the JSON key file for your service account. This will be used to authenticate your instance with GCP.
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Configure Your Instance">
|
||||||
|
1. Copy the entire contents of the downloaded JSON key file.
|
||||||
|
2. Set it as a string value for the `INF_APP_CONNECTION_GCP_SERVICE_ACCOUNT_CREDENTIAL` environment variable.
|
||||||
|
3. Restart your Infisical instance to apply the changes.
|
||||||
|
4. You can now use GCP integration with service account impersonation.
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
</Accordion>
|
||||||
|
|
||||||
|
## Configure Service Account for Infisical
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Navigate to IAM & Admin > Service Accounts in Google Cloud Console">
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Create Service Account">
|
||||||
|
Create a new service account with an ID that follows this requirement:
|
||||||
|
|
||||||
|
Your service account ID must start with the first two sections of your Infisical organization ID.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- Infisical organization ID: `df92581a-0fe9-42b5-b526-0a1e88ec8085`
|
||||||
|
- Required service account ID prefix: `df92581a-0fe9`
|
||||||
|
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Configure Service Account Permissions">
|
||||||
|
<Tabs>
|
||||||
|
<Tab title="Secret Sync">
|
||||||
|
Add the required permissions for secret syncs:
|
||||||
|

|
||||||
|
</Tab>
|
||||||
|
</Tabs>
|
||||||
|
</Step>
|
||||||
|
<Step title="Enable Service Account Impersonation">
|
||||||
|
On the newly created service account, assign the `Service Account Token Creator` role to the Infisical instance's service account. This allows the instance to impersonate this service account.
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
|
||||||
|
</Steps>
|
||||||
|
|
||||||
|
## Setup GCP Connection in Infisical
|
||||||
|
|
||||||
|
<Steps>
|
||||||
|
<Step title="Navigate to the App Connections">
|
||||||
|
Navigate to the **App Connections** tab on the **Organization Settings**
|
||||||
|
page. 
|
||||||
|
</Step>
|
||||||
|
<Step title="Add Connection">
|
||||||
|
Select the **GCP Connection** option from the connection options modal.
|
||||||
|

|
||||||
|
</Step>
|
||||||
|
<Step title="Authorize Connection">
|
||||||
|
Select the **Service Account Impersonation** method and click **Connect to
|
||||||
|
GCP**. 
|
||||||
|
</Step>
|
||||||
|
<Step title="Connection Created">
|
||||||
|
Your **GCP Connection** is now available for use. 
|
||||||
|
</Step>
|
||||||
|
</Steps>
|
||||||
@@ -351,7 +351,8 @@
|
|||||||
"group": "Connections",
|
"group": "Connections",
|
||||||
"pages": [
|
"pages": [
|
||||||
"integrations/app-connections/aws",
|
"integrations/app-connections/aws",
|
||||||
"integrations/app-connections/github"
|
"integrations/app-connections/github",
|
||||||
|
"integrations/app-connections/gcp"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -798,7 +799,8 @@
|
|||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/app-connections/list",
|
"api-reference/endpoints/app-connections/list",
|
||||||
"api-reference/endpoints/app-connections/options",
|
"api-reference/endpoints/app-connections/options",
|
||||||
{ "group": "AWS",
|
{
|
||||||
|
"group": "AWS",
|
||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/app-connections/aws/list",
|
"api-reference/endpoints/app-connections/aws/list",
|
||||||
"api-reference/endpoints/app-connections/aws/available",
|
"api-reference/endpoints/app-connections/aws/available",
|
||||||
@@ -809,7 +811,8 @@
|
|||||||
"api-reference/endpoints/app-connections/aws/delete"
|
"api-reference/endpoints/app-connections/aws/delete"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "group": "GitHub",
|
{
|
||||||
|
"group": "GitHub",
|
||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/app-connections/github/list",
|
"api-reference/endpoints/app-connections/github/list",
|
||||||
"api-reference/endpoints/app-connections/github/available",
|
"api-reference/endpoints/app-connections/github/available",
|
||||||
@@ -827,7 +830,8 @@
|
|||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/secret-syncs/list",
|
"api-reference/endpoints/secret-syncs/list",
|
||||||
"api-reference/endpoints/secret-syncs/options",
|
"api-reference/endpoints/secret-syncs/options",
|
||||||
{ "group": "AWS Parameter Store",
|
{
|
||||||
|
"group": "AWS Parameter Store",
|
||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/secret-syncs/aws-parameter-store/list",
|
"api-reference/endpoints/secret-syncs/aws-parameter-store/list",
|
||||||
"api-reference/endpoints/secret-syncs/aws-parameter-store/get-by-id",
|
"api-reference/endpoints/secret-syncs/aws-parameter-store/get-by-id",
|
||||||
@@ -840,7 +844,8 @@
|
|||||||
"api-reference/endpoints/secret-syncs/aws-parameter-store/remove-secrets"
|
"api-reference/endpoints/secret-syncs/aws-parameter-store/remove-secrets"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ "group": "GitHub",
|
{
|
||||||
|
"group": "GitHub",
|
||||||
"pages": [
|
"pages": [
|
||||||
"api-reference/endpoints/secret-syncs/github/list",
|
"api-reference/endpoints/secret-syncs/github/list",
|
||||||
"api-reference/endpoints/secret-syncs/github/get-by-id",
|
"api-reference/endpoints/secret-syncs/github/get-by-id",
|
||||||
|
|||||||