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는 뭘 해도 상관 없는 것 같다.
Statement의 Sid 역시 뭘 해도 상관 없는 듯 하다.
이 둘은 정책 생성기를 통해서 먼저 자동으로 생성하고 나머지를 수정하는 게 좋을 것 같다.
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
'AWS' 카테고리의 다른 글
AWS EC2를 이용해서 백엔드 api 서버 만들기 (0) | 2020.12.23 |
---|---|
AWS EC2에 MySQL, NodeJS 설치하기 (0) | 2020.12.23 |
웹 앱에서 AWS S3에 파일 올리는 방법 (0) | 2020.12.14 |
AWS EC2 인스턴스를 생성하고 원격으로 접속하는 방법 (0) | 2020.11.28 |
AWS S3 사용 방법 (0) | 2020.05.13 |