호출자의 액세스 권한 부여 목록 - Amazon Simple Storage Service

호출자의 액세스 권한 부여 목록

S3 데이터 소유자는 S3 Access Grants를 사용하여 AWS Identity and Access Management(IAM) ID 또는 AWS IAM Identity Center 기업 디렉터리 ID에 대한 액세스 권한 부여를 만들 수 있습니다. IAM ID 및 IAM Identity Center 디렉터리 ID는 차례로 ListCallerAccessGrants API를 사용하여 S3 Access Grants에서 정의한 대로 액세스할 수 있는 모든 Amazon S3 버킷, 접두사 및 객체를 나열할 수 있습니다. 이 API를 사용하면 IAM 또는 디렉터리 ID가 S3 Access Grants를 통해 액세스할 수 있는 모든 S3 데이터를 검색할 수 있습니다.

이 기능을 통해 특정 최종 사용자가 액세스할 수 있는 데이터를 표시하는 애플리케이션을 구축할 수 있습니다. 예를 들어, 고객이 S3 버킷에 액세스하는 데 사용하는 오픈 소스 UI 구성 요소인 S3용 AWS Storage Browser는 해당 기능을 사용하여 최종 사용자에게 S3 Access Grants를 기반으로 Amazon S3에서 액세스할 수 있는 데이터를 제공합니다. 또 다른 예로, Amazon S3에서 데이터를 탐색, 업로드 또는 다운로드하기 위한 애플리케이션을 구축할 때 이 기능을 사용하여 최종 사용자가 탐색할 수 있는 애플리케이션의 트리 구조를 구축할 수 있습니다.

IAM ID이든, 기업 디렉터리 ID든 상관없이 피부여자는 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 list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --max-results 5

응답:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix1/*", "ApplicationArn": "NA" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix2/*", "ApplicationArn": "ALL" }, { "Permission": "READWRITE", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/sub-prefix3/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }
예 버킷에 대한 호출자의 액세스 권한 부여 목록

grantscope 파라미터를 사용하여 결과의 범위를 좁힐 수 있습니다.

요청:

aws s3control list-caller-access-grants \ --account-id 111122223333 \ --region us-east-2 --grant-scope "s3://amzn-s3-demo-bucket"" --max-results 1000

응답:

{ "NextToken": "6J9S...", "CallerAccessGrantsList": [ { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket*", "ApplicationArn": "ALL" }, { "Permission": "READ", "GrantScope": "s3://amzn-s3-demo-bucket/prefix1/*", "ApplicationArn": "arn:aws:sso::111122223333:application/ssoins-ssoins-1234567890abcdef/apl-abcd1234a1b2c3d" } ] }

API 호출자의 액세스 권한 부여 목록을 가져오기 위한 Amazon S3 REST API 지원에 대한 내용은 Amazon Simple Storage Service API 참조의 ListCallerAccessGrants를 참조하세요.

이 섹션에서는 피부여자가 AWS SDK를 사용하여 S3 Access Grants로부터 임시 보안 인증 정보를 요청하는 방법의 예를 제공합니다.

Java

다음 코드 예제는 특정 AWS 계정의 S3 데이터에 대한 API 호출자의 액세스 권한 부여를 반환합니다. 이 예시 코드를 사용하려면 user input placeholders를 실제 정보로 대체하세요.

예 호출자의 액세스 권한 부여 목록

요청:

Public void ListCallerAccessGrants() { ListCallerAccessGrantsRequest listRequest = ListCallerAccessGrantsRequest.builder() .withMaxResults(1000) .withGrantScope("s3://") .accountId("111122223333"); ListCallerAccessGrantsResponse listResponse = s3control.listCallerAccessGrants(listRequest); LOGGER.info("ListCallerAccessGrantsResponse: " + listResponse); }

응답:

ListCallerAccessGrantsResponse( CallerAccessGrantsList=[ ListCallerAccessGrantsEntry( S3Prefix=s3://amzn-s3-demo-bucket/prefix1/, Permission=READ, ApplicationArn=ALL ) ])