docs/platform/operating-airbyte/external-secrets.md
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
This guide provides step-by-step instructions for configuring external secrets management with Airbyte. External secrets management allows Airbyte to securely store and manage connection credentials in your cloud provider's secrets manager (AWS Secrets Manager, Azure Key Vault, or Google Cloud Secret Manager) instead of storing them in Airbyte's internal database.
:::info External secrets management is available for Airbyte Pro and Enterprise Flex customers. :::
First, you'll need to create the appropriate permissions in your cloud provider to allow Airbyte to manage secrets.
<Tabs> <TabItem value="aws" label="AWS" default>Follow the AWS Secret Manager Policy documentation to create the required IAM policy. This policy ensures Airbyte can create, read, update, and manage secrets while restricting access to only Airbyte-managed secrets.
</TabItem> <TabItem value="azure" label="Azure">Follow the Azure Key Vault Policy documentation to create the required permissions. This policy ensures Airbyte can create, read, update, and manage secrets while restricting access to only Airbyte-managed secrets.
</TabItem> <TabItem value="gcp" label="Google Cloud">Contact your Airbyte representative for GCP setup guidance and policy documentation.
</TabItem> </Tabs>The authentication method varies by cloud provider:
<Tabs> <TabItem value="aws" label="AWS" default>AWS supports two authentication methods:
| Method | Use Case | Security Note |
|---|---|---|
| IAM Role (Recommended) | Best for EKS deployments or when using IRSA (IAM Roles for Service Accounts) | More secure - no static credentials, uses temporary credentials |
| Access Key | For EC2 instances or non-Kubernetes deployments | Requires managing static credentials securely |
Azure uses service principal authentication with client credentials:
| Method | Use Case |
|---|---|
| Service Principal with Client Secret | Standard authentication method for Azure Key Vault access |
GCP authentication methods will be provided by your Airbyte representative during setup.
</TabItem> </Tabs>Follow the instructions for your chosen cloud provider:
<Tabs> <TabItem value="aws" label="AWS" default>Choose one of the following authentication methods:
IAM Role (Recommended)
AirbyteSecretsManagerPolicy (created in Step 1) to this rolearn:aws:iam::123456789012:role/AirbyteSecretsRole)IAM User with Access Keys
AirbyteSecretsManagerPolicy (created in Step 1) to this userCreate an Azure Key Vault (if you don't already have one)
Create an application in Microsoft Entra ID
Create a client secret for the application
Assign the Key Vault Secrets Officer role to the application
Collect the required information:
https://your-vault-name.vault.azure.net/)Contact your Airbyte representative for detailed GCP setup instructions.
</TabItem> </Tabs>Provide Airbyte with the configuration details using the appropriate JSON format for your cloud provider:
<Tabs> <TabItem value="aws" label="AWS" default>IAM Role Example:
{
"auth_type": "IAM_ROLE",
"roleArn": "arn:aws:iam::123456789012:role/AirbyteSecretsRole",
"awsRegion": "us-east-1",
"tagKey": "AirbyteManaged"
}
Access Key Example:
{
"auth_type": "ACCESS_KEY",
"awsAccessKey": "AKIAIOSFODNN7EXAMPLE",
"awsSecretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"awsRegion": "us-west-2",
"tagKey": "AirbyteManaged"
}
Example:
{
"vaultUrl": "https://my-airbyte-vault.vault.azure.net/",
"tenantId": "12345678-1234-1234-1234-123456789012",
"clientId": "87654321-4321-4321-4321-210987654321",
"clientSecret": "your-client-secret-value-here"
}
Configuration format will be provided by your Airbyte representative.
</TabItem> </Tabs>After providing your configuration to Airbyte:
AirbyteManaged=true for AWS)Issue: "Access Denied" errors when Airbyte tries to access Secrets Manager
Solution: Verify the IAM policy is correctly attached and the condition for the AirbyteManaged tag is properly configured
Issue: Secrets not appearing in AWS Console
Solution: Check that the correct AWS region is specified in the configuration
Issue: IAM Role authentication not working
Solution: Verify the trust relationship is configured correctly and the service account has the proper annotations
</TabItem> <TabItem value="azure" label="Azure">Issue: Authentication failures when accessing Key Vault
Solution: Verify the client secret is correct and has not expired. Check that the service principal has been assigned the Key Vault Secrets Officer role
Issue: "Access Denied" errors in Azure Key Vault
Solution: Confirm the application has the correct role assignment (Key Vault Secrets Officer) and that the role assignment has propagated (can take a few minutes)
Issue: Cannot find the Vault URI
Solution: Navigate to your Key Vault in the Azure Portal and copy the Vault URI from the Overview page
</TabItem> <TabItem value="general" label="General">Issue: Test secret creation fails
Solution: Review your cloud provider's audit logs to identify the specific permission issue. Ensure all required permissions from Step 1 are correctly configured
Issue: Connection credentials not being stored externally
Solution: Verify that external secrets management is enabled for your Airbyte organization and that the configuration was successfully applied
</TabItem> </Tabs>If you encounter issues not covered in this guide, please contact your Airbyte Customer Success representative or reach out to [email protected].