S3 Access Grants를 통해 Amazon S3 데이터에 대한 액세스 요청
Amazon S3 Access Grants를 사용하여 AWS Identity and Access Management(IAM) 보안 주체, 기업 디렉터리 ID 또는 승인된 애플리케이션에 S3 데이터에 대한 액세스 권한을 부여하는 액세스 권한 부여를 생성하고 나면, 피부여자는 이 데이터에 액세스하기 위한 자격 증명을 요청할 수 있습니다.
애플리케이션 또는 GetDataAccess
가 AWS 서비스 API 작업을 사용하여 피부여자를 대신하여 S3 데이터에 대한 액세스를 S3 Access Grants에 요청하면, S3 Access Grants는 먼저 이 ID에 해당 데이터에 대한 액세스 권한을 부여했는지 확인합니다. 그러면 S3 Access Grants가 AssumeRole API 작업을 사용하여 임시 자격 증명 토큰을 가져와 요청자에게 벤딩합니다. 이 임시 자격 증명 토큰은 AWS Security Token Service(AWS STS) 토큰입니다.
GetDataAccess
요청에는 임시 자격 증명이 적용되는 S3 데이터의 범위를 지정하는 target
파라미터가 포함되어야 합니다. 이 target
범위는 권한 부여 범위 또는 해당 범위의 하위 집합과 같을 수 있지만, target
범위는 요청자에게 제공된 권한 부여 범위 내에 있어야 합니다. 또한 요청은 임시 자격 증명의 권한 수준(READ
, WRITE
또는 READWRITE
)을 나타내는 permission
파라미터를 지정해야 합니다.
요청자는 자격 증명 요청에서 임시 토큰의 권한 수준을 지정할 수 있습니다. 요청자는 privilege
파라미터를 사용하여 권한 부여 범위 내에서 임시 자격 증명의 액세스 범위를 줄이거나 늘릴 수 있습니다. privilege
파라미터의 기본값은 Default
이며, 이는 반환되는 자격 증명의 대상 범위가 원래 권한 부여 범위임을 의미합니다. Minimal
또한 privilege
의 값이 될 수 있습니다. target
범위가 원래 권한 부여 범위보다 축소되면 target
범위가 권한 부여 범위 내에 있는 한 target
범위와 일치하도록 임시 자격 증명의 범위가 축소됩니다.
다음 테이블에는 두 권한 부여에 대한 privilege
파라미터의 효과가 자세히 나와 있습니다. 권한 부여의 범위는 S3://
이며, 여기에는 amzn-s3-demo-bucket1
/bob/*
버킷의 전체 amzn-s3-demo-bucket1
bob/
접두사가 포함됩니다. 다른 권한 부여의 범위는 S3://
이며, 여기에는 amzn-s3-demo-bucket1
/bob/reports/*
버킷의 amzn-s3-demo-bucket1
bob/reports/
접두사만 포함됩니다.
권한 부여 범위 | 요청된 범위 | 권한 | 반환된 범위 | Effect |
---|---|---|---|---|
S3:// |
|
Default
|
|
요청자는 |
S3:// |
|
Minimal
|
|
접두사 이름 |
S3:// |
|
Minimal
|
|
요청자는 |
S3:// |
|
Default
|
|
요청자는 |
S3:// |
|
Minimal
|
|
요청자는 |
durationSeconds
파라미터는 임시 자격 증명의 기간을 초 단위로 설정합니다. 기본값은 3600
초(1시간)이지만 요청자(피부여자)는 900
초(15분)에서 최대 43200
초(12시간)까지 범위를 지정할 수 있습니다. 피부여자가 이 최댓값보다 큰 값을 요청하면 요청이 실패합니다.
참고
임시 토큰을 요청할 때 위치가 객체인 경우 요청의 targetType
파라미터 값을 Object
로 설정하세요. 이 파라미터는 위치가 객체이고 권한 수준이 Minimal
인 경우에만 필요합니다. 위치가 버킷 또는 접두사인 경우 이 파라미터를 지정할 필요가 없습니다.
자세한 내용은 Amazon Simple Storage Service API 참조의 GetDataAccess를 참조하세요.
AWS Command Line Interface(AWS CLI), Amazon S3 REST API, AWS SDK를 사용하여 임시 자격 증명을 요청할 수 있습니다.
AWS CLI를 설치하려면 AWS Command Line Interface 사용 설명서의 AWS CLI 설치를 참조하세요.
다음 예시 명령을 사용하려면
를 실제 정보로 대체하세요.user input
placeholders
예 임시 자격 증명 요청
요청:
aws s3control get-data-access \ --account-id
111122223333
\ --targets3://
\amzn-s3-demo-bucket
/prefixA*--permission
READ
\ --privilege Default \ --regionus-east-2
응답:
{ "Credentials": { "AccessKeyId": "
Example-key-id
", "SecretAccessKey": "Example-access-key
", "SessionToken": "Example-session-token
", "Expiration": "2023-06-14T18:56:45+00:00
"}, "MatchedGrantTarget": "s3://
*" }amzn-s3-demo-bucket
/prefixA*
S3 Access Grants에서 임시 자격 증명 요청을 위한 Amazon S3 REST API 지원에 대한 자세한 내용은 Amazon Simple Storage Service API 참조의 GetDataAccess를 참조하세요.
이 섹션에서는 피부여자가 AWS SDK를 사용하여 S3 Access Grants로부터 임시 자격 증명을 요청하는 방법의 예를 제공합니다.