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

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

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

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

  1. まだ行っていない場合は、アクセス許可のセットアップ のステップに従って許可を設定して、あなたに代わって 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. 暗号化に AWS Key Management Service (AWS KMS KMS) を使用している場合は、キーを使用するための許可を、Amazon Personalizeと Amazon Personalize の IAM サービスロールに付与する必要があります。詳細については、「AWS KMS キーを使用するアクセス許可を Amazon Personalize に付与する」を参照してください。

注記

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: Tags] (次へ: タグ) を選択します。オプションでタグを追加し、[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 Personalize のサービスロールでは、Amazon S3 バケットで PutObject および ListBucket アクションを使用するための許可が必要です。次のポリシー例は、PutObjectListBucket の許可を Amazon Personalize に付与します。bucket-name をバケットの名前に置き換えて、Amazon Personalizeのサービスロールに対してポリシーをアタッチします。サービスロールへのポリシーのアタッチについては、「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/*" ] } ] }