S3 Access Grants 시작하기

S3 Access Grants 시작하기 (Getting started with S3 Access Grants)

Amazon S3 Access Grants는 S3 데이터에 대한 확장 가능한 접근 제어 솔루션을 제공하는 Amazon S3 기능이에요. S3 Access Grants는 S3 자격 증명 공급자(credential vendor)예요. 즉 S3 Access Grants에 grant 목록과 수준을 등록해요. 이후 사용자나 클라이언트가 S3 데이터에 접근해야 할 때 먼저 S3 Access Grants에 자격 증명을 요청해요. 접근을 인가하는 grant가 있다면 S3 Access Grants는 임시의 최소 권한 접근 자격 증명을 제공해요. 그러면 사용자나 클라이언트는 S3 Access Grants가 제공한 자격 증명으로 S3 데이터에 접근할 수 있어요. 이것을 염두에 두고, S3 데이터 요구 사항이 복잡하거나 큰 권한 구성을 요구한다면 S3 Access Grants를 사용해 사용자, 그룹, 역할, 애플리케이션의 S3 데이터 권한을 확장할 수 있어요.

출처: 문서

본문

대부분의 사용 사례에서는 AWS Identity and Access Management(IAM)를 버킷 정책이나 IAM 자격 증명 기반 정책과 함께 사용해 S3 데이터의 접근 제어를 관리할 수 있어요. 하지만 다음 같은 복잡한 S3 접근 제어 요구 사항이 있다면 S3 Access Grants 사용이 큰 도움이 될 수 있어요.

  • 버킷 정책 크기 한도인 20KB에 부딪히고 있어요.
  • Microsoft Entra ID(이전 Azure Active Directory), Okta 또는 Ping 사용자와 그룹 같은 사람 자격 증명에 S3 데이터 접근을 부여해 분석과 빅데이터에 사용해요.
  • IAM 정책을 자주 업데이트하지 않고 계정 간 접근을 제공해야 해요.
  • 데이터가 행과 열 형식이 아니라 구조화되지 않은 객체 수준이에요.

S3 Access Grants 워크플로는 다음과 같아요.

단계 설명
1 S3 Access Grants 인스턴스 만들기 — 시작하려면 개별 접근 grant를 담을 S3 Access Grants 인스턴스를 시작해요.
2 위치 등록 — 두 번째로 S3 데이터 위치(예: 기본값 s3://)를 등록하고, S3 Access Grants가 S3 데이터 위치에 접근을 제공할 때 맡는 기본 IAM 역할을 지정해요. 특정 버킷이나 접두사에 사용자 지정 위치를 추가하고 이를 사용자 지정 IAM 역할에 매핑할 수도 있어요.
3 grant 만들기 — 개별 권한 grant를 만들어요. 이 권한 grant에 등록된 S3 위치, 위치 안의 데이터 접근 범위, grantee의 자격 증명, 접근 수준(READ, WRITE 또는 READWRITE)을 지정해요.
4 S3 데이터 접근 요청 — 사용자, 애플리케이션, AWS 서비스가 S3 데이터에 접근하려 할 때 먼저 접근 요청을 해요. S3 Access Grants는 요청을 인가해야 하는지 판단해요. 접근을 인가하는 grant가 있으면 S3 Access Grants는 그 grant와 연결된 등록된 위치의 IAM 역할을 사용해 요청자에게 임시 자격 증명을 제공해요.
5 S3 데이터 접근 — 애플리케이션은 S3 Access Grants가 제공한 임시 자격 증명으로 S3 데이터에 접근해요.

더 알아보기 (Learn more)