접근 제어 로직

공개되었으며 익명의 사용자에게 ListBucket 권한을 허용한 버킷이라고 하더라도 웹 브라우저로 접근 시 위와 같은 접근 거부 페이지가 나타나는 이유는 접근 방식에 있습니다.

일반적으로 브라우저를 통해 S3 버킷에 접근하면 Rest API 요청 방식과 같이 접근하는데, 이때 요청에는 자격증명 없이 접근하기 때문에 권한을 요구하는 API 엔드포인트에서 접근을 차단합니다.

또한 cli 기반이라고 하더라도 aws 도구에 저장된 자격증명이 있을 경우 기본적으로 버킷에 접근하면 차단되는 반면 익명 권한으로 접근 시에는 객체를 열거할 수 있는 점이 확인됩니다. 이런 현상이 나타나는 이유는 AWS는 다음과 같은 순서대로 권한을 확인하기 때문입니다.

  1. 명시적 Deny

  2. 명시적 Allow

  3. 기본 Deny

기본 자격증명을 가진 상태로 버킷에 접근 시 익명 접근을 허용한 버킷은 명시적으로 접근이 차단된 사용자인지 확인합니다. 이후 차단된 사용자가 아닐 경우 명시적으로 허용했는지 확인하는데, 자격증명을 가진 사용자는 버킷의 정책에서 허용한 익명 권한이 아니기 때문에 접근할 수 없게 됩니다.

Last updated

Was this helpful?