다른 유저에게 S3 접근권한을 부여하는 방법에 대해 알아보자.
예를 들어 S3로 데이터를 관리하는 다른 부서나 외부 고객으로 부터 데이터 분석의뢰를 받았을 경우
상대방의 S3에 접근권한이 필요하다. 반대로 상대방쪽에서 우리쪽 S3로 접근할 경우도 마찬가지이다.
그럼, 편의를 위해 S3소유자를 UserA, 접근 권한을 부여 받는 쪽을 UserB라고 하자.
권한부여 방법
1. IAM유저 공유
UserA쪽에서 UserB용도의 IAM유저를 생성해서 S3 ReadOnly권한을 부여
IAM유저의 AccessKeyID와 SecurityAccessKey를 UserB에게 공유
UserB는 aws cli로 aws configure설정
$ aws configure
AWS Access Key ID [****************]: AAAAAAAAAAAAAAA
AWS Secret Access Key [****************73vT]: BBBBBBBBBBBBBBBBBBBBBBBBB
Default region name [ap-northeast-1]:
Default output format [json]:
2. 버켓 정책(Bucket Policy) 허가
UserA의 버켓정책을 아래와 같이 설정
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AAAAAAAAAAA",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::[UserB-Role]"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::bucket-name/*",
"arn:aws:s3:::bucket-name"
]
}
]
}
※ 주의사항
2번의 버켓 정책 허가로 S3에 권한을 부여할 경우 UserA가 아닌 제삼자가 소유자인 오브젝트에 대해서는 UserB는
접근권한이 없다. 상세 내용은 아래 참고URL참조
<참고URL>
#버켓정책허가
http://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html
#엑세스 정책
http://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-alternatives-guidelines.html
'AWS' 카테고리의 다른 글
Athena Partition추가 스크립트 (0) | 2017.12.27 |
---|