본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Cloudflare Access로 R2 버킷 보호 (Protect an R2 Bucket with Cloudflare Access)

원문 보기 위키 갱신

Cloudflare Access로 R2 버킷에 대한 접근을 보호할 수 있어요.

출처: 문서

본문

Access를 사용하면 정의한 정책에 따라 조직 내 특정 사용자, 그룹, 또는 애플리케이션만 버킷 안의 객체나 특정 하위 경로에 접근할 수 있게 할 수 있어요.

참고

익명 사용자에게 버킷 객체에 대한 안전한 접근을 제공하려면 pre-signed URL을 사용하는 것이 좋아요.

Pre-signed URL은 사용자가 조직의 구성원일 필요가 없고, 프로그래밍 방식의 애플리케이션을 바로 활성화할 수 있어요.

1. 버킷 만들기

이미 R2 버킷이 있다면 이 단계는 건너뛰어도 돼요.

R2 버킷을 만들어야 해요. 이 가이드로 돌아오기 전에 R2 시작하기 가이드를 따라 버킷을 만들어 주세요.

2. Access 애플리케이션 만들기

Cloudflare 대시보드의 Zero Trust 섹션에서 R2 버킷에 대한 접근을 제한하는 Access 애플리케이션과 정책을 만들어야 해요.

이전에 Cloudflare Access를 구성해 본 적이 없다면 다음을 권장해요:

  • 먼저 identity provider를 구성해서 Access가 조직의 single sign-on(SSO) 제공자를 인증 방법으로 사용할 수 있게 해요.

R2 버킷을 위한 Access 애플리케이션을 만들려면:

  1. Cloudflare 대시보드 ↗︎에서 Zero Trust > Access controls > Applications로 이동해 Create new application을 선택해요.

  2. Self-hosted and private을 선택해요.

  3. Add public hostname을 선택하고 애플리케이션 도메인을 입력해요. Domain은 Cloudflare에 호스팅된 도메인이어야 하고, Subdomain은 R2 버킷에 연결할 커스텀 도메인의 subdomain 부분이에요. 예를 들어 behind-access.example.com에서 파일을 제공하고 싶고 example.com이 Cloudflare 계정의 도메인이라면, subdomain 필드에 behind-access를 입력하고 Domain 목록에서 example.com을 선택해요.

  4. 애플리케이션에 연결할 수 있는 사람을 제어하는 Access 정책을 추가해요. 이 Access 애플리케이션 뒤의 버킷 안 객체에 사용자가 접근할 수 있도록 Allow 정책이어야 해요.

    참고

    정책이 이 R2 버킷에 접근해야 하는 조직 내 사용자만 허용하도록 해야 해요.

  5. 나머지 self-hosted 애플리케이션 생성 단계를 따라 애플리케이션을 게시해요.

3. 커스텀 도메인 연결

주의

커스텀 도메인을 버킷에 연결하기 전에 Access 애플리케이션을 만들어야 해요. 그렇지 않으면 커스텀 도메인 연결로 버킷이 기본적으로 공개될 수 있기 때문이에요.

Access 애플리케이션으로 구성하려면 버킷에 커스텀 도메인을 연결해야 해요. 커스텀 도메인이 Access 정책을 구성할 때 입력한 도메인과 같은 도메인인지 확인해 주세요.

  1. Cloudflare 대시보드에서 R2 object storage 페이지로 이동해요. Overview로 이동 ↗
  2. 버킷을 선택해요.
  3. Settings를 선택해요.
  4. Custom Domains 아래에서 Add를 선택해요.
  5. 연결할 도메인 이름을 입력하고 Continue를 선택해요.
  6. DNS 테이블에 추가될 새 레코드를 검토하고 Connect Domain을 선택해요.

이제 도메인이 연결됐어요. 상태가 Initializing에서 Active로 바뀌는 데 몇 분이 걸릴 수 있고, 상태 변경을 확인하려면 새로고침이 필요할 수 있어요. 상태가 바뀌지 않았다면 버킷 옆의 ... 을 선택하고 Retry connection을 선택해요.

4. Access 정책 테스트

R2 버킷에 연결한 커스텀 도메인을 방문하면 선택한 identity provider와/또는 인증 방법이 있는 Cloudflare Access 인증 페이지가 표시돼야 해요.

예를 들어 Google 및/또는 GitHub identity provider를 연결했다면 그 제공자로 로그인할 수 있어요. 로그인이 성공하고 이 가이드에서 구성한 Access 정책을 통과하면 R2 버킷 안의 객체에 접근(읽기/다운로드)할 수 있게 돼요.

인증할 수 없거나 인증 후 차단 페이지가 표시된다면 Access 애플리케이션 안에 사용자 계정이 연결된 그룹을 명시적으로 허용하는 Access 정책이 구성되어 있는지 확인해 주세요.

다음 단계

더 알아보기 (Learn more)