S3에서 권한 제어 하는 법
- ACL (Access Control List) : 객체마다 ACL 지정 가능, 주로 간단한 제어에 사용
- Buket Policy : IAM Policy와 유사한 문법. ACL보다 복잡하고 세부적으로 지정 가능
- IAM을 이용한 제어: IAM 사용자에게 버킷 접근 권한을 주기 위해 사용
- PresignedURL: URL을 이용해 임시 권한을 부여하는 기능
파일 public으로 만들어 보기
객체는 모두 고유의 URL을 가지고 있습니다.
객체 URL을 사용해서 파일에 접근할 수 있지만, 현재는 객체가 퍼블릭 하지 않기 때문에 URL로 파일에 접근하지 못합니다.
(접근 시도시 아래와 같은 화면이 나옵니다.)
객체를 퍼블릭하게 만들어 URL로 객체에 접근하고 싶다면, 객체의 접근 권한을 설정해야 합니다.
기본 권한은 아래의 화면과 같이, 버킷 및 객체가 public으로 설정하지 못하도록 되어있습니다.
버킷 퍼블릭으로 변경하기
따라서 아래의 화면과 같이 권한 설정을 변경해야 합니다.
위의 설정을 변경하면 버킷이나 객체를 public 으로 변경이 가능해집니다.
버킷 또는 객체가 바로 public 이 되는 것은 아닙니다.
객체 퍼블릭으로 변경하기
ACL로 원하는 파일을 퍼블릭으로 만들기 위해 버킷 메뉴에서 권한 탭을 클릭하고 객체 소유권을 변경합니다.
버킷을 퍼블릭으로 설정했다면, 파일 또한 퍼블릭으로 설정할 수 있습니다.
그리고 객체 URL을 통해 객체에 접근할 수 있습니다.
ACL 살펴보기
ACL은 S3 의 모든 객체의 권한을 각각 설정할 수 있습니다.
ACL을 이용해서 객체를 퍼블릭은 변경했다는 것은 모든 사람들에게 이 객체에 접근할 수 있다는 의미입니다.
직접 ACL 편집하기
직접 ACL을 편집하여 객체를 퍼블릭하게 만들 수 있습니다.
버킷 정책으로 특정 폴더에 접근 권한 주기
ACL은 각각의 객체마다 권한 부여를 하는 방법입니다.
하지만, 버킷 정책을 이용하여 특정 폴더 아래에 있는 모든 객체에 같은 권한을 부여하는 방법이 있습니다.
실습을 위해 public의 이름을 가진 새로운 폴더를 하나 만들고, 그 아래에 여러 객체를 업로드 합니다.
그리고 버킷의 권한 탭으로가서 버킷 정책 편집을 클릭합니다.
직접 타이핑을 하여 정책을 설정할 수 있지만, 정책 생성기를 통해 간단히 정책을 설정할 수 있습니다.
이렇게 버킷 정책을 설정하면 public폴더 하위의 모든 객체는 퍼블릭 객체가 아니여도, 객체 URL을 통해 객체에 접근할 수 있습니다.
'Amazon Cloud' 카테고리의 다른 글
[AWS] S3 사용 실습 - 3 (정적 웹 호스팅 기능 사용하기) (0) | 2023.05.07 |
---|---|
[AWS] S3 사용 실습 - 3 (CLI) (0) | 2023.05.07 |
[AWS] S3 사용 실습 - 1 (버킷 생성, 파일 업로드, 파일 다운로드, 파일이동) (0) | 2023.05.06 |
[AWS] IAM Role - 3 (CLI 로그인 및 사용해보기) (0) | 2023.05.04 |
[AWS] IAM Role - 2 (관리자 콘솔로 사용해보기) (0) | 2023.05.04 |