Amazon Web Services

[AWS]S3 버킷 정책 만들기

  • -
반응형

회사에서 AWS의 S3 서비스를 사용해볼 일이 생겼습니다.

S3 특정 버킷에 액세스 권한을 줘야하는 일이 생겼고, 구글링하면서 어찌저찌 하다보니 성공했네요..

나중에라도 써먹을 때 까먹지 않으려고 포스팅을 남깁니다.


1) 버킷 정책을 만들고자 하는 버킷을 클릭

 

2) 메뉴 중 권한 탭을 클릭하면 버킷 정책이 보인다.

 

3) 이 곳에 버킷 정책을 작성하면 된다. 아래로 스크롤을 내리면 정책 생성기가 있다.

 

4) 버킷 정책 만들기

  • Select Type of Policy : 정책 타입
  • Effect : 버킷에 대한 명령을 허용(Allow)할 것인지 거부(Deny)할 것인지에 대한 옵션
  • Principal : 특정 사용자에 대해 권한을 제어하고 싶다면 입력한다. (전체 : * / 특정 사용자 : arn:aws:iam:AWS-account-ID:user/IAMID)
  • AWS-account-ID : aws 계정 / IAMID : aws 계정 속 IAMID
  • AWS Service : Step 1에서 정책 타입 선택시 자동 지정 되는 서비스
  • Actions : 버킷에 대해 어떤 작업을 허용(또는 거부)할 것인지 선택하는 옵션
  • Amazon Resource Name(ARN) : 접근 권한을 주고자하는 버킷을 입력한다. (입력 포맷 : arn:aws:s3:::버킷명/*)

 

5) 모든 입력을 마친 후 아래 Add Statement - Generate Policy를 클릭한다.

*Principal에 여러 사용자를 두고 싶다면 아래와 같이 등록하면 된다.

{
    "Version": "2012-10-17",
    "Id": "",
    "Statement": [
        {
            "Sid": "",
            "Effect": "Deny",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::AWS-Account-ID:user/IAMID1",
                    "arn:aws:iam::AWS-Account-ID:user/IAMID2"
                ]
            },
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::test1/*"
        }
    ]
}

 

6) 만들어진 정책을 3) 정책 칸에 붙여넣는다.

 

7) 이제 해당 IAM계정으로 로그인 후 버킷에 접근해보면 버킷내 모든 파일에 대한 액세스 접근 제한을 확인할 수 있다.

 

 

참고

https://real-dongsoo7.tistory.com/101

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/amazon-s3-policy-keys.html

https://aws.amazon.com/ko/premiumsupport/knowledge-center/s3-invalid-principal-in-policy-error/


+피드백은 언제나 환영입니다 :)

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.