권한
권한
Amazon S3 Multi-Region Access Points는 여러 AWS 리전의 Amazon S3 버킷에 대한 데이터 액세스를 단순화할 수 있어요. Multi-Region Access Points는 GetObject와 PutObject 같은 Amazon S3 데이터 액세스 객체 작업을 수행하는 데 쓸 수 있는 명명된 전역 엔드포인트입니다. 각 Multi-Region Access Point는 전역 엔드포인트를 통해 이루어지는 모든 요청에 대해 별도의 권한과 네트워크 제어를 가질 수 있어요.
각 Multi-Region Access Point는 기본 버킷에 연결된 버킷 정책과 함께 작동하는 맞춤형 액세스 정책도 적용할 수 있어요. 계정 간 요청이 성공하려면 다음 정책이 그 작업을 허용해야 합니다.
- Multi-Region Access Point 정책
- 기본 AWS Identity and Access Management(IAM) 정책
- 기본 버킷 정책(요청이 라우팅되는 곳)
참고: 같은 계정의 요청에는 적절한 액세스를 부여하는 기본 IAM 정책만 필요해요.
Multi-Region Access Point 정책을 특정 IAM 사용자나 그룹의 요청만 받아들이도록 구성할 수 있어요. 방법의 예시는 Multi-Region Access Point 정책 예시의 예시 2를 참고하세요. Amazon S3 데이터 액세스를 프라이빗 네트워크로 제한하려면 가상 사설 클라우드(VPC)의 요청만 받아들이도록 Multi-Region Access Point 정책을 구성할 수 있어요.
예를 들어 AWS 계정에서 AppDataReader라는 사용자로 Multi-Region Access Point를 통해 GetObject 요청을 한다고 가정해 보세요. 요청이 거부되지 않도록 하려면 Multi-Region Access Point와 Multi-Region Access Point를 지원하는 각 버킷이 AppDataReader 사용자에게 s3:GetObject 권한을 부여해야 해요. AppDataReader는 이 권한을 부여하지 않은 버킷에서는 데이터를 검색할 수 없습니다.
중요: 버킷에 대한 액세스 제어를 Multi-Region Access Point 정책으로 위임한다고 해서 버킷을 버킷 이름이나 Amazon 리소스 이름(ARN)으로 직접 액세스할 때 버킷의 동작이 바뀌지는 않아요. 버킷에 직접 이루어지는 모든 작업은 계속 이전처럼 작동합니다. Multi-Region Access Point 정책에 포함한 제한 사항은 그 Multi-Region Access Point를 통해 이루어지는 요청에만 적용돼요.
출처: 문서
Multi-Region Access Point에 대한 공용 액세스 관리
Multi-Region Access Points는 각 Multi-Region Access Point에 대한 독립적인 Block Public Access 설정을 지원해요. Multi-Region Access Point를 만들 때 그 Multi-Region Access Point에 적용할 Block Public Access 설정을 지정할 수 있어요.
참고: (자신의 계정의) 이 계정에 대한 Block Public Access 설정 아래나 외부 버킷에 대한 Block Public Access 설정 아래에서 활성화된 모든 Block Public Access 설정은 Multi-Region Access Point의 독립적인 Block Public Access 설정이 비활성화되어 있어도 계속 적용돼요.
Multi-Region Access Point를 통해 이루어지는 모든 요청에 대해 Amazon S3는 다음에 대한 Block Public Access 설정을 평가해요.
- Multi-Region Access Point
- 기본 버킷(외부 버킷 포함)
- Multi-Region Access Point를 소유한 계정
- 기본 버킷을 소유한 계정(외부 계정 포함)
이 설정 중 어느 하나라도 요청을 차단해야 한다고 나타내면 Amazon S3는 그 요청을 거부해요. Amazon S3 Block Public Access 기능에 대한 자세한 내용은 Amazon S3 스토리지에 대한 공용 액세스 차단 문서를 참고하세요.
중요: 기본적으로 모든 Block Public Access 설정은 Multi-Region Access Points에 대해 활성화되어 있어요. Multi-Region Access Point에 적용하고 싶지 않은 설정은 명시적으로 꺼야 합니다. Multi-Region Access Point를 만든 뒤에는 Block Public Access 설정을 바꿀 수 없어요.
Multi-Region Access Point에 대한 Block Public Access 설정 보기
- AWS Management Console에 로그인하고 Amazon S3 콘솔을 엽니다. (https://console.aws.amazon.com/s3/)
- 왼쪽 탐색 창에서 Multi-Region Access Points를 선택해요.
- 검토하려는 Multi-Region Access Point의 이름을 선택해요.
- 권한(Permissions) 탭을 선택해요.
- 이 Multi-Region Access Point에 대한 Block Public Access 설정 아래에서 Multi-Region Access Point의 Block Public Access 설정을 검토해요.
- 참고: Multi-Region Access Point를 만든 뒤에는 Block Public Access 설정을 편집할 수 없어요. 따라서 공용 액세스를 차단할 것이라면 Multi-Region Access Point를 만들기 전에 애플리케이션이 공용 액세스 없이도 올바르게 작동하는지 확인해야 합니다.
Multi-Region Access Point 정책 사용
다음 예시 Multi-Region Access Point 정책은 IAM 사용자에게 Multi-Region Access Point에서 파일을 나열하고 다운로드할 액세스를 부여해요. 이 예시 정책을 쓰려면 user input placeholders를 자신의 정보로 바꾸세요.
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Principal":{
"AWS":"arn:aws:iam::123456789012:user/JohnDoe"
},
"Action":[
"s3:ListBucket",
"s3:GetObject"
],
"Resource":[
"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
]
}
]
}
AWS Command Line Interface(AWS CLI)로 Multi-Region Access Point 정책을 지정된 Multi-Region Access Point와 연결하려면 다음 put-multi-region-access-point-policy 명령을 사용해요. 이 예시 명령을 쓰려면 user input placeholders를 자신의 정보로 바꾸세요. 각 Multi-Region Access Point는 정책을 하나만 가질 수 있으므로 put-multi-region-access-point-policy 작업에 대한 요청은 지정된 Multi-Region Access Point와 연결된 기존 정책을 대체합니다.
aws s3control put-multi-region-access-point-policy --account-id 111122223333 --details {"Name": "amzn-s3-demo-bucket-MultiRegionAccessPoint", "Policy": "{\"Version\": \"2012-10-17\", \"Statement\":{\"Effect\": \"Allow\", \"Principal\":{\"AWS\": \"arn:aws:iam::111122223333:root\" }, \"Action\": [\"s3:ListBucket\", \"s3:GetObject\"], \"Resource\": [ \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias\", \"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*\" ] } }"}
이전 작업의 결과를 쿼리하려면 다음 명령을 사용해요.
aws s3control describe-multi-region-access-point-operation --account-id 111122223333 --request-token-arn requestArn
Multi-Region Access Point 정책을 검색하려면 다음 명령을 사용해요.
aws s3control get-multi-region-access-point-policy --account-id 111122223333 --name=amzn-s3-demo-bucket-MultiRegionAccessPoint
Multi-Region Access Point 정책 편집
Multi-Region Access Point 정책(JSON으로 작성)은 이 Multi-Region Access Point와 함께 사용되는 Amazon S3 버킷에 대한 스토리지 액세스를 제공해요. 특정 보안 주체가 Multi-Region Access Point에서 다양한 작업을 수행하는 것을 허용하거나 거부할 수 있어요. 요청이 Multi-Region Access Point를 통해 버킷으로 라우팅될 때는 Multi-Region Access Point와 버킷의 액세스 정책이 모두 적용됩니다. 더 제한적인 액세스 정책이 항상 우선해요.
참고: 버킷에 다른 계정이 소유한 객체가 들어 있다면 Multi-Region Access Point 정책은 다른 AWS 계정이 소유한 객체에는 적용되지 않아요.
Multi-Region Access Point 정책을 적용한 뒤에는 정책을 삭제할 수 없어요. 정책을 편집하거나 기존 정책을 덮어쓰는 새 정책을 만들 수 있습니다.
Multi-Region Access Point 정책 편집
- AWS Management Console에 로그인하고 Amazon S3 콘솔을 엽니다. (https://console.aws.amazon.com/s3/)
- 왼쪽 탐색 창에서 Multi-Region Access Points를 선택해요.
- 정책을 편집할 Multi-Region Access Point의 이름을 선택해요.
- 권한(Permissions) 탭을 선택해요.
- Multi-Region Access Point 정책 섹션까지 아래로 스크롤해요. 정책(JSON)을 갱신하려면 **편집(Edit)**을 선택해요. Multi-Region Access Point 정책 편집 페이지가 나타납니다. 정책을 텍스트 필드에 직접 입력하거나 **문장 추가(Add statement)**를 선택해 드롭다운 목록에서 정책 요소를 선택할 수 있어요.
- 참고: 콘솔은 정책에 사용할 수 있는 Multi-Region Access Point Amazon 리소스 이름(ARN)을 자동으로 표시해요. 예시 Multi-Region Access Point 정책은 Multi-Region Access Point 정책 예시 문서를 참고하세요.
Multi-Region Access Point 정책 예시
Amazon S3 Multi-Region Access Points는 AWS Identity and Access Management(IAM) 리소스 정책을 지원해요. 이 정책을 사용해 리소스, 사용자, 기타 조건별로 Multi-Region Access Point 사용을 제어할 수 있어요. 애플리케이션이나 사용자가 Multi-Region Access Point를 통해 객체에 액세스하려면 Multi-Region Access Point와 기본 버킷이 모두 같은 액세스를 허용해야 해요.
Multi-Region Access Point와 기본 버킷 양쪽에 같은 액세스를 허용하려면 다음 중 하나를 수행해요.
- (권장) Amazon S3 Multi-Region Access Point를 사용할 때 액세스 제어를 단순화하려면 Amazon S3 버킷에 대한 액세스 제어를 Multi-Region Access Point로 위임해요. 방법의 예시는 이 섹션의 예시 1을 참고하세요.
- Multi-Region Access Point 정책에 포함된 것과 같은 권한을 기본 버킷 정책에 추가해요.
중요: 버킷에 대한 액세스 제어를 Multi-Region Access Point 정책으로 위임한다고 해서 버킷을 버킷 이름이나 ARN으로 직접 액세스할 때 버킷의 동작이 바뀌지는 않아요. 버킷에 직접 이루어지는 모든 작업은 계속 이전처럼 작동합니다. Multi-Region Access Point 정책에 포함한 제한 사항은 그 Multi-Region Access Point를 통해 이루어지는 요청에만 적용돼요.
예시 1 – 버킷 정책에서 특정 Multi-Region Access Points로 액세스 위임(같은 계정 또는 계정 간)
다음 예시 버킷 정책은 특정 Multi-Region Access Point에 버킷 전체 액세스를 부여해요. 즉 이 버킷에 대한 모든 액세스는 Multi-Region Access Point에 연결된 정책으로 제어됩니다. 버킷에 대한 직접 액세스가 필요하지 않은 모든 사용 사례에서는 버킷을 이렇게 구성하는 걸 권장해요. 이 버킷 정책 구조는 같은 계정이나 다른 계정의 Multi-Region Access Points에 사용할 수 있어요.
{
"Version":"2012-10-17",
"Statement" : [
{
"Effect": "Allow",
"Principal" :{
"AWS": "*" },
"Action" : "*",
"Resource" : [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*"],
"Condition":{
"StringEquals" :{
"s3:DataAccessPointArn" : "arn:aws:s3::111122223333:accesspoint/example-multi-region-access-point" }
}
}]
}
참고: 액세스를 부여하는 Multi-Region Access Points가 여러 개라면 각 Multi-Region Access Point를 나열해야 해요.
예시 2 – Multi-Region Access Point 정책에서 계정에 Multi-Region Access Point 액세스 부여
다음 Multi-Region Access Point 정책은 계정 123456789012에 MultiRegionAccessPoint_ARN이 정의한 Multi-Region Access Point에 포함된 객체를 나열하고 읽을 권한을 부여해요.
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal":{
"AWS": "arn:aws:iam::111122223333:user/JohnDoe"
},
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias",
"arn:aws:s3::111122223333:accesspoint/MultiRegionAccessPoint_alias/object/*"
]
}
]
}
예시 3 – 버킷 나열을 허용하는 Multi-Region Access Point 정책
다음 Multi-Region Access Point 정책은 계정 123456789012에 MultiRegionAccessPoint_ARN이 정의한 Multi-Region Access Point에 포함된 객체를 나열할 권한을 부여해요.
출처: 문서