列出呼叫者的訪問授予 - Amazon Simple Storage Service

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

列出呼叫者的訪問授予

S3 資料擁有者可以使用 S3 存取授與建立存取授權 AWS Identity and Access Management (IAM)身份或 AWS IAM Identity Center 公司目錄識別。IAM身份識別和IAM身分中心目錄身分可以依次使ListCallerAccessGrantsAPI用列出它們可以存取的所有 Amazon S3 儲存貯體、前置詞和物件,如其 S3 存取授權所定義。使用此選項API來探索可透過 S3 存取授權存取的所有 S3 資料IAM或目錄身分。

您可以使用此功能來建置顯示特定使用者可存取之資料的應用程式。例如, AWS 適用於 S3 的儲存瀏覽器是客戶用來存取 S3 儲存貯體的開放原始碼 UI 元件,根據其 S3 存取授權,使用此功能向最終使用者顯示他們在 Amazon S3 中可存取的資料。另一個範例是在 Amazon S3 中建立用於瀏覽、上傳或下載資料的應用程式時,您可以使用此功能在應用程式中建立樹狀結構,讓終端使用者隨後可以瀏覽。

受權者無論是IAM身分識別或公司目錄識別,都可以使用 AWS Command Line Interface (AWS CLI),Amazon S3 REST API 和 AWS SDKs.

若要安裝 AWS CLI,請參閱安裝 AWS CLI 中的 AWS Command Line Interface 使用者指南

若要使用下列範例命令,請以您自己的資訊取代 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" } ] }

如需 Amazon S3 REST API 支援以取得API呼叫者存取授權清單的相關資訊,請參閱 Amazon 簡單儲存服務API參考ListCallerAccessGrants中的。

本節提供受權者如何使用 AWS SDKs.

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 ) ])