Amazon S3 API オペレーションに必要なアクセス許可 - Amazon Simple Storage Service

Amazon S3 API オペレーションに必要なアクセス許可

注記

このページでは、汎用バケットの Amazon S3 ポリシーアクションについて説明します。ディレクトリバケットの Amazon S3 ポリシーアクションの詳細については、「S3 Express One Zone 向けアクション」を参照してください。

S3 API オペレーションを実行するには、適切なアクセス許可が必要です。このページでは、S3 API オペレーションを必要なアクセス許可にマッピングします。S3 API オペレーションを実行するアクセス許可を付与するには、有効なポリシー (S3 バケットポリシーや IAM アイデンティティベースのポリシーなど) を作成し、ポリシーの Action 要素で対応するアクションを指定する必要があります。これらのアクションはポリシーアクションと呼ばれます。すべての S3 API オペレーションが 1 つのアクセス許可 (1 つのポリシーアクション) で表されるわけではなく、さまざまな API オペレーションには複数のアクセス許可 (複数のポリシーアクション) が必要です。

ポリシーを作成するときは、対応する Amazon S3 ポリシーアクションに必要な正しいリソースタイプに基づいて、Resource 要素を指定する必要があります。このページでは、アクセス許可をリソースタイプ別に S3 API オペレーションに分類します。リソースタイプの詳細については、「サービス認可リファレンス」の「Amazon S3 で定義されるリソースタイプ」を参照してください。Amazon S3 ポリシーアクションの完全なリストとポリシーで使用する条件キーについては、「サービス認可リファレンス」の「Actions, resources, and condition keys for Amazon S3」を参照してください。Amazon S3 API オペレーションの完全なリストについては、「Amazon Simple Storage Service API リファレンス」の「Amazon S3 API アクション」を参照してください。

バケットオペレーションは、バケットリソースタイプで動作する S3 API オペレーションです。バケットポリシーまたは IAM アイデンティティベースのポリシーでバケットオペレーションに S3 ポリシーアクションを指定する必要があります。

ポリシーでは、Resource 要素はバケットの Amazon リソースネーム (ARN) である必要があります。Resource 要素形式とポリシーの例の詳細については、「バケットオペレーション」を参照してください。

注記

アクセスポイントポリシーのバケットオペレーションにアクセス許可を付与する場合は、次の点に注意してください。

  • アクセスポイントポリシーのバケットオペレーションで付与されるアクセス許可は、基になるバケットで同じアクセス許可が許される場合にのみ有効です。アクセスポイントを使用する場合は、バケットからアクセスポイントにアクセスコントロールを委任するか、アクセスポイントポリシーで同じアクセス許可を基礎となるバケットのポリシーに追加する必要があります。

  • バケットオペレーションにアクセス許可を付与するアクセスポイントポリシーでは、Resource 要素は accesspoint ARN である必要があります。Resource 要素形式とポリシーの例の詳細については、「アクセスポイントポリシーでのバケットオペレーション」を参照してください。アクセスポイントポリシーの詳細については、「アクセスポイントを使用するための IAM ポリシーの設定」を参照してください。

  • すべてのバケットオペレーションがアクセスポイントでサポートされているわけではありません。詳細については、「S3 オペレーションとアクセスポイントの互換性」を参照してください。

以下は、バケットオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

CreateBucket

(必須) s3:CreateBucket

新しい S3 バケットを作成するのに必要です。

(条件付きで必須) s3:PutBucketAcl

アクセスコントロールリスト (ACL) を使用して、CreateBucket リクエスト時にバケットに対してアクセス許可を指定する場合に必要です。

(条件付きで必須) s3:PutBucketObjectLockConfigurations3:PutBucketVersioning

バケットの作成時に Object Lock を有効にする場合は必須です。

(条件付きで必須) s3:PutBucketOwnershipControls

バケットの作成時に S3 オブジェクトの所有権を指定する場合は必須です。

DeleteBucket

(必須) s3:DeleteBucket

S3 バケットを削除するために必要です。

DeleteBucketAnalyticsConfiguration

(必須) s3:PutAnalyticsConfiguration

S3 バケットから S3 分析設定を削除するために必要です。

DeleteBucketCors

(必須) s3:PutBucketCORS

バケットのクロスオリジンリソース共有 (CORS) 設定を削除するために必要です。

DeleteBucketEncryption

(必須) s3:PutEncryptionConfiguration

Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) は、S3 のバケットでデフォルトの暗号化設定をリセットするために必要です。

DeleteBucketIntelligentTieringConfiguration

(必須) s3:PutIntelligentTieringConfiguration

S3 バケットから既存の S3 Intelligent-Tiering 設定を削除するために必要です。

DeleteBucketInventoryConfiguration

(必須) s3:PutInventoryConfiguration

S3 バケットから S3 インベントリ設定を削除するために必要です。

DeleteBucketLifecycle

(必須) s3:PutLifecycleConfiguration

S3 バケットの S3 ライフサイクル設定を削除するために必要です。

DeleteBucketMetricsConfiguration

(必須) s3:PutMetricsConfiguration

Amazon S3 バケットからの Amazon CloudWatch リクエストメトリクスのメトリクス構成を削除するために必要です。

DeleteBucketOwnershipControls

(必須) s3:PutBucketOwnershipControls

S3 バケットのオブジェクト所有権設定を削除するために必要です。削除後、オブジェクト所有権の設定は Object writer になります。

DeleteBucketPolicy

(必須) s3:DeleteBucketPolicy

S3 バケットのポリシーを削除するために必要です。

DeleteBucketReplication

(必須) s3:PutReplicationConfiguration

S3 バケットのレプリケーション設定を削除するために必要です。

DeleteBucketTagging

(必須) s3:PutBucketTagging

S3 バケットからタグを削除するために必要です。

DeleteBucketWebsite

(必須) s3:DeleteBucketWebsite

S3 バケットのウェブサイト設定を削除するために必要です。

DeletePublicAccessBlock (バケットレベル)

(必須) s3:PutBucketPublicAccessBlock

S3 バケットのブロックパブリックアクセス設定を削除するために必要です。

GetBucketAccelerateConfiguration

(必須) s3:GetAccelerateConfiguration

Accelerate サブリソースを使用してバケット のAmazon S3 Transfer Acceleration 状態 (Enabled または Suspended) を返すために必要です。

GetBucketAcl

(必須) s3:GetBucketAcl

S3 バケットのアクセスコントロールリスト (ACL) を返すために必要です。

GetBucketAnalyticsConfiguration

(必須) s3:GetAnalyticsConfiguration

S3 バケットから分析設定 ID によって識別される分析設定を返すために必要です。

GetBucketCors

(必須) s3:GetBucketCORS

S3 バケットのクロスオリジンリソース共有 (CORS) 設定を返すために必要です。

GetBucketEncryption

(必須) s3:GetEncryptionConfiguration

S3 バケットのデフォルトの暗号化設定を返すために必要です。

GetBucketIntelligentTieringConfiguration

(必須) s3:GetIntelligentTieringConfiguration

S3 バケットの S3 Intelligent-Tiering 設定を取得するために必要です。

GetBucketInventoryConfiguration

(必須) s3:GetInventoryConfiguration

バケットのインベントリ設定 ID で識別されインベントリ設定を返すために必要です。

GetBucketLifecycle

(必須) s3:GetLifecycleConfiguration

バケットの S3 ライフサイクル設定を返すために必要です。

GetBucketLocation

(必須) s3:GetBucketLocation

S3 バケットが存在する AWS リージョンを返すために必要です。

GetBucketLogging

(必須) s3:GetBucketLogging

S3 バケットのロギングステータスと、ユーザーがそのステータスを表示および変更するアクセス許可を返すために必要です。

GetBucketMetricsConfiguration

(必須) s3:GetMetricsConfiguration

メトリクス設定 ID で指定されたメトリクス設定をバケットから取得するために必要です。

GetBucketNotificationConfiguration

(必須) s3:GetBucketNotification

S3 バケットの通知設定を返すために必要です。

GetBucketOwnershipControls

(必須) s3:GetBucketOwnershipControls

S3 バケットのオブジェクト所有権設定を取得するために必要です。

GetBucketPolicy

(必須) s3:GetBucketPolicy

ポリシーを S3 バケットに返すために必要です。

GetBucketPolicyStatus

(必須) s3:GetBucketPolicyStatus

バケットがパブリックかどうかを示す S3 バケットのポリシーステータスを取得するために必要です。

GetBucketReplication

(必須) s3:GetReplicationConfiguration

S3 バケットのレプリケーション設定を返すために必要です。

GetBucketRequestPayment

(必須) s3:GetBucketRequestPayment

S3 バケットのリクエスト支払い設定を返すために必要です。

GetBucketVersioning

(必須) s3:GetBucketVersioning

S3 バケットのバージョニング状態を返すために必要です。

GetBucketTagging

(必須) s3:GetBucketTagging

S3 バケットに関連付けられているタグセットを返すために必要です。

GetBucketWebsite

(必須) s3:GetBucketWebsite

S3 バケットのウェブサイト設定を返すために必要です。

GetObjectLockConfiguration

(必須) s3:GetBucketObjectLockConfiguration

S3 バケットの Object Lock 設定を取得するために必要です。

GetPublicAccessBlock (バケットレベル)

(必須) s3:GetBucketPublicAccessBlock

S3 バケットのブロックパブリックアクセス設定を取得するために必要です。

HeadBucket

(必須) s3:ListBucket

バケットが存在し、そのバケットにアクセスする許可があるかどうかを判断するために必要です。

ListBucketAnalyticsConfigurations

(必須) s3:GetAnalyticsConfiguration

S3 バケットの分析設定を一覧表示するために必要です。

ListBucketIntelligentTieringConfigurations

(必須) s3:GetIntelligentTieringConfiguration

S3 バケットの S3 Intelligent-Tiering 設定を一覧表示するために必要です。

ListBucketInventoryConfigurations

(必須) s3:GetInventoryConfiguration

S3 バケットのインベントリ設定のリストを返すために必要です。

ListBucketMetricsConfigurations

(必須) s3:GetMetricsConfiguration

S3 バケットのメトリクス設定を一覧表示するために必要です。

ListObjects

(必須) s3:ListBucket

S3 バケットのオブジェクトの一部またはすべて (最大 1,000) を一覧表示するために必要です。

(条件付きで必須) s3:GetObjectAcl

オブジェクト所有者情報を表示する場合に必要です。

ListObjectsV2

(必須) s3:ListBucket

S3 バケットのオブジェクトの一部またはすべて (最大 1,000) を一覧表示するために必要です。

(条件付きで必須) s3:GetObjectAcl

オブジェクト所有者情報を表示する場合に必要です。

ListObjectVersions

(必須) s3:ListBucketVersions

S3 バケット内のすべてのバージョンのオブジェクトに関するメタデータを取得するために必要です。

PutBucketAccelerateConfiguration

(必須) s3:PutAccelerateConfiguration

既存のバケットの加速設定を指定するために必要です。

PutBucketAcl

(必須) s3:PutBucketAcl

アクセスコントロールリスト (ACL) を使用して、既存のバケットに対するアクセス許可を設定するために必要です。

PutBucketAnalyticsConfiguration

(必須) s3:PutAnalyticsConfiguration

S3 バケットの分析設定を行うために必要です。

PutBucketCors

(必須) s3:PutBucketCORS

S3 バケットのクロスオリジンリソース共有 (CORS) 設定を指定するために必要です。

PutBucketEncryption

(必須) s3:PutEncryptionConfiguration

S3 バケットにデフォルトの暗号化を設定するために必要です。

PutBucketIntelligentTieringConfiguration

(必須) s3:PutIntelligentTieringConfiguration

S3 Intelligent-Tiering 設定を S3 バケットに配置するために必要です。

PutBucketInventoryConfiguration

(必須) s3:PutInventoryConfiguration

S3 バケットにインベントリ設定を追加するために必要です。

PutBucketLifecycle

(必須) s3:PutLifecycleConfiguration

S3 バケットの新しい S3 ライフサイクル設定を作成するか、既存のライフサイクル設定を置き換えるために必要です。

PutBucketLogging

(必須) s3:PutBucketLogging

S3 バケットのログ記録パラメータを設定し、ログ記録パラメータを表示および変更できるユーザーのアクセス許可を指定するために必要です。

PutBucketMetricsConfiguration

(必須) s3:PutMetricsConfiguration

S3 バケットの Amazon CloudWatch リクエストメトリクスのメトリクス設定を実行または更新するために必要です。

PutBucketNotificationConfiguration

(必須) s3:PutBucketNotification

S3 バケットの指定されたイベントの通知を有効にするために必要です。

PutBucketOwnershipControls

(必須) s3:PutBucketOwnershipControls

S3 バケットのオブジェクト所有権設定を作成または変更するために必要です。

PutBucketPolicy

(必須) s3:PutBucketPolicy

S3 バケットポリシーをバケットに適用するために必要です。

PutBucketReplication

(必須) s3:PutReplicationConfiguration

新しいレプリケーション設定を作成するか、S3 バケットの既存のレプリケーション設定を置き換えるために必要です。

PutBucketRequestPayment

(必須) s3:PutBucketRequestPayment

バケットのリクエスト支払い設定を実行するために必要です。

PutBucketTagging

(必須) s3:PutBucketTagging

S3 バケットにタグのセットを追加するために必要です。

PutBucketVersioning

(必須) s3:PutBucketVersioning

S3 バケットのバージョニング状態を設定するために必要です。

PutBucketWebsite

(必須) s3:PutBucketWebsite

バケットをウェブサイトとして設定し、ウェブサイトの設定を行うために必要です。

PutObjectLockConfiguration

(必須) s3:PutBucketObjectLockConfiguration

S3 バケットに Object Lock 設定を追加するために必要です。

PutPublicAccessBlock (バケットレベル)

(必須) s3:PutBucketPublicAccessBlock

S3 バケットのブロックパブリックアクセス設定を作成または変更するために必要です。

オブジェクトオペレーションは、オブジェクトリソースタイプで動作する S3 API オペレーションです。リソースベースのポリシー (バケットポリシー、アクセスポイントポリシー、マルチリージョンアクセスポイントポリシー、VPC エンドポイントポリシーなど) または IAM アイデンティティベースのポリシーでオブジェクトオペレーションに S3 ポリシーアクションを指定する必要があります。

ポリシーでは、Resource 要素はオブジェクト ARN である必要があります。Resource 要素形式とポリシーの例の詳細については、「オブジェクト操作」を参照してください。

注記
  • AWS KMS ポリシーアクション (kms:GenerateDataKey および kms:Decrypt) は AWS KMS リソースタイプにのみ適用され、IAM アイデンティティベースのポリシーと AWS KMS リソースベースのポリシー (AWS KMS キーポリシー) で指定する必要があります。S3 バケットポリシーなど、S3 リソースベースのポリシーでは AWS KMS ポリシーアクションを指定できません。

  • アクセスポイントを使用してオブジェクトオペレーションへのアクセスを制御する場合、アクセスポイントポリシーを使用できます。アクセスポイントポリシーのオブジェクトオペレーションにアクセス許可を付与するには、次の点に注意してください。

  • すべてのオブジェクトオペレーションがマルチリージョンアクセスポイントでサポートされているわけではありません。詳細については、「S3 オペレーションとマルチリージョンアクセスポイントの互換性」を参照してください。

オブジェクトオペレーションと必要なポリシーアクションのマッピングを次に示します。

API オペレーション ポリシーアクション ポリシーアクションの説明

AbortMultipartUpload

(必須) s3:AbortMultipartUpload

マルチパートアップロードを中止するために必要です。

CompleteMultipartUpload

(必須) s3:PutObject

マルチパートアップロードを完了するために必要です。

(条件付きで必須) kms:Decrypt

AWS KMS カスタマーマネージドキー暗号化オブジェクトのマルチパートアップロードを完了する場合に必要です。

CopyObject

ソースオブジェクトの場合:

ソースオブジェクトの場合:

(必須) s3:GetObject または s3:GetObjectVersion

  • s3:GetObject – リクエストで versionId を指定せずにソースバケットからオブジェクトをコピーする場合に必要です。

  • s3:GetObjectVersion – リクエストで versionId を指定して、ソースバケットから特定のバージョンのオブジェクトをコピーする場合に必要です。

(条件付きで必須) kms:Decrypt

ソースバケットから AWS KMS カスタマーマネージドキーで暗号化されたオブジェクトをコピーする場合に必要です。

送信先オブジェクトの場合:

送信先オブジェクトの場合:

(必須) s3:PutObject

コピーしたたオブジェクトを送信先バケットに配置するために必要です。

(条件付きで必須) s3:PutObjectAcl

CopyObject リクエストを行うときに、オブジェクトアクセスコントロールリスト (ACL) を持つコピーしたオブジェクトを送信先バケットに配置する場合に必要です。

(条件付きで必須) s3:PutObjectTagging

CopyObject リクエストを行うときに、オブジェクトのタグが付いたコピーしたオブジェクトを送信先バケットに配置する場合に必要です。

(条件付きで必須) kms:GenerateDataKey

コピーしたオブジェクトを AWS KMS カスタマーマネージドキーで暗号化し、送信先バケットに配置する場合に必要です。

(条件付きで必須) s3:PutObjectRetention

新しいオブジェクトの Object Lock 保持設定を行う場合に必要です。

(条件付きで必須) s3:PutObjectLegalHold

新しいオブジェクトに Object Lock のリーガルホールドを適用する場合に必要です。

CreateMultipartUpload

(必須) s3:PutObject

マルチパートアップロードを作成するために必要です。

(条件付きで必須) s3:PutObjectAcl

アップロードしたオブジェクトのオブジェクトアクセスコントロールリスト (ACL) アクセス許可を設定する場合に必要です。

(条件付きで必須) s3:PutObjectTagging

アップロードしたオブジェクトにオブジェクトのタグ付け (複数可) を追加する場合に必要です。

(条件付きで必須) kms:GenerateDataKey

マルチパートアップロードを開始するときに、AWS KMS カスタマーマネージドキーを使用してオブジェクトを暗号化する場合に必要です。

(条件付きで必須) s3:PutObjectRetention

アップロードしたオブジェクトの Object Lock 保持設定を実行する場合に必要です。

(条件付きで必須) s3:PutObjectLegalHold

アップロードしたオブジェクトに Object Lock のリーガルホールドを適用する場合に必要です。

DeleteObject

(必須) s3:DeleteObject または s3:DeleteObjectVersion

  • s3:DeleteObject – リクエストで versionId を指定せずにオブジェクトを削除する場合に必要です。

  • s3:DeleteObjectVersion – リクエストで versionId を指定してオブジェクトの特定のバージョンを削除する場合に必要です。

(条件付きで必須) s3:BypassGovernanceRetention

Object Lock 保持のガバナンスモードで保護されているオブジェクトを削除する場合に必要です。

DeleteObjects

(必須) s3:DeleteObject または s3:DeleteObjectVersion

  • s3:DeleteObject – リクエストで versionId を指定せずにオブジェクトを削除する場合に必要です。

  • s3:DeleteObjectVersion – リクエストで versionId を指定してオブジェクトの特定のバージョンを削除する場合に必要です。

(条件付きで必須) s3:BypassGovernanceRetention

Object Lock 保持のガバナンスモードで保護されているオブジェクトを削除する場合に必要です。

DeleteObjectTagging

(必須) s3:DeleteObjectTagging または s3:DeleteObjectVersionTagging

  • s3:DeleteObjectTagging – リクエストで versionId を指定せずにオブジェクトのタグセット全体を削除する場合に必要です。

  • s3:DeleteObjectVersionTagging – リクエストで versionId を指定して、特定のオブジェクトバージョンのタグを削除する場合に必要です。

GetObject

(必須) s3:GetObject または s3:GetObjectVersion

  • s3:GetObject – リクエストで versionId を指定せずにオブジェクトを取得する場合に必要です。

  • s3:GetObjectVersion – リクエストで versionId を指定して特定のバージョンのオブジェクトを取得する場合に必要です。

(条件付きで必須) kms:Decrypt

AWS KMS カスタマーマネージドキーで暗号化されたオブジェクトを取得および復号する場合に必要です。

(条件付きで必須) s3:GetObjectTagging

GetObject リクエストを行うときにオブジェクトのタグセットを取得する場合に必要です。

(条件付きで必須) s3:GetObjectLegalHold

オブジェクトの現在の Object Lock のリーガルホールドステータスを取得する場合に必要です。

(条件付きで必須) s3:GetObjectRetention

オブジェクトの Object Lock 保持設定を取得する場合に必要です。

GetObjectAcl

(必須) s3:GetObjectAcl または s3:GetObjectVersionAcl

  • s3:GetObjectAcl – リクエストで versionId を指定せずにオブジェクトのアクセスコントロールリスト (ACL) を取得する場合に必要です。

  • s3:GetObjectVersionAcl – リクエストで versionId を指定してオブジェクトのアクセスコントロールリスト (ACL) を取得する場合に必要です。

GetObjectAttributes

(必須) s3:GetObject または s3:GetObjectVersion

  • s3:GetObject – リクエストで versionId を指定せずにオブジェクトに関連する属性を取得する場合に必要です。

  • s3:GetObjectVersion – リクエストで versionId を指定して、特定のオブジェクトバージョンに関連する属性を取得する場合に必要です。

(条件付きで必須) kms:Decrypt

AWS KMS カスタマーマネージドキー暗号化オブジェクトに関連する属性を取得する場合に必要です。

GetObjectLegalHold

(必須) s3:GetObjectLegalHold

オブジェクトの現在の Object Lock のリーガルホールドステータスを取得するために必要です。

GetObjectRetention

(必須) s3:GetObjectRetention

オブジェクトの Object Lock 保持設定を取得するために必要です。

GetObjectTagging

(必須) s3:GetObjectTagging または s3:GetObjectVersionTagging

  • s3:GetObjectTagging – リクエストで versionId を指定せずにオブジェクトのタグセットを取得する場合に必要です。

  • s3:GetObjectVersionTagging – リクエストで versionId を指定して、特定のオブジェクトバージョンのタグを取得する場合に必要です。

GetObjectTorrent

(必須) s3:GetObject

オブジェクトの torrent ファイルを返すために必要です。

HeadObject

(必須) s3:GetObject

オブジェクト自体を返さずにオブジェクトからメタデータを取得するために必要です。

(条件付きで必須) s3:GetObjectLegalHold

オブジェクトの現在の Object Lock のリーガルホールドステータスを取得する場合に必要です。

(条件付きで必須) s3:GetObjectRetention

オブジェクトの Object Lock 保持設定を取得する場合に必要です。

ListMultipartUploads

(必須) s3:ListBucketMultipartUploads

バケット内の進行中のマルチパートアップロードを一覧表示するために必要です。

ListParts

(必須) s3:ListMultipartUploadParts

特定のマルチパートアップロードでアップロードされている部分を一覧表示するために必要です。

(条件付きで必須) kms:Decrypt

AWS KMS カスタマーマネージドキー暗号化マルチパートアップロードの一部を一覧表示する場合に必要です。

PutObject

(必須) s3:PutObject

オブジェクトを配置するために必要です。

(条件付きで必須) s3:PutObjectAcl

PutObject リクエストを行うときにオブジェクトアクセスコントロールリスト (ACL) を配置する場合に必要です。

(条件付きで必須) s3:PutObjectTagging

PutObject リクエストを行うときにオブジェクトのタグ付けを行う場合に必要です。

(条件付きで必須) kms:GenerateDataKey

AWS KMS カスタマーマネージドキーを使用してオブジェクトを暗号化する場合に必要です。

(条件付きで必須) s3:PutObjectRetention

オブジェクトに Object Lock 保持設定を行う場合に必要です。

(条件付きで必須) s3:PutObjectLegalHold

指定されたオブジェクトに Object Lock のリーガルホールド設定を適用する場合に必要です。

PutObjectAcl

(必須) s3:PutObjectAcl または s3:PutObjectVersionAcl

  • s3:PutObjectAcl – リクエストで versionId を指定せずに、新規または既存のオブジェクトのアクセスコントロールリスト (ACL) のアクセス許可を設定する場合に必要です。

  • s3:PutObjectVersionAcl – リクエストで versionId を指定して、新規または既存のオブジェクトのアクセスコントロールリスト (ACL) アクセス許可を設定する場合に必要です。

PutObjectLegalHold

(必須) s3:PutObjectLegalHold

Object Lock のリーガルホールド設定をオブジェクトに適用するために必要です。

PutObjectRetention

(必須) s3:PutObjectRetention

Object Lock 保持設定をオブジェクトに適用するために必要です。

(条件付きで必須) s3:BypassGovernanceRetention

Object Lock 保持設定のガバナンスモードをバイパスする場合に必要です。

PutObjectTagging

(必須) s3:PutObjectTagging または s3:PutObjectVersionTagging

  • s3:PutObjectTagging – リクエストで versionId を指定せずに、指定されたタグセットをバケットに既に存在するオブジェクトに設定する場合に必要です。

  • s3:PutObjectVersionTagging – リクエストで versionId を指定して、指定されたタグセットをバケットに既に存在するオブジェクトに設定する場合に必要です。

RestoreObject

(必須) s3:RestoreObject

アーカイブしたオブジェクトのコピーを復元するために必要です。

SelectObjectContent

(必須) s3:GetObject

シンプルな構造化クエリ言語 (SQL) ステートメントに基づいて S3 オブジェクトのコンテンツをフィルタリングするために必要です。

(条件付きで必須) kms:Decrypt

AWS KMS カスタマーマネージドキーで暗号化された S3 オブジェクトのコンテンツをフィルタリングする場合に必要です。

UploadPart

(必須) s3:PutObject

マルチパートアップロードでパートをアップロードするために必要です。

(条件付きで必須) kms:GenerateDataKey

アップロードパートを配置し、AWS KMS カスタマーマネージドキーで暗号化する場合に必要です。

UploadPartCopy

ソースオブジェクトの場合:

ソースオブジェクトの場合:

(必須) s3:GetObject または s3:GetObjectVersion

  • s3:GetObject – リクエストで versionId を指定せずにソースバケットからオブジェクトをコピーする場合に必要です。

  • s3:GetObjectVersion – リクエストで versionId を指定して、ソースバケットから特定のバージョンのオブジェクトをコピーする場合に必要です。

(条件付きで必須) kms:Decrypt

ソースバケットから AWS KMS カスタマーマネージドキーで暗号化されたオブジェクトをコピーする場合に必要です。

送信先のパートの場合:

送信先のパートの場合:

(必須) s3:PutObject

マルチパートアップロードのパートを送信先バケットにアップロードするために必要です。

(条件付きで必須) kms:GenerateDataKey

パートを送信先バケットにアップロードするときに、AWS KMS カスタマーマネージドキーを使用してパートを暗号化する場合に必要です。

アクセスポイントオペレーションは、accesspoint リソースタイプで動作する S3 API オペレーションです。アクセスポイントオペレーションの S3 ポリシーアクションは、バケットポリシーやアクセスポイントポリシーではなく、IAM アイデンティティベースのポリシーで指定する必要があります。

ポリシーでは、Resource 要素は accesspoint ARN である必要があります。Resource 要素形式とポリシーの例の詳細については、「アクセスポイントオペレーション」を参照してください。

注記

アクセスポイントを使用してバケットまたはオブジェクトオペレーションへのアクセスを制御する場合は、次の点に注意してください。

以下は、アクセスポイントオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

CreateAccessPoint

(必須) s3:CreateAccessPoint

S3 バケットに関連付けられているアクセスポイントを作成するために必要です。

DeleteAccessPoint

(必須) s3:DeleteAccessPoint

アクセスポイントを削除するために必要です。

DeleteAccessPointPolicy

(必須) s3:DeleteAccessPointPolicy

アクセスポイントポリシーを削除するために必要です。

GetAccessPointPolicy

(必須) s3:GetAccessPointPolicy

アクセスポイントポリシーを取得するために必要です。

GetAccessPointPolicyStatus

(必須) s3:GetAccessPointPolicyStatus

指定したアクセスポイントにパブリックアクセスを許可するポリシーが現在あるかどうかに関する情報を取得するために必要です。

PutAccessPointPolicy

(必須) s3:PutAccessPointPolicy

アクセスポイントポリシーを配置するために必要です。

Object Lambda アクセスポイントオペレーションは、objectlambdaaccesspoint リソースタイプで動作する S3 API オペレーションです。Object Lambda アクセスポイントオペレーションのポリシーを設定する方法についての詳細は、「Object Lambda アクセスポイントの IAM ポリシーの設定」を参照してください。

Object Lambda アクセスポイントオペレーションと必要なポリシーアクションのマッピングを次に示します。

API オペレーション ポリシーアクション ポリシーアクションの説明

CreateAccessPointForObjectLambda

(必須) s3:CreateAccessPointForObjectLambda

Object Lambda アクセスポイントを作成するために必要です。

DeleteAccessPointForObjectLambda

(必須) s3:DeleteAccessPointForObjectLambda

指定した Object Lambda アクセスポイントを削除するために必要です。

DeleteAccessPointPolicyForObjectLambda

(必須) s3:DeleteAccessPointPolicyForObjectLambda

指定したオブジェクト Lambda アクセスポイントでポリシーを削除するために必要です。

GetAccessPointConfigurationForObjectLambda

(必須) s3:GetAccessPointConfigurationForObjectLambda

Object Lambda アクセスポイントの設定を取得するために必要です。

GetAccessPointForObjectLambda

(必須) s3:GetAccessPointForObjectLambda

Object Lambda アクセスポイントに関する情報を取得するために必要です。

GetAccessPointPolicyForObjectLambda

(必須) s3:GetAccessPointPolicyForObjectLambda

指定した Object Lambda アクセスポイントに関連付けられたアクセスポイントポリシーを返すために必要です。

GetAccessPointPolicyStatusForObjectLambda

(必須) s3:GetAccessPointPolicyStatusForObjectLambda

特定の Object Lambda アクセスポイントポリシーのポリシーステータスを返すために必要です。

PutAccessPointConfigurationForObjectLambda

(必須) s3:PutAccessPointConfigurationForObjectLambda

Object Lambda アクセスポイントの設定に必要です。

PutAccessPointPolicyForObjectLambda

(必須) s3:PutAccessPointPolicyForObjectLambda

アクセスポリシーを指定した Object Lambda アクセスポイントに関連付けるために必要です。

マルチリージョンアクセスポイントオペレーションは、multiregionaccesspoint リソースタイプで動作する S3 API オペレーションです。マルチリージョンアクセスポイントオペレーションのポリシーを設定する方法の詳細については、「マルチリージョンアクセスポイントポリシーの例」を参照してください。

以下は、マルチリージョンアクセスポイントオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

CreateMultiRegionAccessPoint

(必須) s3:CreateMultiRegionAccessPoint

マルチリージョンアクセスポイントを作成し、S3 バケットに関連付けるために必要です。

DeleteMultiRegionAccessPoint

(必須) s3:DeleteMultiRegionAccessPoint

マルチリージョンアクセスポイントを削除するために必要です。

DescribeMultiRegionAccessPointOperation

(必須) s3:DescribeMultiRegionAccessPointOperation

マルチリージョンアクセスポイントを管理するための非同期リクエストのステータスを取得するために必要です。

GetMultiRegionAccessPoint

(必須) s3:GetMultiRegionAccessPoint

指定したマルチリージョンアクセスポイントに関する設定情報を返すために必要です。

GetMultiRegionAccessPointPolicy

(必須) s3:GetMultiRegionAccessPointPolicy

指定したマルチリージョンアクセスポイントのアクセスコントロールポリシーを返すために必要です。

GetMultiRegionAccessPointPolicyStatus

(必須) s3:GetMultiRegionAccessPointPolicyStatus

指定したマルチリージョンアクセスポイントにパブリックアクセスを許可するアクセスコントロールポリシーが存在するかどうかについて、特定のマルチリージョンアクセスポイントのポリシーステータスを返すために必要です。

GetMultiRegionAccessPointRoutes

(必須) s3:GetMultiRegionAccessPointRoutes

マルチリージョンアクセスポイントのルート設定を返すために必要です。

PutMultiRegionAccessPointPolicy

(必須) s3:PutMultiRegionAccessPointPolicy

指定したマルチリージョンアクセスポイントのアクセスコントロールポリシーを更新するために必要です。

SubmitMultiRegionAccessPointRoutes

(必須) s3:SubmitMultiRegionAccessPointRoutes

マルチリージョンアクセスポイントのルート設定の更新を送信するために必要です。

(バッチオペレーション) ジョブオペレーションは、job リソースタイプで動作する S3 API オペレーションです。ジョブオペレーションの S3 ポリシーアクションは、バケットポリシーではなく、IAM アイデンティティベースのポリシーで指定する必要があります。

ポリシーでは、Resource 要素は job ARN である必要があります。Resource 要素形式とポリシーの例の詳細については、「バッチジョブオペレーション」を参照してください。

以下は、バッチジョブオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

DeleteJobTagging

(必須) s3:DeleteJobTagging

既存の S3 バッチオペレーションジョブからタグを削除するために必要です。

DescribeJob

(必須) s3:DescribeJob

バッチオペレーションジョブの設定パラメータとステータスを取得するために必要です。

GetJobTagging

(必須) s3:GetJobTagging

既存の S3 バッチオペレーションジョブのタグセットを返すために必要です。

PutJobTagging

(必須) s3:PutJobTagging

既存の S3 バッチオペレーションジョブにタグを配置または置換するために必要です。

UpdateJobPriority

(必須) s3:UpdateJobPriority

既存のジョブの優先度を更新するために必要です。

UpdateJobStatus

(必須) s3:UpdateJobStatus

指定したジョブのステータスを更新するために必要です。

S3 ストレージレンズオペレーションは、storagelensconfiguration リソースタイプで動作する S3 API オペレーションです。S3 Storage Lens 設定オペレーションの設定方法の詳細については、「Amazon S3 ストレージレンズアクセス許可の設定」を参照してください。

以下は、S3 ストレージレンズの設定オペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

DeleteStorageLensConfiguration

(必須) s3:DeleteStorageLensConfiguration

S3 ストレージレンズ設定を削除するために必要です。

DeleteStorageLensConfigurationTagging

(必須) s3:DeleteStorageLensConfigurationTagging

S3 ストレージレンズ設定タグを削除するために必要です。

GetStorageLensConfiguration

(必須) s3:GetStorageLensConfiguration

S3 ストレージレンズ設定を取得するために必要です。

GetStorageLensConfigurationTagging

(必須) s3:GetStorageLensConfigurationTagging

S3 ストレージレンズ設定のタグを取得するために必要です。

PutStorageLensConfigurationTagging

(必須) s3:PutStorageLensConfigurationTagging

既存の S3 ストレージレンズ設定にタグを配置または置換するために必要です。

S3 ストレージレンズグループオペレーションは、storagelensgroup リソースタイプで動作する S3 API オペレーションです。S3 ストレージレンズグループのアクセス許可を設定する方法の詳細については、「Storage Lens グループのアクセス許可。」を参照してください。

以下は、S3 ストレージレンズグループのオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

DeleteStorageLensGroup

(必須) s3:DeleteStorageLensGroup

既存の S3 ストレージレンズグループを削除するために必要です。

GetStorageLensGroup

(必須) s3:GetStorageLensGroup

S3 ストレージレンズグループ設定の詳細を取得するために必要です。

UpdateStorageLensGroup

(必須) s3:UpdateStorageLensGroup

既存の S3 ストレージレンズグループを更新するために必要です。

アカウントオペレーションは、アカウントレベルで実行される S3 API オペレーションです。アカウントは、Amazon S3 で定義されるリソースタイプではありません。アカウントオペレーションの S3 ポリシーアクションは、バケットポリシーではなく、IAM アイデンティティベースのポリシーで指定する必要があります。

ポリシーでは、Resource 要素は "*" である必要があります。ポリシーの例の詳細については、「アカウントオペレーション」を参照してください。

以下は、アカウントオペレーションと必要なポリシーアクションのマッピングです。

API オペレーション ポリシーアクション ポリシーアクションの説明

CreateJob

(必須) s3:CreateJob

新しい S3 バッチオペレーションジョブを作成するために必要です。

CreateStorageLensGroup

(必須) s3:CreateStorageLensGroup

新しい S3 ストレージレンズグループを作成し、指定した AWS アカウント ID に関連付けるために必要です。

(条件付きで必須) s3:TagResource

AWS リソースタグを使用して S3 ストレージレンズグループを作成する場合に必要です。

DeletePublicAccessBlock (アカウントレベル)

(必須) s3:PutAccountPublicAccessBlock

ブロックパブリックアクセス設定を AWS アカウントから削除するために必要です。

GetAccessPoint

(必須) s3:GetAccessPoint

指定したアクセスポイントに関する設定情報を取得するために必要です。

GetAccessPointPolicy (アカウントレベル)

(必須) s3:GetAccountPublicAccessBlock

AWS アカウントのブロックパブリックアクセス設定を取得するために必要です。

ListAccessPoints

(必須) s3:ListAccessPoints

AWS アカウントが所有する S3 バケットのアクセスポイントを一覧表示するために必要です。

ListAccessPointsForObjectLambda

(必須) s3:ListAccessPointsForObjectLambda

Object Lambda アクセスポイントを一覧表示するために必要です。

ListBuckets

(必須) s3:ListAllMyBuckets

認証されたリクエスト送信者が所有するすべてのバケットのリストを返すために必要です。

ListJobs

(必須) s3:ListJobs

現在のジョブと最近終了したジョブを一覧表示するために必要です。

ListMultiRegionAccessPoints

(必須) s3:ListMultiRegionAccessPoints

指定した AWS アカウントに現在関連付けられているマルチリージョンアクセスポイントのリストを返すために必要です。

ListStorageLensConfigurations

(必須) s3:ListStorageLensConfigurations

AWS アカウントの S3 ストレージレンズ設定のリストを取得するために必要です。

ListStorageLensGroups

(必須) s3:ListStorageLensGroups

指定したホーム AWS リージョン内のすべての S3 ストレージレンズグループを一覧表示するために必要です。

PutPublicAccessBlock (アカウントレベル)

(必須) s3:PutAccountPublicAccessBlock

AWS アカウントのブロックパブリックアクセス設定を作成または変更するために必要です。

PutStorageLensConfiguration

(必須) s3:PutStorageLensConfiguration

S3 ストレージレンズ設定を配置するために必要です。