Amazon 리소스 이름(ARN)은 AWS 리소스를 고유하게 식별합니다. IAM 정책, Amazon Relational Database Service(RDS) 태그 및 API 호출과 같은 모든 AWS에서 리소스를 명료하게 지정해야 하는 경우 ARN이 필요합니다. ARN은 식별 정보와 마찬가지로 신중하게 사용하고 공유해야 하지만 비밀 정보, 민감한 정보 또는 기밀 정보로 간주되지 않습니다.
ARN 형식
다음은 ARN의 일반적인 형식입니다. 구체적인 형식은 리소스에 따라 다릅니다. ARN을 사용하려면 기울임꼴
텍스트를 리소스별 정보로 바꿉니다. 일부 리소스의 ARN에서는 리전, 계정 ID 또는 리전과 계정 ID가 모두 생략됩니다.
arn:
partition
:service
:region
:account-id
:resource-id
arn:partition
:service
:region
:account-id
:resource-type
/resource-id
arn:partition
:service
:region
:account-id
:resource-type
:resource-id
partition
-
리소스가 있는 파티션입니다. 파티션은 AWS 리전의 그룹입니다. 각 AWS 계정은 하나의 파티션으로 범위가 지정됩니다.
지원되는 파티션은 다음과 같습니다.
-
aws
- AWS 리전 -
aws-cn
- 중국 리전 -
aws-us-gov
- AWS GovCloud (US) 리전
-
service
-
AWS 제품을 식별하는 서비스 네임스페이스입니다.
region
-
리전 코드. 예를 들어 미국 동부(오하이오)의 경우
us-east-2
입니다. 리전 코드 목록은 AWS 일반 참조의 리전 엔드포인트를 참조하세요. account-id
-
리소스를 소유한 AWS 계정의 ID(하이픈 없음)입니다. 예:
123456789012
. resource-type
-
리소스 유형. Virtual Private Cloud(VPC)의
vpc
를 예로 들 수 있습니다. resource-id
-
리소스 식별자입니다. 리소스의 이름, 리소스의 ID 또는 리소스 경로입니다. 일부 리소스 식별자에는 상위 리소스(sub-resource-type/parent-resource/sub-resource) 또는 버전과 같은 식별자(resource-type:resource-name:qualifier)를 포함할 수 있습니다.
예시
- IAM 사용자
-
arn:aws:iam::
123456789012
:user/johndoe
- SNS 주제
-
arn:aws:sns:
us-east-1
:123456789012
:example-sns-topic-name
- VPC
-
arn:aws:ec2:
us-east-1
:123456789012
:vpc/vpc-0e9801d129EXAMPLE
리소스의 ARN 형식 조회
ARN의 정확한 형식은 서비스 및 리소스 유형에 따라 달라집니다. 일부 리소스 ARN에는 경로, 변수 또는 와일드카드가 포함될 수 있습니다. 특정 AWS 리소스의 ARN 형식을 조회하려면 서비스 승인 참조를 열고 해당 서비스의 페이지를 연 다음 리소스 유형 테이블로 이동합니다.
ARN의 경로
리소스 ARN에 경로를 포함할 수 있습니다. 예를 들어, Amazon S3에서 리소스 식별자는 슬래시(/
)을 포함하여 경로를 구성할 수 있는 객체 이름입니다. 마찬가지로, IAM 사용자 이름과 그룹 이름에 경로를 포함할 수 있습니다. IAM 경로에는 영숫자와 슬래시(/
), 더하기(+
), 등호(=
), 쉼표(,
), 마침표(.
), @(@
), 밑줄 표시(_
), 하이픈(-
) 문자만 사용할 수 있습니다.
경로에서 와일드카드 사용
경로에는 와일드카드 문자 즉, 별표(*
)를 포함할 수 있습니다. 일부 정책 요소는 와일드카드를 허용하지만 허용하지 않는 요소도 있습니다. Resource 또는 NotResource 요소에 와일드카드를 사용할 수 있지만 Principal 또는 NotPrincipal 요소에는 와일드카드를 사용할 수 없습니다. 자세한 내용은 IAM JSON 정책 참조 단원을 참조하십시오.
다음 예제와 같이 계정 123456789012의 모든 역할을 의미하도록 role/*
을 지정할 수 있습니다.
arn:aws:iam::123456789012:role/*
리소스 이름 끝에 와일드카드를 사용할 수도 있습니다. 예를 들어, service
로 시작하고 service-role1
또는 service-test
와 같은 다른 문자로 시작하고 끝나는 모든 역할을 의미하도록 service-*
를 지정할 수 있습니다
arn:aws:iam::123456789012:role/service-*
다음 예제에서는 리소스 이름에 경로를 포함하는 Amazon S3 버킷의 객체에 대한 ARN을 보여줍니다. ARN arn:aws:s3:::amzn-s3-demo-bucket/*
은 접두사와 무관하게 해당 버킷 내의 모든 객체에 적용됩니다. ARN arn:aws:s3:::amzn-s3-demo-bucket/
는 Development
/*/Development/
접두사 내에서 생성된 모든 객체에 적용됩니다.
?
와일드카드 문자를 사용하여 ARN에 문자 하나를 지정할 수도 있습니다. 예를 들어, amzn-s3-demo-bucket이라는 S3 버킷에서 4개 문자로 시작하고 -test
로 끝나는 모든 폴더에 다음 ARN을 사용할 수 있습니다. 이 폴더와 일치하는 일부 폴더로는 1234-test
, 2024-test
또는 a100-test
가 있습니다.
arn:aws:s3:::amzn-s3-demo-bucket/????-test
콜론(:
)으로 구분된 ARN의 여러 섹션에서 와일드카드를 사용할 수도 있습니다. 다음 예제에서는 2개의 와일드카드를 사용하여 모든 Amazon Q 애플리케이션과 계정 123456789012의 모든 리전에 있는 애플리케이션 내의 리소스를 일치시킵니다.
arn:aws:qbusiness:*
:123456789012:*
마찬가지로 다음 예제는 계정 123456789012의 모든 리전에 있는 모든 Amazon VPC와 일치합니다.
arn:aws:ec2:*
:123456789012:vpc/*
다음 예제는 계정 123456789012의 모든 리전에 있는 모든 Amazon EBS 볼륨과 일치합니다.
arn:aws:ec2:*
:123456789012:volume/*
ARN 내 와일드카드 사용 관련 제한 사항
리소스 유형을 지정하는 ARN 부분에 와일드카드를 사용할 수 없습니다. 리소스 유형 내에 와일드카드가 있는 다음 예제 ARN은 유효하지 않습니다.
arn:aws:lambda:us-east-2:123456789012:functi*
:my-function <== not allowed
접두사 ARN에는 와일드카드를 사용할 수 없고, ARN의 파티션 섹션에는 와일드카드를 사용할 수 없습니다.
arn:aws:redshift:us-east-1:123456789012:?
<== not allowed