マルチパートアップロード API とアクセス許可 - Amazon Simple Storage Service

マルチパートアップロード API とアクセス許可

マルチパートアップロードオペレーションを使用するには、そのためのアクセス許可が必要です。マルチパートアップロードオペレーションを実行するためのアクセス許可を付与するには、アクセスコントロールリスト (ACL)、バケットポリシー、ユーザーポリシーを使用できます。ACL、バケットポリシー、またはユーザーポリシーを使用して割り当てることのできる、さまざまなマルチパートアップロードオペレーションに必要なアクセス許可を次の表に示します。

アクション 必要なアクセス許可

Initiate Multipart Upload

マルチパートアップロードを開始するには、オブジェクトに対して s3:PutObject アクションを実行するための許可が必要です。

バケット所有者は他のプリンシパルに対して s3:PutObject アクションの実行を許可できます。

イニシエータ

マルチパートアップロード開始者を識別するコンテナエレメント。イニシエータが AWS アカウントである場合、このエレメントは所有者エレメントと同じ情報を提供します。イニシエータが IAM ユーザーの場合には、このエレメントはユーザー ARN と表示名を提供します。

Upload Part

パートをアップロードするには、オブジェクトに対して s3:PutObject アクションを実行するための許可が必要です。

マルチパートアップロードの開始者がオブジェクトのパートをアップロードできるようにするため、バケット所有者はその開始者に対しオブジェクトへの s3:PutObject アクションの実行を許可する必要があります。

パートのアップロード (コピー)

パートをアップロードするには、オブジェクトに対して s3:PutObject アクションを実行するための許可が必要です。既存のオブジェクトからパートをアップロードするので、ソースオブジェクトに対して s3:GetObject を実行するための許可が必要です。

開始者がオブジェクトのパートをアップロードするには、バケットの所有者が、開始者にそのオブジェクトでの s3:PutObject アクションの実行を許可する必要があります。

マルチパートアップロードの完了

マルチパートアップロードを完了するには、オブジェクトに対して s3:PutObject アクションを実行するための許可が必要です。

マルチパートアップロードの開始者がオブジェクトのアップロードを完了できるようにするため、バケット所有者はその開始者に対しオブジェクトへの s3:PutObject アクションの実行を許可する必要があります。

マルチパートアップロードの中止

マルチパートアップロードを中止するには、s3:AbortMultipartUpload アクションを実行するための許可が必要です。

デフォルトでは、バケット所有者とマルチパートアップロードの開始者が、このアクションの実行を許可されます。開始者が IAM ユーザーである場合、そのユーザーの AWS アカウントもそのマルチパートアップロードを中止できます。

このようなデフォルト設定に加え、バケット所有者は他のプリンシパルに対してオブジェクトへの s3:AbortMultipartUpload アクションの実行を許可できます。バケット所有者は任意のプリンシパルに対し、s3:AbortMultipartUpload アクションを実行する権限を無効にすることができます。

パートのリスト

マルチパートアップロードに含まれるパートをリストするには、s3:ListMultipartUploadParts アクションを実行するための許可が必要です。

デフォルトではバケット所有者が、バケットに対する任意のマルチパートアップロードについてパートのリストを許可されています。マルチパートアップロードの開始者は、特定のマルチパートアップロードについてパートのリストを許可されます。マルチパートアップロードの開始者が IAM ユーザーである場合、その IAM ユーザーを管理している AWS アカウントもそのアップロードのパートのリストを許可されます。

このようなデフォルト設定に加え、バケット所有者は他のプリンシパルに対してオブジェクトへの s3:ListMultipartUploadParts アクションの実行を許可できます。バケット所有者は任意のプリンシパルに対し、s3:ListMultipartUploadParts アクションを実行する権限を無効にすることもできます。

マルチパートアップロードのリスト

バケットに対して進行中のマルチパートアップロードをリストするには、そのバケットに対して s3:ListBucketMultipartUploads アクションを実行するための許可が必要です。

デフォルト設定に加え、バケット所有者は他のプリンシパルに対してバケットへの s3:ListBucketMultipartUploads アクションの実行を許可できます。

AWS KMS 暗号化および復号関連のアクセス許可

AWS Key Management Service (AWS KMS) カスタマーマスターキーを使用して暗号化を伴うマルチパートアップロードを実行するには、キーの kms:Encryptkms:Decryptkms:ReEncrypt*kms:GenerateDataKey* および kms:DescribeKey アクションに対するアクセス許可がリクエスタに必要です。マルチパートアップロードを完了する前に、暗号化されたファイルパーツからデータを復号して読み取る必要があるため、Amazon S3 にはこれらのアクセス許可が必要です。

IAM ユーザーまたはロールが AWS KMS CMK キーと同じ AWS アカウントにある場合、キーポリシーでこれらのアクセス許可が必要です。IAM ユーザーまたはロールが CMK とは異なるアカウントに属している場合、キーポリシーと IAM ユーザーまたはロールの両方に対するアクセス許可が必要です。

>

ACL のアクセス許可とアクセスポリシーのアクセス許可との関係については、「ACL アクセス許可とアクセスポリシーのアクセス許可のマッピング」を参照してください。IAM ユーザーについては、「ユーザーおよびグループの使用」を参照してください。