ARN이란 무엇인가
This chapter has been archived and is no longer updated. View the current version of the guide.
ARN이란 무엇인가
IAM에서 중요한 개념 중 하나가 ARN입니다.
공식 정의는 다음과 같습니다.
Amazon Resource Names(ARN)는 AWS 리소스를 고유하게 식별합니다. IAM 정책, Amazon Relational Database Service(Amazon RDS) 태그, API 호출과 같이 AWS 전반에서 리소스를 명확하게 지정해야 할 때 ARN이 필요합니다.
ARN은 단순히 개별 AWS 리소스에 대한 전역 고유 식별자입니다. 다음 형식 중 하나를 따릅니다.
arn:partition:service:region:account-id:resource
arn:partition:service:region:account-id:resourcetype/resource
arn:partition:service:region:account-id:resourcetype:resource
ARN의 몇 가지 예제를 살펴보겠습니다. 사용된 다양한 형식을 주목하세요.
<!-- Elastic Beanstalk 애플리케이션 버전 -->
arn:aws:elasticbeanstalk:us-east-1:123456789012:environment/My App/MyEnvironment
<!-- IAM 사용자 이름 -->
arn:aws:iam::123456789012:user/David
<!-- 태깅에 사용된 Amazon RDS 인스턴스 -->
arn:aws:rds:eu-west-1:123456789012:db:mysql-db
<!-- Amazon S3 버킷 내 객체 -->
arn:aws:s3:::my_corporate_bucket/exampleobject.png
마지막으로 ARN의 일반적인 사용 사례를 살펴보겠습니다.
-
통신
여러 AWS 리소스를 포함하는 시스템을 조정할 때 특정 리소스를 참조하기 위해 ARN이 사용됩니다. 예를 들어, API Gateway가 RESTful API를 수신하고 API 경로와 요청 메서드에 따라 해당 Lambda 함수를 호출하는 경우 라우팅은 다음과 같습니다.
GET /hello_world => arn:aws:lambda:us-east-1:123456789012:function:lambda-hello-world
-
IAM 정책
이전 장에서 자세히 살펴보았지만, 여기 정책 정의 예제가 있습니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::Hello-bucket/*" } }
ARN은 액세스 권한이 부여된 리소스(이 경우 S3 버킷)를 정의하는 데 사용됩니다. 여기서 와일드카드
*
문자는 Hello-bucket 내의 모든 리소스와 일치하도록 사용됩니다.
다음으로, AWS AppSync에 대해 더 알아볼 수 있습니다.
For help and discussion
Comments on this chapter