카테고리 없음

🏷️ AWS ARN이란? 리소스를 유일하게 식별하는 이름의 정체

idea9329 2025. 4. 3. 12:47
반응형

 

AWS에서 IAM 정책을 작성하거나 Lambda, S3, SNS 등 리소스를 참조할 때,
항상 등장하는 ARN — 도대체 이건 뭘까요?


✅ ARN이란 무엇인가요?

ARN (Amazon Resource Name)
AWS 리소스를 유일하게 식별할 수 있는 표준 이름 체계입니다.

쉽게 말하면,

"AWS에서 무언가를 정확하게 가리키는 주소"라고 생각하시면 됩니다.


🧩 ARN 구조 (형식)

ARN은 다음과 같은 구조로 되어 있어요:

arn:partition:service:region:account-id:resource

예시:

arn:aws:s3:::my-bucket
arn:aws:iam::123456789012:user/john
arn:aws:lambda:us-east-1:123456789012:function:MyFunction

구성 요소설명

arn 항상 arn 으로 시작
partition aws, aws-cn, aws-us-gov 
service s3, ec2, lambda, iam 등 AWS 서비스 이름
region us-east-1, ap-northeast-2 등 리전 (리전이 없는 서비스도 있음)
account-id AWS 계정 ID (12자리 숫자)
resource 서비스별 리소스 이름 또는 경로

📦 서비스별 ARN 예시 모음

서비스ARN 예시

S3 버킷 arn:aws:s3:::my-bucket
S3 객체 arn:aws:s3:::my-bucket/my-file.txt
Lambda 함수 arn:aws:lambda:us-west-2:123456789012:function:MyFunc
IAM 사용자 arn:aws:iam::123456789012:user/john
DynamoDB 테이블 arn:aws:dynamodb:us-west-2:123456789012:table/MyTable
SNS 토픽 arn:aws:sns:us-east-1:123456789012:MyTopic

🔐 왜 ARN이 중요할까요?

  • IAM 정책에서 리소스를 지정할 때 사용
  • { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket/*" }
  • Lambda 함수 호출, EventBridge 대상 설정 등에서도 필수
  • AWS 리소스 간 접근 권한을 설정할 때 꼭 필요

🧠 ARN 팁 & 주의사항

  • 리전이 없는 서비스도 있음 (예: IAM은 region이 비어 있음)
  • S3 객체 접근 정책에서는 /*로 경로를 포함해야 전체 파일 지정 가능
  • 일부 서비스는 리소스에 슬래시(/) 대신 콜론(:)을 사용함

✅ 마무리 요약

항목설명

이름 ARN (Amazon Resource Name)
기능 AWS 리소스를 유일하게 식별
사용처 IAM 정책, Lambda, S3, SNS 등 거의 모든 서비스
형식 arn:partition:service:region:account-id:resource



반응형