Amazon Personalize に対する、Amazon S3 リソースへのアクセスの付与 - Amazon Personalize

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

Amazon Personalize に対する、Amazon S3 リソースへのアクセスの付与

Amazon Personalize に Amazon S3 バケットへのアクセス権を付与するには、次の手順を実行します。

  1. まだ行っていない場合は、アクセス許可のセットアップ の手順に従って許可を設定して、IAM ユーザーが Amazon Personalize に、Amazon Personalize がリソースに、それぞれアクセスできるようにします。

  2. Amazon S3 バケットへのアクセスを許可するポリシーを Amazon Personalize のサービスロール (「Amazon Personalize の IAM ロールの作成」を参照) にアタッチします。詳細については、「Amazon Personalize サービスロールに対する、Amazon S3 ポリシーのアタッチ」を参照してください。

  3. データファイルを含む Amazon S3 バケットにバケットポリシーをアタッチして、Amazon Personalize がそれらにアクセスできるようにします。詳細については、「Amazon S3 バケットに対する、Amazon Personalize のアクセスポリシーのアタッチ」を参照してください。

  4. Amazon S3 のバケットとオブジェクトは、暗号化を使用していないか、AWS Key Management Service(AWS KMS暗号化に) を使用している場合は、キーを使用するための許可を、Amazon Personalize と Amazon Personalize の IAM サービスロールに付与する必要があります。詳細については、「を使用するためのアクセス許可を Amazon Personalize に付与するAWS KMSキー」を参照してください。

注記

Amazon Personalize は AWS VPC と通信しないため、Amazon Personalize は、VPC アクセスのみを許可する Amazon S3 バケットとインタラクションできません。

Amazon Personalize サービスロールに対する、Amazon S3 ポリシーのアタッチ

Amazon S3 ポリシーを Amazon Personalize のロールにアタッチするには、次の手順を実行します。

  1. IAM コンソール (https://console.aws.amazon.com/iam/).

  2. ナビゲーションペインで、[ポリシー]、[ポリシーの作成] の順に選択します。

  3. [JSON] タブを選択し、以下のようにポリシーを更新します。bucket-name をバケットの名前に置き換えます。バッチワークフローを使用している場合、Amazon Personalize には追加の許可が必要です。「バッチワークフロー用のサービスにリンクされたロールのポリシー」を参照してください。

    { "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }
  4. [Next: (次へ:)] を選択します タグ オプションでタグを追加し、[Review] (レビュー) を選択します。

  5. ポリシーに名前を付けます。

  6. (オプション) [Description] (説明) で、このポリシーを説明する短い文 (「Allow Amazon Personalize to access its Amazon S3 bucket.」など) を入力します

  7. [Create policy] (ポリシーを作成) を選択します。

  8. ナビゲーションペインで、[Roles] (ロール) を選択し、Amazon Personalize 用に作成したロールを選択します。「Amazon Personalize の IAM ロールの作成」を参照してください。

  9. [Permissions] (許可) で、[Attach policies] (ポリシーをアタッチ) を選択します。

  10. リストのポリシーを表示するには、[Filter policies (ポリシーのフィルタ)] フィルタボックスにポリシー名の一部を入力します。

  11. この手順の前半で作成したポリシーの横にあるチェックボックスをオンにします。

  12. [ポリシーのアタッチ] を選択します。

    ロールを Amazon Personalize で使用できるようにする前に、データを含む Amazon S3 バケットにバケットポリシーをアタッチする必要もあります。「Amazon S3 バケットに対する、Amazon Personalize のアクセスポリシーのアタッチ」を参照してください。

バッチワークフロー用のサービスにリンクされたロールのポリシー

バッチワークフローを完了するには、Amazon S3 バケットにアクセスしてファイルを追加するための許可を Amazon Personalize に付与する必要があります。上記の手順に従って、次のポリシーを Amazon Personalize のロールにアタッチします。bucket-name をバケットの名前に置き換えます。バッチワークフローの詳細については、「バッチレコメンデーションとユーザーセグメントの取得」を参照してください。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

データセットをエクスポートするためのサービスにリンクされたロールのポリシー

データセットをエクスポートするには、Amazon S3 バケットで PutObject および ListBucket アクションを使用するための許可が Amazon Personalize のサービスにリンクされたロールに付与されている必要があります。次のポリシー例は、PutObjectListBucket の許可を Amazon Personalize に付与します。bucket-name をバケットの名前に置き換えて、ポリシーをサービスにリンクされたロールにアタッチします。サービスにリンクされた IAM ロールにポリシーをアタッチする方法については、「Amazon Personalize サービスロールに対する、Amazon S3 ポリシーのアタッチ」を参照してください。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

Amazon S3 バケットに対する、Amazon Personalize のアクセスポリシーのアタッチ

Amazon Personalize には、S3 バケットにアクセスするための許可が必要です。バッチ以外のワークフローについては、次のポリシーをバケットにアタッチします。bucket-name をバケットの名前に置き換えます。バッチワークフローについては、「バッチワークフロー向けの Amazon S3 バケットポリシー」を参照してください。

Amazon S3 バケットポリシーの詳細については、「S3 バケットポリシーを追加するにはどうすればよいですか?」を参照してください。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

バッチワークフロー向けの Amazon S3 バケットポリシー

バッチワークフローの場合、Amazon Personalize には、Amazon S3 バケットにアクセスしてファイルを追加するための許可が必要です。次のポリシーをバケットにアタッチします: bucket-name をバケットの名前に置き換えます。

Amazon S3 バケットポリシーをバケットに追加する方法の詳細については、「S3 バケットポリシーを追加するにはどうすればよいですか?」を参照してください。バッチワークフローの詳細については、「バッチレコメンデーションとユーザーセグメントの取得」を参照してください。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }

データセットをエクスポートするための Amazon S3 バケットポリシー

データセットをエクスポートするには、Amazon S3 バケットで PutObject および ListBucket アクションを使用するための許可が Amazon Personalize に付与されている必要があります。次のポリシー例は、PutObjectListBucket の許可を Amazon Personalize のプリンシプルに付与します。bucket-name をバケットの名前に置き換えて、ポリシーをバケットにアタッチします。Amazon S3 バケットポリシーをバケットに追加する方法については、Amazon Simple Storage Service ユーザーガイドの「S3 バケットポリシーを追加するにはどうすればよいですか?」を参照してください。

{ "Version": "2012-10-17", "Id": "PersonalizeS3BucketAccessPolicy", "Statement": [ { "Sid": "PersonalizeS3BucketAccessPolicy", "Effect": "Allow", "Principal": { "Service": "personalize.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }