CreateSession으로 Zonal 엔드포인트 API 작업 권한 부여
CreateSession으로 Zonal 엔드포인트 API 작업 권한 부여 (Authorizing Zonal endpoint API operations with CreateSession)
CopyObject와 HeadBucket을 제외한 Zonal 엔드포인트 API 작업(객체 수준, 즉 데이터 플레인 작업)을 사용하려면 CreateSession API 작업으로 데이터 요청의 낮은 지연 시간 권한 부여에 최적화된 세션을 만들고 관리해요. 세션 토큰을 검색하고 사용하려면 ID 기반 정책이나 버킷 정책에서 디렉터리 버킷에 s3express:CreateSession 작업을 허용해야 해요. 자세한 내용은 IAM으로 Regional 엔드포인트 API 작업 권한 부여 를 참고하세요. Amazon S3 콘솔, AWS Command Line Interface(AWS CLI), 또는 AWS SDK로 S3 Express One Zone에 접근한다면 S3 Express One Zone이 사용자를 대신해 세션을 만들어요. 단, AWS CLI나 AWS SDK를 사용할 때는 SessionMode 매개변수를 수정할 수 없어요.
출처: 문서
본문
Amazon S3 REST API를 사용한다면 CreateSession API 작업으로 액세스 키 ID, 비밀 액세스 키, 세션 토큰, 만료 시간을 포함한 임시 보안 자격 증명을 얻을 수 있어요. 임시 자격 증명은 IAM 사용자 자격 증명 같은 장기 보안 자격 증명과 동일한 권한을 제공하지만, 임시 보안 자격 증명은 반드시 세션 토큰을 포함해야 해요.
세션 모드 (Session Mode)
세션 모드는 세션의 범위를 정의해요. CreateSession API 요청에 세션 모드를 지정하지 않으면 CreateSession 작업은 허용되는 최대 권한으로 세션을 만들려고 시도하며, 먼저 ReadWrite를 시도하고 정책이 허용하지 않을 때만 ReadOnly로 대체해요. 버킷 정책에서 s3express:SessionMode 조건 키를 지정해 누가 ReadWrite 또는 ReadOnly 세션을 만들 수 있는지 명시적으로 제어할 수 있어요. ReadWrite 또는 ReadOnly 세션에 대한 자세한 내용은 Amazon S3 API Reference의 x-amz-create-session-mode 매개변수(CreateSession)를 참고하고, 만들 버킷 정책에 대한 자세한 내용은 디렉터리 버킷용 예제 버킷 정책 을 참고하세요.
세션 토큰 (Session Token)
임시 보안 자격 증명으로 호출할 때는 그 호출에 세션 토큰이 포함되어야 해요. 세션 토큰은 임시 자격 증명과 함께 반환돼요. 세션 토큰은 디렉터리 버킷으로 범위가 지정되며, 보안 자격 증명이 유효하고 만료되지 않았는지 검증하는 데 사용돼요. 세션을 보호하기 위해 임시 보안 자격 증명은 5분 후 만료돼요.
CopyObject 및 HeadBucket
임시 보안 자격 증명은 특정 디렉터리 버킷으로 범위가 지정되며, 주어진 디렉터리 버킷에 대한 모든 Zonal(객체 수준) 작업 API 호출에 자동으로 활성화돼요. 다른 Zonal 엔드포인트 API 작업과 달리 CopyObject와 HeadBucket은 CreateSession 인증을 사용하지 않아요. 모든 CopyObject와 HeadBucket 요청은 IAM 자격 증명으로 인증되고 서명되어야 해요. 그러나 CopyObject와 HeadBucket은 다른 Zonal 엔드포인트 API 작업처럼 s3express:CreateSession으로 권한이 부여돼요.
자세한 내용은 Amazon Simple Storage Service API Reference의 CreateSession 을 참고하세요.