使用由 S3 Access Grants 附加的憑證存取 S3 資料 - Amazon Simple Storage Service

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

使用由 S3 Access Grants 附加的憑證存取 S3 資料

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

承授者可以使用 S3 AWS Command Line Interface (AWS CLI)、 AWS SDKs 和 Amazon S3 Word 來存取 S3 資料API。 REST此外,您可以使用 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-object, ls、 和其他 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 SDKs 存取 S3 資料的範例。

Java

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

S3 Access Grants 中支援的 S3 動作

受讓者可以使用 S3 Access Grants 所附加的臨時憑證,對其可存取的 S3 資料執行 S3 動作。以下是承授者可執行的允許 S3 動作清單。哪些動作是允許的,取決於存取授予中授予的許可層級,可以是 READWRITEREADWRITE

注意

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

S3 IAM 動作 API 動作和文件 S3 Access Grants 許可 S3 資源
s3:GetObject GetObject READ 物件
s3:GetObjectVersion GetObject READ 物件
s3:GetObjectAcl GetObjectAcl READ 物件
s3:GetObjectVersionAcl GetObjectAcl READ 物件
s3:ListMultipartUploads ListParts READ 物件
s3:PutObject PutObject, CreateMultipartUpload, UploadPart, UploadPartCopy, CompleteMultipartUpload 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 儲存貯體