Compute Optimizer の Amazon S3 バケットポリシー - AWS Compute Optimizer

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

Compute Optimizer の Amazon S3 バケットポリシー

Compute Optimizer推奨事項はカンマ区切り値 (.csv) ファイルで、そのメタデータはJavaScriptオブジェクト表記 (.json) ファイルで、 Amazon Simple Storage Service (Amazon S3) バケットにエクスポートできます。詳細については、推奨事項のエクスポート を参照してください。

エクスポートジョブを作成する前に、レコメンデーションエクスポートの宛先 S3 バケットを作成する必要があります。Compute Optimizer は S3 バケットを作成しません。レコメンデーションエクスポートファイルに指定する S3 バケットはパブリックにアクセスできず、リクエスタ支払いバケットとして設定することもできません。

ベストプラクティスとして、Compute Optimizer エクスポートファイル専用の S3 バケットを作成します。詳細については、 コンソールユーザーガイドの「S3 バケットを作成するAmazon S3方法」を参照してください。S3 バケットを作成したら、そのバケットにエクスポートファイルの書き込みを許可するために必要なアクセス許可ポリシーが Compute Optimizer に設定されていることを確認します。詳細については、推奨事項のエクスポート用に既存のバケットを指定する を参照してください。

推奨事項のエクスポートに暗号化された S3 バケットを使用する

Compute Optimizer 推奨事項のエクスポートの送信先として、AWS Key Management Service (AWS KMS) に保存された Amazon S3 マネージドキー (SSE-S3) またはカスタマーマスターキー (CMK) のいずれかで暗号化された S3 バケットを指定できます。

AWS KMS 暗号化が有効な S3 バケットを使用するには、対称 CMK を作成する必要があります。対称CMKsは、 でのみCMKsサポートされますAmazon S3。詳細については、 開発者ガイドの「キーAWS KMSの作成」を参照してください。CMK を作成したら、推奨事項のエクスポートに使用する予定の S3 バケットに CMK を適用する必要があります。詳細については、 Amazon S3 コンソールユーザーガイドの「 バケットのデフォルト暗号化を有効にする方法」を参照してくださいAmazon S3。

次の手順を使用して、暗号化された S3 バケットに保存するときに、CMK を使用して推奨事項のエクスポートファイルを暗号化するために必要なアクセス権限を Compute Optimizer に付与します。

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

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

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

  4. エクスポート S3 バケットを暗号化するために選択した CMK の名前を選択します。

  5. [キーポリシー] タブを選択して、次に [ポリシービューへの切り替え] を選択します。

  6. [編集] を選択して、キーポリシーを編集します。

  7. キーポリシーのステートメントセクションに以下をコピーして貼り付けます。

    このステートメント (GenerateDataKeyアクションの場合) により、Compute Optimizer は AWS KMS API を呼び出して、レコメンデーションファイルを暗号化するためのデータキーを取得できます。このようにして、アップロードされたデータ形式をバケットの暗号化設定に対応させることができます。それ以外の場合、Amazon S3 はエクスポートリクエストを拒否します。

    注記

    既存の CMK にすでに 1 つ以上のポリシーがアタッチされている場合は、それらのポリシーに Compute Optimizer アクセス用のステートメントを追加します。バケットにアクセスするユーザーに適していることを確認するために、作成したアクセス権限のセットを評価します。

    { "Sid": "Allow use of the key to Compute Optimizer", "Effect": "Allow", "Principal": { "Service": "compute-optimizer.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "*" }

推奨事項のエクスポート用に既存のバケットを指定する

以下の手順を使用して、Compute Optimizer が S3 バケットにレコメンデーションエクスポートファイルを書き込むことを許可するポリシーを S3 バケットにアタッチします。

  1. https://console.aws.amazon.com/s3/ にある Amazon S3 コンソールを開きます。

  2. Compute Optimizer がエクスポートファイルを配信するバケットを選択します。

  3. [Permissions] を選択します。

  4. [バケットポリシー] を選択します。

  5. 次のポリシーをコピーし、[Bucket Policy Editor] に貼り付けます。

    イタリック体のプレースホルダーを、バケット名、オブジェクトプレフィックス、エクスポートジョブのリクエスタのアカウント番号に置き換えます。レコメンデーションエクスポートの作成時にオブジェクトプレフィックスを指定する場合は、ここに含めます。オブジェクトプレフィックスは、S3 バケット内のエクスポートファイルを整理する S3 オブジェクトキーへのオプションの追加です。

    3 つのステートメントすべてを含めるには、このポリシーをコピーして貼り付ける必要があります。最初のステートメント (GetBucketAcl アクション用) を使用すると、Compute Optimizer はバケットのアクセスコントロールリスト (ACL)を取得できます。2 番目のステートメント (GetBucketPolicyStatus アクション用) を使用すると、Compute Optimizer はバケットがパブリックかどうかを示すバケットのポリシーステータスを取得できます。3 番目のステートメント (PutObject アクション用) は、Compute Optimizer にバケットにエクスポートファイルを配置するための完全なコントロールを提供します。これらのステートメントのいずれかが欠落している場合、ポリシーのバケット名とオプションのオブジェクトプレフィックスがエクスポートリクエストで指定したものと一致しない場合、またはポリシーのアカウント番号がエクスポートジョブのリクエスタのアカウント番号と一致しない場合、エクスポートリクエストは失敗します。

    注記

    既存のバケットにすでに 1 つ以上のポリシーがアタッチされている場合は、そのポリシーに Compute Optimizer アクセスのステートメントを追加します。バケットにアクセスするユーザーに適していることを確認するために、作成したアクセス権限のセットを評価します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::myBucketName" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} } ] }

    オブジェクトプレフィックスを指定しない場合は、代わりに次のポリシーを使用します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::myBucketName" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:GetBucketPolicyStatus", "Resource": "arn:aws:s3:::myBucketName" }, { "Effect": "Allow", "Principal": {"Service": "compute-optimizer.amazonaws.com"}, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/compute-optimizer/myAccountID/*", "Condition": {"StringEquals": {"s3:x-amz-acl": "bucket-owner-full-control"}} } ] }

その他のリソース

S3 バケットとポリシーの詳細については、Amazon Simple Storage Service コンソールユーザーガイド を参照してください。