使用由 S3 存取授權提供的憑證來存取 S3 資料 - Amazon Simple Storage Service

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

使用由 S3 存取授權提供的憑證來存取 S3 資料

承授者透過其存取授權取得臨時憑證後,可以使用這些臨時憑證呼叫 Amazon S3 API 操作來存取您的資料。

承授者可以使用 S3 AWS Command Line Interface (AWS CLI)、 AWS SDKs 和 Amazon S3 REST API 存取 S3 資料。此外,您可以使用 AWS PythonJava 外掛程式來呼叫 S3 Access Grants

承授者從 S3 Access Grants 取得其臨時憑證後,就可以設定包含這些憑證的設定檔來擷取資料。

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

若要使用下列範例命令,請將 user input placeholders 取代為您自己的資訊。

範例 – 設定設定檔
aws configure set aws_access_key_id "$accessKey" --profile access-grants-consumer-access-profile aws configure set aws_secret_access_key "$secretKey" --profile access-grants-consumer-access-profile aws configure set aws_session_token "$sessionToken" --profile access-grants-consumer-access-profile

若要使用下列範例命令,請以您自己的資訊取代 user input placeholders

範例 – 取得 S3 資料

承授者可以使用 get-object AWS CLI 命令來存取資料。承授者也可以使用 put-objectls和其他 S3 AWS CLI 命令。

aws s3api get-object \ --bucket amzn-s3-demo-bucket1 \ --key myprefix \ --region us-east-2 \ --profile access-grants-consumer-access-profile

本節提供承授者如何使用 AWS SDK 存取 S3 資料的範例。

Java

如需如何使用臨時憑證取得 S3 資料的範例,請參閱如何使用 的 AWS SDKs和 Amazon S3 程式碼範例取得物件Amazon S3 AWS SDK for Java 2.x

S3 存取授權中支援的 S3 動作

承授者可以使用由 S3 存取授權提供的臨時憑證,對其可存取的 S3 資料執行 S3 動作。以下是承授者可執行的允許 S3 動作清單。哪些動作是允許的,取決於存取授權中授予的許可層級 (READWRITEREADWRITE)。

注意

除了下列 Amazon S3 許可之外,Amazon S3 還可以呼叫 AWS Key Management Service (AWS KMS) Decrypt (kms:decrypt) READ許可或 AWS KMS GenerateDataKey (kms:generateDataKey) WRITE許可。這些許可不允許直接存取 AWS KMS 金鑰。

S3 IAM 動作 API 動作與文件 S3 存取授權許可 S3 資源
s3:GetObject GetObject READ 物件
s3:GetObjectVersion GetObject READ 物件
s3:GetObjectAcl GetObjectAcl READ 物件
s3:GetObjectVersionAcl GetObjectAcl READ 物件
s3:ListMultipartUploads ListParts READ 物件
s3:PutObject PutObjectCreateMultipartUploadUploadPartUploadPartCopyCompleteMultipartUpload WRITE 物件
s3:PutObjectAcl PutObjectAcl WRITE 物件
s3:PutObjectVersionAcl PutObjectAcl WRITE 物件
s3:DeleteObject DeleteObject WRITE 物件
s3:DeleteObjectVersion DeleteObject WRITE 物件
s3:AbortMultipartUpload AbortMultipartUpload WRITE 物件
s3:ListBucket HeadBucketListObjectsV2ListObjects READ 儲存貯體
s3:ListBucketVersions ListObjectVersions READ 儲存貯體
s3:ListBucketMultipartUploads ListMultipartUploads READ 儲存貯體