AWS 자격 증명
n8n v2.29이 자격 증명을 사용하면 다음 노드를 인증할 수 있습니다: 이 서비스에 대한 자세한 내용은 AWS의 Identity and Access Management 문서를 참조하세요. 이 자격 증명을 구성하려면 AWS 계정과 다음이 필요합니다:
AWS (IAM) 자격 증명#
이 자격 증명을 사용하면 다음 노드를 인증할 수 있습니다:
- 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
지원되는 인증 방법#
- API 액세스 키
관련 자료#
이 서비스에 대한 자세한 내용은 AWS의 Identity and Access Management 문서를 참조하세요.
API 액세스 키 사용#
이 자격 증명을 구성하려면 AWS 계정과 다음이 필요합니다:
- AWS 리전(Region)
- 액세스 키 ID(Access Key ID): 액세스 키를 생성할 때 함께 생성됩니다.
- 시크릿 액세스 키(Secret Access Key): 액세스 키를 생성할 때 함께 생성됩니다.
액세스 키를 생성하고 자격 증명을 설정하려면:
- n8n 자격 증명에서 AWS 리전을 선택합니다.
- IAM 콘솔에 로그인합니다.
- 오른쪽 상단 내비게이션 바에서 사용자 이름을 선택한 다음 **보안 자격 증명(Security credentials)**을 선택합니다.
- 액세스 키(Access keys) 섹션에서 **액세스 키 생성(Create access key)**을 선택합니다.
- 액세스 키 모범 사례 및 대안(Access key best practices & alternatives) 페이지에서 사용 사례를 선택합니다. 액세스 키 생성을 안내하는 메시지가 없다면 **기타(Other)**를 선택합니다.
- **다음(Next)**을 선택합니다.
- 액세스 키를 더 쉽게 식별할 수 있도록 description 태그 값을 설정합니다. 예:
n8n integration. - **액세스 키 생성(Create access key)**을 선택합니다.
- 액세스 키 ID와 시크릿 액세스 키를 확인하고 n8n에 입력합니다.
- **임시 보안 자격 증명(Temporary security credential)**을 사용하려면 해당 옵션을 켜고 **세션 토큰(Session token)**을 추가합니다. 임시 보안 자격 증명 사용에 대한 자세한 내용은 AWS 임시 보안 자격 증명 문서를 참조하세요.
- n8n을 호스팅하는 데 Amazon Virtual Private Cloud(VPC)를 사용하는 경우, VPC와 일부 앱 사이에 연결을 설정할 수 있습니다. 이 연결에 관련된 커스텀 엔드포인트를 입력하려면 Custom Endpoints를 사용하세요. 이 설정은 다음 앱에서 작동합니다:
- Rekognition
- Lambda
- SNS
- SES
- SQS
- S3
AWS CLI 및 AWS API를 통해서도 액세스 키를 생성할 수 있습니다. 이러한 방법을 사용해 액세스 키를 생성하는 방법은 AWS 액세스 키 관리 문서를 참조하세요.
AWS (Assume Role) 자격 증명#
이 자격 증명을 사용하면 IAM 역할 위임(role assumption)을 통해 강화된 보안으로 다음 노드를 인증할 수 있습니다:
- AWS Bedrock Chat Model
- 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
- Embeddings AWS Bedrock
지원되는 인증 방법#
- 역할 위임(Role Assumption)
관련 자료#
역할 위임에 대한 자세한 내용은 AWS의 IAM Role 문서와 STS AssumeRole 문서를 참조하세요.
AWS 역할 위임 이해하기#
AWS 역할 위임(Role Assumption)을 사용하면 장기간 유효한 액세스 키를 사용하는 대신 IAM 역할을 일시적으로 위임받아 AWS 리소스에 안전하게 접근할 수 있습니다. 이는 AWS 보안 모범 사례를 따르며 다음을 지원합니다:
- 교차 계정 액세스(Cross-account access): 서로 다른 AWS 계정의 리소스에 접근
- 강화된 보안(Enhanced security): 자동으로 만료되는 임시 자격 증명 사용
- 최소 권한 원칙(Principle of least privilege): 특정 작업에 필요한 권한만 부여
- 감사 추적(Audit trail): 누가 어떤 리소스에 접근했는지 더 잘 추적 가능
AWS Assume Role 자격 증명 설정#
이 자격 증명을 구성하려면 다음이 필요합니다:
필수 매개변수#
- Region(리전): 역할을 위임받기 위해 STS 서비스를 호출할 AWS 리전입니다.
- Role ARN(역할 ARN): 위임받으려는 IAM 역할의 ARN(Amazon Resource Name)입니다.
arn:aws:iam::123456789012:role/MyRole형식입니다. 이 역할에는 사용자의 자격 증명이 이를 위임받을 수 있도록 허용하는 신뢰 정책(trust policy)이 있어야 합니다. - External ID(외부 ID): "혼란스러운 대리인(confused deputy)" 문제를 방지하기 위해 역할의 신뢰 정책에서 요구하는 고유 식별자입니다. 사용자가 직접 생성하여 역할의 신뢰 정책과 이 자격 증명 양쪽에 동일하게 설정해야 하는 비밀 값이어야 합니다. 이 값은 민감 정보로 취급하세요. 신뢰하지 않는 다른 n8n 사용자와 공유하지 마세요.
- Role Session Name(역할 세션 이름): 위임받은 역할 세션에 대한 이름입니다(감사 목적으로 사용). 기본값은
n8n-session입니다. 이 값은 AWS CloudTrail 로그에 표시되어 세션을 식별할 수 있게 해줍니다.
STS 자격 증명 (방법 하나 선택)#
STS AssumeRole 호출을 하기 위한 자격 증명을 제공하는 방법은 두 가지입니다:
Option 1: Use system credentials (recommended for server deployments)#
n8n 서버에 다음 중 하나를 통해 AWS 자격 증명이 구성되어 있는 경우 이 옵션을 활성화하세요:
- 환경 변수 (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_SESSION_TOKEN) - EC2 인스턴스 프로필
- ECS 태스크 역할
- EKS 파드 아이덴티티
이 옵션을 사용하려면 n8n 관리자가 환경 변수 N8N_AWS_SYSTEM_CREDENTIALS_ACCESS_ENABLED를 true로 설정하여 시스템 자격 증명 액세스를 활성화해야 합니다.
Option 2: Manual STS Credentials#
시스템 자격 증명을 사용할 수 없는 경우, 다음을 직접 제공하세요:
- STS Access Key ID: 대상 역할을 위임받을 권한이 있는 IAM 사용자 또는 역할의 액세스 키 ID입니다.
- STS Secret Access Key: STS 액세스 키 ID에 해당하는 시크릿 액세스 키입니다.
- STS Session Token(선택 사항): STS 호출에 임시 자격 증명을 사용하는 경우의 세션 토큰입니다.
선택 매개변수#
-
Custom Endpoints: Amazon VPC를 사용하는 경우, AWS 서비스에 대한 커스텀 엔드포인트를 지정할 수 있습니다:
- Rekognition Endpoint
- Lambda Endpoint
- SNS Endpoint
- SES Endpoint
- SQS Endpoint
- S3 Endpoint
- SSM Endpoint
설정 단계#
-
대상 AWS 계정에 IAM 역할을 생성합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::SOURCE-ACCOUNT:root" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "your-unique-external-id" } } } ] } -
n8n에서 자격 증명을 구성합니다.
- AWS **리전(Region)**을 선택합니다
- 생성한 역할의 Role ARN을 입력합니다
- 고유한 External ID를 설정합니다(신뢰 정책에 설정한 값과 동일해야 함)
- STS 자격 증명 방법을 선택합니다
- Role Session Name을 입력합니다(또는 기본값 사용)
-
내장 테스트 기능을 사용해 자격 증명을 테스트하여 역할 위임이 정상적으로 작동하는지 확인합니다.
보안 모범 사례#
- 무단 액세스를 방지하기 위해 각 자격 증명마다 고유한 External ID를 사용하세요.
- 역할 위임에 사용하는 STS 자격 증명을 정기적으로 교체(rotate)하세요.
- 위임하는 자격 증명과 대상 역할 모두에 최소 권한 원칙을 적용하세요.