S3 Access Grants が提供する認証情報を使用した S3 データへのアクセス - Amazon Simple Storage Service

S3 Access Grants が提供する認証情報を使用した S3 データへのアクセス

被付与者がアクセス許可を通じて一時的な認証情報を取得 すると、その一時的な認証情報を使用して Amazon S3 API オペレーションを呼び出し、データにアクセスできます。

被付与者は、AWS Command Line Interface (AWS CLI)、AWS SDK、Amazon S3 REST API を使用して、S3 データにアクセスできます。さらに、AWS Python および Java プラグインを使用して 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 データを取得する方法の例については、「AWSSDK を使用してオブジェクトを取得する方法」と「AWS SDK for Java 2.x の Amazon S3 コード例」を参照してください。

S3 Access Grants でサポートされている S3 アクション

被付与者は、S3 Access Grants によって提供される一時的な認証情報を使用して、アクセスできる S3 データに対して S3 アクションを実行できます。以下は、被付与者が実行できる S3 アクションのリストです。許可されるアクションは、アクセス許可で付与されるアクセス許可のレベル、READWRITE または READWRITE によって異なります。

注記

以下に示す 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 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 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 バケット