AWS credentials#
AWS (IAM) credentials#
您可以使用这些凭据来验证以下节点:
- AWS Bedrock Chat Model
- AWS Certificate Manager
- AWS Cognito
- AWS Comprehend
- AWS DynamoDB
- AWS Elastic Load Balancing
- AWS IAM
- AWS Lambda
- AWS Rekognition
- AWS S3
- AWS SES
- AWS SNS
- AWS SNS Trigger
- AWS SQS
- AWS Textract
- AWS Transcribe
- Embeddings AWS Bedrock
Supported authentication methods 支持的身份验证方法#
- API access key
Related resources 相关资源#
请参考 AWS 的身份和访问管理文档 了解有关该服务的更多信息。
Using API access key 使用 API 访问密钥#
要配置此凭据,您需要一个 AWS 账户和:
- 您的 AWS Region 区域
- Access Key ID 访问密钥 ID:创建访问密钥时生成。
- Secret Access Key 秘密访问密钥:创建访问密钥时生成。
要创建访问密钥并设置凭据:
- 在您的 n8n 凭据中,选择您的 AWS Region 区域。
- 登录 IAM 控制台。
- 在右上角的导航栏中,选择您的用户名,然后选择 Security credentials。
- 在 Access keys 部分,选择 Create access key。
- 在 Access key best practices & alternatives 页面上,选择您的用例。如果它没有提示您创建访问密钥,请选择 Other。
- 选择 Next。
- 为访问密钥设置一个 description 标签值以便更容易识别,例如
n8n integration。 - 选择 Create access key。
- 显示 Access Key ID 和 Secret Access Key 并将它们输入到 n8n 中。
- 要使用 Temporary security credential 临时安全凭据,请开启该选项并添加 Session token 会话令牌。请参考 AWS 临时安全凭据文档 了解更多关于使用临时安全凭据的信息。
- 如果您使用 Amazon Virtual Private Cloud (VPC) 来托管 n8n,您可以在您的 VPC 和一些应用之间建立连接。使用 Custom Endpoints 自定义端点 为此连接输入相关的自定义端点。此设置适用于以下应用:
- Rekognition
- Lambda
- SNS
- SES
- SQS
- S3
您还可以通过 AWS CLI 和 AWS API 生成访问密钥。请参考 AWS 管理访问密钥文档 了解使用这些方法生成访问密钥的说明。
AWS (Assume Role) credentials AWS(担任角色)凭据#
您可以使用这些凭据通过 IAM 角色担任来验证以下节点,并增强安全性:
- AWS Certificate Manager
- AWS Cognito
- AWS Comprehend
- AWS DynamoDB
- AWS Elastic Load Balancing
- AWS Rekognition
- AWS S3
- AWS SES
- AWS SQS
- AWS Textract
- AWS Transcribe
Supported authentication methods 支持的身份验证方法#
- Role Assumption 角色担任
Related resources 相关资源#
请参考 AWS 的 IAM 角色文档 和 STS AssumeRole 文档 了解有关角色担任的更多信息。
Understanding AWS Role Assumption 理解 AWS 角色担任#
AWS 角色担任允许您通过临时担任 IAM 角色来安全地访问 AWS 资源,而不是使用长期访问密钥。这遵循 AWS 安全最佳实践并实现:
- Cross-account access 跨账户访问: 访问不同 AWS 账户中的资源
- Enhanced security 增强安全性: 使用自动过期的临时凭据
- Principle of least privilege 最小权限原则: 仅授予特定任务所需的权限
- Audit trail 审计跟踪: 更好地跟踪谁访问了哪些资源
Setting up AWS Assume Role credentials 设置 AWS 担任角色凭据#
要配置此凭据,您需要:
Required Parameters 必需参数#
- Region 区域: 调用 STS 服务以担任角色的 AWS 区域。
- Role ARN 角色 ARN: 您要担任的 IAM 角色的 Amazon Resource Name (ARN)。其格式为
arn:aws:iam::123456789012:role/MyRole。此角色必须具有允许您的凭据担任它的信任策略。 - External ID 外部 ID: 角色信任策略所需的唯一标识符,用于防止"混淆代理"问题。这应该是您生成并在角色信任策略和此凭据中都配置的密钥值。将此值视为敏感信息。不要与您不信任的其他 n8n 用户共享。
- Role Session Name 角色会话名称: 担任角色会话的名称(用于审计)。默认值是
n8n-session。此值出现在 AWS CloudTrail 日志中,因此您可以识别会话。
STS credentials STS 凭据(选择一种方法)#
您有两个选项来提供进行 STS AssumeRole 调用的凭据:
Option 1: Use system credentials 选项 1:使用系统凭据(推荐用于服务器部署)#
如果您的 n8n 服务器通过以下方式配置了 AWS 凭据,请启用此选项:
- 环境变量(
AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN) - EC2 实例配置文件
- ECS 任务角色
- EKS pod 身份
此选项要求您的 n8n 管理员通过将环境变量 N8N_AWS_SYSTEM_CREDENTIALS_ACCESS_ENABLED 设置为 true 来启用系统凭据访问
Option 2: Manual STS Credentials 选项 2:手动 STS 凭据#
如果系统凭据不可用,请手动提供这些:
- STS Access Key ID STS 访问密钥 ID: 具有担任目标角色权限的 IAM 用户或角色的访问密钥 ID。
- STS Secret Access Key STS 秘密访问密钥: 与 STS 访问密钥 ID 对应的秘密访问密钥。
- STS Session Token STS 会话令牌(可选):如果使用临时凭据进行 STS 调用,则为会话令牌。
Optional Parameters 可选参数#
-
Custom Endpoints 自定义端点: 如果使用 Amazon VPC,您可以为 AWS 服务指定自定义端点:
- Rekognition Endpoint Rekognition 端点
- Lambda Endpoint Lambda 端点
- SNS Endpoint SNS 端点
- SES Endpoint SES 端点
- SQS Endpoint SQS 端点
- S3 Endpoint S3 端点
- SSM Endpoint SSM 端点
Setup Steps 设置步骤#
- 在目标 AWS 账户中创建 IAM 角色。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
Security Best Practices 安全最佳实践#
- 为每个凭据使用唯一的外部 ID 以防止未经授权的访问。
- 轮换用于角色担任的 STS 凭据。
- 将最小权限原则应用于担任凭据和目标角色。