본문 바로가기

AWS

AWS S3 시작하기 - 버킷 생성, 접근 권한 설정

S3로 할 수 있는 것에 대해 정리하기 앞서 버킷을 만드는 방법에 대해서 설명한다.

S3의 버킷을 만드는 방법은 간단하다.

S3 서비스로 들어가서 버킷 만들기 버튼을 클릭하면 된다.

s3.console.aws.amazon.com/s3/home?region=ap-northeast-2

 

(S3 버킷을 만드는 방법은 아래 매뉴얼을 참고하자.)

docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html

 

버킷 이름에 고유한 이름과 Region을 서울로 설정한다.

다음 링크를 참고해서 어떤 형식으로 이름을 작성할지 참고하자.

docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules

 

퍼블릭 액세스 차단이 기본적으로 체크돼 있다.

이를 전부 해제해야 올린 파일에 public으로 접근할 수 있다.

(4가지 항목에 무슨 차이가 있는지는 모르겠다.)

 

나머지는 그대로 두고 버킷 만들기 버튼을 클릭해 버튼을 생성한다.

 

버킷에 올린 파일에 모든 사람이 url로 접근할 수 있도록 설정하기

생성한 버킷에 들어가서 권한 탭을 클릭한다.

먼저 퍼블릭 액세스 차단을 모두 해제 한다.

 

 

그리고 버킷 정책의 편집 버튼을 클릭한다.

여기서 JSON 형식의 값을 넣어 버킷에 대한 권한을 설정할 수 있다.

정책 생성기를 이용해서 자동으로 JSON을 생성할 수도 있다.

여기서 기술하는 예제를 보고 작성하든 정책 생성기를 이용하든 해서 편집해보자.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::s3-exercise/*"
        }
    ]
}

Version은 건드리지 말고 Id는 뭘 해도 상관 없는 것 같다.

StatementSid 역시 뭘 해도 상관 없는 듯 하다.

이 둘은 정책 생성기를 통해서 먼저 자동으로 생성하고 나머지를 수정하는 게 좋을 것 같다.

 

Effect는 Allow로 둬야 적용한다는 의미다.

Principal은 버킷에 접근하는 대상을 의미한다.

*로 두면 모든 사람을 대상으로 한다.

Action은 무엇을 접근 허용할 것인지 정한다.

위처럼 s3:GetObject라 하면 url 등을 통해서 파일(객체)을 get 할 수 있다.

다른 Action에 대해서 알고 싶다면 다음 링크를 참고하자.

docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html

Resource는 적용할 버킷이나 파일을 가리킨다.

위 예제는 s3-excercise라는 버킷이 있다고 할 때 Resource 설정을 어떻게 하는지 보여준다.

 

자세한 내용은 아래 매뉴얼을 참고하자.

docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html