요청 인증 및 권한 부여
기본적으로 디렉터리 버킷은 프라이빗이며 액세스 권한이 명시적으로 부여된 사용자만 액세스할 수 있습니다. 디렉터리 버킷의 액세스 제어 경계는 버킷 수준에서만 설정됩니다. 반면 범용 버킷의 액세스 제어 경계는 버킷, 접두사 또는 객체 태그 수준에서 설정할 수 있습니다. 이러한 차이는 디렉터리 버킷이 S3 Express One Zone 액세스에 대한 버킷 정책 또는 IAM ID 정책에 포함할 수 있는 유일한 리소스라는 것을 의미합니다.
Amazon S3 Express One Zone은 AWS Identity and Access Management(AWSIAM) 권한 부여와 세션 기반 권한 부여를 모두 지원합니다.
-
S3 Express One Zone에서 리전 엔드포인트 API 작업(버킷 수준 작업, 즉 컨트롤 플레인 작업)을 사용하려면 세션 관리가 필요하지 않은 IAM 권한 부여 모델을 사용해야 합니다. 작업에 대한 권한은 개별적으로 부여됩니다. 자세한 내용은 IAM을 사용한 리전 엔드포인트 API 권한 부여 단원을 참조하십시오.
-
CopyObject
및HeadBucket
을 제외한 영역 엔드포인트 API 작업(객체 수준 또는 데이터 플레인, 작업)을 사용하려면CreateSession
API 작업을 사용하여 지연 시간이 짧은 데이터 요청 권한 부여에 최적화된 세션을 만들고 관리합니다. 세션 토큰을 검색하고 사용하려면 ID 기반 정책 또는 버킷 정책에서 디렉터리 버킷에 대한s3express:CreateSession
작업을 허용해야 합니다. 자세한 내용은 IAM을 사용한 리전 엔드포인트 API 권한 부여 단원을 참조하십시오. Amazon S3 콘솔에서, AWS Command Line Interface(AWS CLI)를 통해 또는 AWS SDK를 사용하여 S3 Express One Zone에 액세스하는 경우, S3 Express One Zone은 사용자를 대신하여 세션을 생성합니다.
CreateSession
API 작업으로 새로운 세션 기반 메커니즘을 통해 요청을 인증하고 권한을 부여할 수 있습니다. CreateSession
을 사용하여 지연 시간이 짧은 버킷 액세스를 제공하는 임시 보안 인증 정보를 요청할 수 있습니다. 이러한 임시 보안 인증 정보의 범위는 특정 디렉터리 버킷으로 지정됩니다.
CreateSession
작업을 수행하려면 최신 버전의 AWS SDK를 사용하거나 AWS Command Line Interface(AWS CLI)를 사용하는 것이 좋습니다. 지원되는 AWS SDK와 AWS CLI가 세션 설정, 새로 고침 및 종료를 사용자 대신 처리합니다.
영역(객체 수준) 작업에만 세션 토큰을 사용하여(CopyObject
및 HeadBucket
제외) 권한 부여와 관련된 지연 시간을 세션의 여러 요청에 분산합니다. 리전 엔드포인트 API 작업(버킷 수준 작업)의 경우 세션 관리가 필요하지 않은 IAM 인증을 사용합니다. 자세한 내용은 IAM을 사용한 리전 엔드포인트 API 권한 부여 및 CreateSession을 사용하여 영역 엔드포인트 API 작업 권한 부여 단원을 참조하세요.
API 작업의 권한 부여 및 인증 방법
다음 테이블에는 디렉터리 버킷 API 작업에 대한 인증 및 권한 부여 정보가 나열되어 있습니다. 테이블에는 각 API 작업에 대해 API 작업 이름, IAM 정책 작업, 엔드포인트 유형(리전 또는 영역), 권한 부여 메커니즘(IAM 또는 세션 기반)이 나와 있습니다. 또한, 교차 계정 액세스가 지원되는 곳도 나와 있습니다. 버킷 수준 작업에 대한 액세스는 IAM ID 기반 정책(사용자 또는 역할)에서만 부여할 수 있으며 버킷 정책으로는 부여할 수 없습니다.
API | [엔드포인트 유형] | IAM 작업 | 크로스 계정 액세스 |
---|---|---|---|
CreateBucket |
리전 | s3express:CreateBucket |
아니요 |
DeleteBucket |
리전 | s3express:DeleteBucket |
아니요 |
ListDirectoryBuckets |
리전 | s3express:ListAllMyDirectoryBuckets |
아니요 |
PutBucketPolicy |
리전 | s3express:PutBucketPolicy |
아니요 |
GetBucketPolicy |
리전 | s3express:GetBucketPolicy |
아니요 |
DeleteBucketPolicy |
리전 | s3express:DeleteBucketPolicy |
아니요 |
CreateSession |
영역 | s3express:CreateSession |
예 |
CopyObject |
영역 | s3express:CreateSession |
예 |
DeleteObject |
영역 | s3express:CreateSession |
예 |
DeleteObjects |
영역 | s3express:CreateSession |
예 |
HeadObject |
영역 | s3express:CreateSession |
예 |
PutObject |
영역 | s3express:CreateSession |
예 |
GetObjectAttributes |
영역 | s3express:CreateSession |
예 |
ListObjectsV2 |
영역 | s3express:CreateSession |
예 |
HeadBucket |
영역 | s3express:CreateSession |
예 |
CreateMultipartUpload |
영역 | s3express:CreateSession |
예 |
UploadPart |
영역 | s3express:CreateSession |
예 |
UploadPartCopy |
영역 | s3express:CreateSession |
예 |
CompleteMultipartUpload |
영역 | s3express:CreateSession |
예 |
AbortMultipartUpload |
영역 | s3express:CreateSession |
예 |
ListParts |
영역 | s3express:CreateSession |
예 |
ListMultipartUploads |
영역 | s3express:CreateSession |
예 |