Amazon S3 インベントリの設定 - Amazon Simple Storage Service

Amazon S3 インベントリの設定

Amazon S3 インベントリには、Amazon S3 同期 List API オペレーションの代わりにスケジュールされたオブジェクトとメタデータのフラットファイルリストが用意されています。Amazon S3 インベントリは、S3 バケットまたはプレフィックスを共有するオブジェクト (つまり、名前の先頭が同じ文字列のオブジェクト) に関して、オブジェクトと対応するメタデータをリストしたカンマ区切り値 (CSV) または Apache 最適化行列 (ORC) または Apache Parquet (Parquet) 出力ファイルを毎日または毎週生成します。詳細については、「 Amazon S3 インベントリ」を参照してください。

このセクションでは、インベントリのソースバケットと保存先バケットに関する詳細を含め、インベントリを設定する方法について説明します。

Overview

Amazon S3 インベントリは、定義したスケジュールで S3 バケット内のオブジェクトのリストを作成し、ストレージの管理に役立ちます。1 つのバケットに対して複数のインベントリリストを設定できます。インベントリリストは、保存先バケットの CSV または ORC、または Parquet ファイルに発行されます。

インベントリを設定する最も簡単な方法は、AWS Management Console を使用することですが、REST API、AWS CLI、または AWS SDK を使用することもできます。コンソールは、次の手順の最初のステップを実行します。保存先バケットへのバケットポリシーの追加。

S3 バケットの Amazon S3 インベントリをセットアップするには

  1. 保存先バケットのバケットポリシーを追加します。

    定義された場所のバケットにオブジェクトを書き込むアクセス許可を Amazon S3 に付与するバケットポリシーを保存先バケットに作成する必要があります。ポリシーの例については、「Amazon S3 インベントリと Amazon S3 の分析機能へのアクセス許可の付与」を参照してください。

  2. ソースバケットのオブジェクトをリストして保存先バケットにリストを発行するようにインベントリを設定します。

    ソースバケットのインベントリリストを設定するときは、リストを保存する保存先バケットと、リストを毎日または毎週のどちらで生成したいかを、指定します。また、含めるオブジェクトメタデータ、およびすべてのオブジェクトバージョンと現在のバージョンだけのどちらをリストするかも、設定できます。

    Amazon S3 マネージドキー (SSE-S3) または AWS Key Management Service (AWS KMS) カスタマーマネージドキーを使用してインベントリリストファイルを暗号化するように指定できます。SSE-S3 および SSE-KMS に関する詳細は、「サーバー側の暗号化を使用したデータの保護」を参照してください。SSE-KMS 暗号化を使用する場合は、ステップ 3 を参照してください。

    • コンソールを使用してインベントリリストを設定する方法については、「Amazon S3 インベントリの設定」を参照してください。

    • Amazon S3 API を使用してインベントリリストを設定するには、PUT バケットインベントリ設定 REST API を使用するか、AWS CLI または AWS SDK のそれに相当する機能を使用します。

  3. SSE-KMS を使用してインベントリリストファイルを暗号化するには、AWS KMS key を使用するための許可を Amazon S3 に付与します

    AWS Management Console、REST API、AWS CLI、または AWS SDK を使用してインベントリリストファイルの暗号化を設定することができます。どちらの方法を選択しても、 カスタマーマネージドキーを使用してインベントリファイルを暗号化する許可を Amazon S3 に付与する必要があります。Amazon S3 に許可を付与するには、インベントリファイルの暗号化に使用するカスタマーマネージドキーのキーポリシーを変更します。詳細については、次のセクション「AWS KMS key を暗号化に使用する許可の Amazon S3 への付与」をご覧ください。

ターゲットバケットポリシーの作成

Amazon S3 は、Amazon S3 に書き込みアクセス許可を付与するバケットポリシーをターゲットバケットで作成します。これにより、Amazon S3 がインベントリレポートのデータをバケットに書き込むことができるようになります。

バケットポリシーを作成しようとしたときにエラーが発生した場合、解決するための手順が表示されます。例えば、別の AWS アカウント 内のターゲットバケットを選択したが、バケットポリシーの読み書きを行う許可がない場合、次のエラーメッセージが表示されます。

この場合、ターゲットバケットの所有者は、表示されたバケットポリシーをターゲットバケットに追加する必要があります。ポリシーがターゲットバケットに追加されない場合、Amazon S3 にはターゲットバケットに書き込むアクセス許可がないため、インベントリレポートを取得できません。ソースバケットが現在のユーザー以外のアカウントによって所有されている場合、ポリシーでソースバケットの正しいアカウント ID に置き換える必要があります。

AWS KMS key を暗号化に使用する許可の Amazon S3 への付与

カスタマーマネージド AWS Key Management Service (AWS KMS) キーを使用して暗号化する許可を Amazon S3 に付与するには、キーポリシーを使用する必要があります。カスタマーマネージドキーを使用できるようにキーポリシーを更新するには、次の手順に従います。

KMS キーを使用した暗号化の許可を付与するには

  1. カスタマーマネージドキーを所有する AWS アカウントを使用して、AWS Management Console にサインインします。

  2. AWS KMS コンソール (https://console.aws.amazon.com/kms) を開きます。

  3. AWS リージョンを変更するには、ページの右上隅にあるリージョンセレクターを使用します。

  4. 左のナビゲーションペインで、[Customer managed keys ] を選択します。

  5. [カスタマーマネージドキー] で、インベントリファイルの暗号化に使用するカスタマーマネージドキーを選択します。

  6. [Key policy] 行で、[Switch to policy view] を選択します。

  7. [編集] をクリックし、キーポリシーを更新します。

  8. [キーポリシーの編集] で、既存のキーポリシーに次のキーポリシーを追加します。

    { "Sid": "Allow Amazon S3 use of the KMS key", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey" ], "Resource": "*", "Condition":{ "StringEquals":{ "aws:SourceAccount":"source-account-id" }, "ArnLike":{ "aws:SourceARN": "arn:aws:s3:::source-bucket-name" } } }
  9. [Save changes] (変更の保存) をクリックします。

カスタマーマネージドキーの作成とキーポリシーの使用の詳細については、AWS Key Management Service デベロッパーガイドの次のリンクを参照してください。

S3 コンソールを使用したインベントリの設定

S3 コンソールを使用してインベントリを設定するには、以下の手順を使用します。

注記

最初のレポートが配信されるまでに最大で 48 時間かかることがあります。

  1. AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/) を開きます。

  2. [バケット] リストで、Amazon S3 インベントリを設定するバケットの名前を選択します。

  3. [Management (管理)] を選択します。

  4. [インベントリ設定] で、[インベントリ設定の作成] を選択します。

  5. [インベントリ設定名] に、名前を入力します。

  6. [インベントリ範囲] を設定します。

    • オプションのプレフィックスを入力します。

    • オブジェクトバージョンを選択します: [現在のバージョンのみ] または [すべてのバージョンを含める]。

  7. [Report details] (レポートの詳細) で、[This account] (このアカウント) または [A different account] (別のアカウント) のいずれかを、レポートを保存する AWS アカウント の場所として選択します。

  8. [保存先] で、レポートを保存するターゲットバケットを選択します。

    ターゲットバケットは、インベントリをセットアップするバケットと同じ AWS リージョン にある必要があります。ターゲットバケットは、別の AWS アカウント にある場合があります。[保存先] バケットフィールドの下に、Amazon S3 がそのバケットにデータを入れることを許可するために保存先バケットポリシーに追加される [保存先バケットのアクセス許可] が表示されます。詳細については、「ターゲットバケットポリシーの作成」を参照してください。

  9. [頻度] の下で、レポートを生成する頻度を選択します: [毎日] または [毎週]。

  10. イメージの [出力形式] を設定します。

    • CSV

    • Apache ORC

    • Apache Parquet

  11. [ステータス] の下で、[有効化] または [無効化] を選択します。

  12. サーバー側の暗号化を使用するには、[サーバー側の暗号化] で、次の手順を実行します。

    1. [Enable] を選択します。

    2. [Encryption key type] (暗号化キータイプ) で、[Amazon S3 key (SSE-S3)] (Amazon S3 キー (SSE-S3)) または [AWS Key Management Service key (SSE-KMS)] (AWS Key Management Service キー (SSE-KMS)) を選択します。

      Amazon S3 のサーバー側の暗号化では、256 ビットの Advanced Encryption Standard (AES-256) が使用されます。詳細については、「Amazon S3 が管理する暗号化キーによるサーバー側の暗号化 (SSE-S3) を使用したデータの保護」を参照してください。SSE-KMS に関する詳細は、「AWS Key Management Service (SSE-KMS) に保存されている KMS キーでサーバー側の暗号化を使用してデータを保護する」を参照してください。

    3. AWS KMS key を使用するには、次のいずれかを選択します。

      • AWS マネージドキー (aws/s3)

      • AWS KMS keysから選択しKMS キーを選択します。

      • AWS KMS key ARN を入力し、AWS KMS キー ARN を入力します。

      注記

      SSE-KMS を使用してインベントリリストファイルを暗号化するには、AWS KMS key を使用する許可を Amazon S3 に付与する必要があります。手順については、「KMS キーを使用した暗号化のための Amazon S3 への許可の付与」を参照してください。

  13. [追加フィールド] では、インベントリレポートに追加するものを以下から 1 つ以上選択します。

    • サイズ – オブジェクトのサイズ (バイト単位)。

    • 最終更新日 – オブジェクトの作成日または最終更新日のどちらか新しい方。

    • ストレージクラス – オブジェクトの保存に使用されるストレージクラス。

    • ETag – エンティティタグは、オブジェクトのハッシュです。ETag は、オブジェクトのコンテンツに加えた変更のみを反映し、メタデータに加えた変更は反映しません。ETag は、オブジェクトデータの MD5 ダイジェストである場合と、そうでない場合があります。どちらであるかは、オブジェクトの作成方法と暗号化方法によって決まります。

    • [マルチパートアップロード] – オブジェクトがマルチパートアップロードとしてアップロードされたことを指定します。詳細については、「マルチパートアップロードを使用したオブジェクトのアップロードとコピー」を参照してください。

    • [レプリケーションステータス] – オブジェクトのレプリケーションステータス。詳細については、「S3 コンソールの使用」を参照してください。

    • 暗号化ステータス – オブジェクトの暗号化に使用されたサーバー側の暗号化。詳細については、「サーバー側の暗号化を使用したデータの保護」を参照してください。

    • [S3 オブジェクトのロック設定] – オブジェクトのオブジェクトロックステータス。次の設定が含まれます。

      • リテンションモード – オブジェクトに適用される保護のレベル (ガバナンスまたはコンプライアンス)。

      • リテンション期日 – ロックされたオブジェクトを削除できなくなる日付です。

      • [リーガルホールドステータス] – ロックされたオブジェクトのリーガルホールドステータス。

      S3 オブジェクトロックの詳細については、「S3 オブジェクトロックの仕組み」を参照してください。

    • Intelligent-Tiering アクセス層 – Intelligent-Tiering に保存されている場合の、オブジェクトのアクセス層 (頻繁または低頻度) を示します。詳細については、「アクセスパターンが変化する、またはアクセスパターンが不明なデータを、自動的に最適化するためのストレージクラス」を参照してください。

    • S3 バケットキーステータス — AWS KMS によって生成されたバケットレベルのキーがオブジェクトに適用されているかどうかを示します。詳細については、「Amazon S3 バケットキーを使用した SSE-KMS のコストの削減」を参照してください。

    インベントリレポートの内容の詳細については、「Amazon S3 インベントリリスト」を参照してください。

  14. [Create] を選択します。