Use this file to discover all available pages before exploring further.
Infisical supports two methods for connecting to AWS.
Assume Role (Recommended)
Access Key
Infisical will assume the provided role in your AWS account securely, without the need to share any credentials.
Self-Hosted Instance
To connect your self-hosted Infisical instance with AWS, you need to set up an AWS IAM User account that can assume the configured AWS IAM Role.
If your Infisical instance is deployed on AWS (e.g. EC2, ECS, or EKS), you do not need to provide static credentials. When the INF_APP_CONNECTION_AWS_ACCESS_KEY_ID and INF_APP_CONNECTION_AWS_SECRET_ACCESS_KEY environment variables are not set, Infisical will automatically retrieve credentials from your instance’s environment (instance profile, task role, or IRSA). Simply ensure that the IAM role attached to your compute has the permission policy below to assume your target roles.
The following steps are for instances not deployed on AWS:
Select Another AWS Account and provide the appropriate Infisical AWS Account ID: use 381492033652 for the US region, and 345594589636 for the EU region. This restricts the role to be assumed only by Infisical. If self-hosting, provide your AWS account number instead.
For Dedicated Instances: Your AWS account ID differs from the one provided above. Please reach out to Infisical support to obtain your AWS account ID.
(Recommended) Enable “Require external ID” and input your Organization ID to strengthen security and mitigate the confused deputy problem.
When configuring an IAM Role that Infisical will assume, it’s highly recommended to enable the “Require external ID” option and specify your Organization ID.This precaution helps protect your AWS account against the confused deputy problem, a potential security vulnerability where Infisical could be tricked into performing actions on your behalf by an unauthorized actor.
2
Add Required Permissions to the IAM Role
Navigate to your IAM role permissions and click Create Inline Policy.Depending on your use case, add one or more of the following policies to your IAM Role:
Secret Sync
Secret Rotation
PKI Sync
External Certificate Authority
AWS Secrets Manager
Use the following custom policy to grant the minimum permissions required by Infisical to sync secrets to AWS Secrets Manager:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:ListSecrets", "secretsmanager:GetSecretValue", "secretsmanager:BatchGetSecretValue", "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DeleteSecret", "secretsmanager:DescribeSecret", "secretsmanager:TagResource", "secretsmanager:UntagResource", "kms:ListAliases", // if you need to specify the KMS key "kms:Encrypt", // if you need to specify the KMS key "kms:Decrypt", // if you need to specify the KMS key "kms:DescribeKey" // if you need to specify the KMS key ], "Resource": "*" } ]}
If using a custom KMS key, be sure to add the IAM user or role as a key user.
AWS Parameter Store
Use the following custom policy to grant the minimum permissions required by Infisical to sync secrets to AWS Parameter Store:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSSMAccess", "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameters", "ssm:GetParametersByPath", "ssm:DescribeParameters", "ssm:DeleteParameters", "ssm:ListTagsForResource", // if you need to add tags to secrets "ssm:AddTagsToResource", // if you need to add tags to secrets "ssm:RemoveTagsFromResource", // if you need to add tags to secrets "kms:ListAliases", // if you need to specify the KMS key "kms:Encrypt", // if you need to specify the KMS key "kms:Decrypt", // if you need to specify the KMS key "kms:DescribeKey" // if you need to specify the KMS key ], "Resource": "*" } ]}
If using a custom KMS key, be sure to add the IAM user or role as a key user.
AWS IAM
Use the following custom policy to grant the minimum permissions required by Infisical to rotate secrets to AWS Access Keys:
ListCertificates: Lists all certificates in the account
ImportCertificate: Imports certificates from Infisical into AWS Certificate Manager
DeleteCertificate: Removes certificates that are no longer managed by Infisical
DescribeCertificate: Retrieves certificate details for comparison during sync
ListTagsForCertificate: Retrieves certificate tags for identification
ELB Permissions:
DescribeLoadBalancers: Lists available load balancers for selection
DescribeListeners: Lists HTTPS/TLS listeners on load balancers
DescribeListenerCertificates: Lists certificates attached to listeners
AddListenerCertificates: Attaches certificates to listeners
RemoveListenerCertificates: Removes certificates from listeners
ModifyListener: Sets the default certificate on listeners
AWS Private CA
Use the following custom policy to grant the minimum permissions required by Infisical to issue certificates via AWS Private CA.For a single CA, scope the Resource to that CA’s ARN:
Infisical will use the provided Access Key ID and Secret Key to connect to your AWS instance.
1
Add Required Permissions to the IAM User
Navigate to your IAM user permissions and click Create Inline Policy.Depending on your use case, add one or more of the following policies to your user:
Secret Sync
Secret Rotation
PKI Sync
External CA
AWS Secrets Manager
Use the following custom policy to grant the minimum permissions required by Infisical to sync secrets to AWS Secrets Manager:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSecretsManagerAccess", "Effect": "Allow", "Action": [ "secretsmanager:ListSecrets", "secretsmanager:GetSecretValue", "secretsmanager:BatchGetSecretValue", "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret", "secretsmanager:DeleteSecret", "secretsmanager:DescribeSecret", "secretsmanager:TagResource", "secretsmanager:UntagResource", "kms:ListAliases", // if you need to specify the KMS key "kms:Encrypt", // if you need to specify the KMS key "kms:Decrypt", // if you need to specify the KMS key "kms:DescribeKey" // if you need to specify the KMS key ], "Resource": "*"} ]}
If using a custom KMS key, be sure to add the IAM user or role as a key user.
AWS Parameter Store
Use the following custom policy to grant the minimum permissions required by Infisical to sync secrets to AWS Parameter Store:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "AllowSSMAccess", "Effect": "Allow", "Action": [ "ssm:PutParameter", "ssm:GetParameters", "ssm:GetParametersByPath", "ssm:DescribeParameters", "ssm:DeleteParameters", "ssm:ListTagsForResource", // if you need to add tags to secrets "ssm:AddTagsToResource", // if you need to add tags to secrets "ssm:RemoveTagsFromResource", // if you need to add tags to secrets "kms:ListAliases", // if you need to specify the KMS key "kms:Encrypt", // if you need to specify the KMS key "kms:Decrypt", // if you need to specify the KMS key "kms:DescribeKey" // if you need to specify the KMS key ], "Resource": "*"} ]}
If using a custom KMS key, be sure to add the IAM user or role as a key user.
AWS IAM
Use the following custom policy to grant the minimum permissions required by Infisical to rotate secrets to AWS Access Keys:
ListCertificates: Lists all certificates in the account
ImportCertificate: Imports certificates from Infisical into AWS Certificate Manager
DeleteCertificate: Removes certificates that are no longer managed by Infisical
DescribeCertificate: Retrieves certificate details for comparison during sync
ListTagsForCertificate: Retrieves certificate tags for identification
ELB Permissions:
DescribeLoadBalancers: Lists available load balancers for selection
DescribeListeners: Lists HTTPS/TLS listeners on load balancers
DescribeListenerCertificates: Lists certificates attached to listeners
AddListenerCertificates: Attaches certificates to listeners
RemoveListenerCertificates: Removes certificates from listeners
ModifyListener: Sets the default certificate on listeners
AWS Private CA
Use the following custom policy to grant the minimum permissions required by Infisical to issue certificates via AWS Private CA.For a single CA, scope the Resource to that CA’s ARN: