列出呼叫者的存取授予 - Amazon Simple Storage Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

列出呼叫者的存取授予

S3 資料擁有者可以使用 S3 Access Grants 來建立 AWS Identity and Access Management (IAM) 身分或 AWS IAM Identity Center 公司目錄身分的存取授與。IAM 身分和 IAM Identity Center 目錄身分反過來可以使用 ListCallerAccessGrants API 來列出他們可存取的所有 Amazon S3 儲存貯體、字首和物件,如其 S3 Access Grants 所定義。使用此 API 來探索 IAM 或目錄身分可以透過 S3 Access Grants 存取的所有 S3 資料。

您可以使用此功能來建置應用程式,以顯示特定最終使用者可存取的資料。例如, AWS Storage Browser for S3 是客戶用來存取 S3 儲存貯體的開放原始碼 UI 元件,它使用此功能,根據其 S3 Access Grants,向最終使用者提供他們在 Amazon S3 中可存取的資料。另一個範例是,在 Amazon S3 中建置用於瀏覽、上傳或下載資料的應用程式時,您可以使用此功能在應用程式中建置樹狀結構,使用者可以接著瀏覽。

無論 IAM 身分或公司目錄身分,被授予者都可以使用 AWS Command Line Interface (AWS CLI)API、Amazon S3 REST 和 AWS SDKs 取得其存取授予的清單。

若要安裝 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 ListCallerAccessGrants 參考中的 Word。 API

本節提供受讓者如何使用 AWS SDKs 向 S3 Access Grants 請求臨時憑證的範例。

Java

下列程式碼範例會傳回 API 呼叫者的存取權授予特定 的 S3 資料 AWS 帳戶。若要使用此程式碼範例,請將 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 ) ])