

**サポート終了通知:** 2026 年 10 月 30 日に、 AWS は Amazon Pinpoint のサポートを終了します。2026 年 10 月 30 日を過ぎると、Amazon Pinpoint コンソールまたは Amazon Pinpoint のリソース (エンドポイント、セグメント、キャンペーン、ジャーニー、分析) にアクセスできなくなります。詳細については、「[Amazon Pinpoint のサポート終了](https://docs.aws.amazon.com/console/pinpoint/migration-guide)」を参照してください。**注:** SMS、音声、モバイルプッシュ、OTP、電話番号の検証に関連する APIs は、この変更の影響を受けず、 AWS エンドユーザーメッセージングでサポートされています。

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

# Amazon Personalize から推奨事項を取得するための IAM ロール
<a name="permissions-get-recommendations"></a>

Amazon Personalize キャンペーンとしてデプロイされた Amazon Personalize ソリューションから推奨データを取得するように Amazon Pinpoint を設定できます。このデータを使用して、各受信者の属性と動作に基づいてパーソナライズされた推奨事項をメッセージ受信者に送信できます。詳細については、『*Amazon Pinpoint ユーザーガイド*』の「[機械学習モデル](https://docs.aws.amazon.com/pinpoint/latest/userguide/ml-models.html)」を参照してください。

Amazon Personalize キャンペーンから推奨事項データを取得する前に、Amazon Pinpoint がキャンペーンからデータを取得できる AWS Identity and Access Management (IAM) ロールを作成する必要があります。Amazon Pinpoint は、コンソールを使用して Amazon Pinpoint で推奨モデルを設定した場合は、自動的にこのロールを作成できます。または、このロールを手動で作成することもできます。

ロールを手動で作成するには、IAM API を使用して次の手順を実行します。

1. エンティティ (この場合は Amazon Pinpoint) が Amazon Personalize キャンペーンから推奨データを取得できるようにする IAM ポリシーを作成します。

1. IAM ロールを作成して、それに IAM ポリシーをアタッチします。

このトピックでは、 AWS Command Line Interface () を使用してこれらのステップを完了する方法について説明しますAWS CLI。この手順では、Amazon Personalize ソリューションを作成済みであり、それを Amazon Personalize キャンペーンとしてデプロイ済みであるものとします。キャンペーンの作成およびデプロイの詳細については、『*Amazon Personalize デベロッパーガイド*』の「[キャンペーンの作成](https://docs.aws.amazon.com/personalize/latest/dg/campaigns.html)」を参照してください。

このトピックでは、 AWS CLIがすでにインストールされ、設定されていることを前提としています。のセットアップの詳細については AWS CLI、 *AWS Command Line Interface ユーザーガイド*[の「 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)のインストール」を参照してください。

## ステップ 1: IAM ポリシーの作成
<a name="permissions-get-recommendations-create-policy"></a>

IAM ポリシーは、アイデンティティやリソースなどのエンティティのアクセス許可を定義します。Amazon Pinpoint が Amazon Personalize キャンペーンから推奨事項データを取得することを許可するロールを作成するには、まずロールに IAM ポリシーを作成する必要があります。このポリシーでは、Amazon Pinpoint に以下を許可する必要があります。
+ キャンペーンによってデプロイされたソリューションの設定情報を取得します (`DescribeSolution`)。
+ キャンペーンのステータスを確認します (`DescribeCampaign`)。
+ キャンペーンから推奨データを取得します (`GetRecommendations`)。

次の手順では、ポリシーの例により、特定の Amazon Personalize キャンペーンによってデプロイされた特定の Amazon Personalize ソリューションに対してこのアクセスが許可されます。

**IAM ポリシーを作成するには**

1. テキストエディタで新規ファイルを作成します。ファイルに次のコードを貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "RetrieveRecommendationsOneCampaign",
               "Effect": "Allow",
               "Action": [
                   "personalize:DescribeSolution",
                   "personalize:DescribeCampaign",
                   "personalize:GetRecommendations"
               ],
               "Resource": [
                   "arn:aws:personalize:{{us-east-1}}:{{111122223333}}:solution/{{solutionId}}",
                   "arn:aws:personalize:{{us-east-1}}:{{111122223333}}:campaign/{{campaignId}}"
               ]
           }
       ]
   }
   ```

------

   前述の例では、{{イタリック体}}のテキストを自分の情報に置き換えます。
   + {{region}} – Amazon Personalize ソリューションとキャンペーンをホストする AWS リージョンの名前。
   + {{accountId}} — お客様の AWS アカウント ID。
   + {{solutionId}} – キャンペーンによってデプロイされる Amazon Personalize ソリューションの一意のリソース ID。
   + {{campaignId}} – 推奨事項データを取得する Amazon Personalize キャンペーンの一意のリソース ID。

1. 終了したら、`RetrieveRecommendationsPolicy.json` としてファイルを保存します。

1. コマンドラインインターフェイスを使用して、`RetrieveRecommendationsPolicy.json` ファイルを保存したディレクトリに移動します。

1. 次のコマンドを入力して、ポリシーを作成し、`RetrieveRecommendationsPolicy` と名前を付けます。別の名前を使用するには、[{{RetrieveRecommendationsPolicy}}] を目的の名前に変更します。

   ```
   aws iam create-policy --policy-name {{RetrieveRecommendationsPolicy}} --policy-document file://RetrieveRecommendationsPolicy.json
   ```
**注記**  
`CreatePolicy` オペレーションを実行する権限がアカウントに付与されていないというメッセージを受信した場合は、アカウントの新しい IAM ポリシーやロールの作成を可能にするポリシーをユーザーにアタッチする必要があります。詳細については、『*IAM ユーザーガイド*』の「[IAM ID アクセス許可の追加と削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#attach-managed-policy-console)」を参照してください。

1. ポリシーの Amazon リソースネーム (ARN) (前述の例の `arn:aws:iam::123456789012:policy/RetrieveRecommendationsPolicy`) をコピーします。次のセクションで、IAM ロールを作成するために、この ARN が必要になります。

## ステップ 2: IAM ロールを作成する
<a name="permissions-get-recommendations-create-role"></a>

IAM ポリシーを作成後、IAM ロールを作成してそのポリシーをアタッチできます。

IAM ロールにはそれぞれ、*信頼ポリシー*が含まれます。信頼ポリシーは、ロールを引き受けることができるエンティティを指定するルールのセットです。このセクションでは、Amazon Pinpoint がロールを引き受けることを許可する信頼ポリシーを作成します。次に、ロール自体を作成します。そのロールをグループにアタッチします。

**IAM ロールを作成するには**

1. テキストエディタで新規ファイルを作成します。ファイルに次のコードを貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
           {
               "Effect": "Allow",
               "Principal": {
                   "Service": "pinpoint.amazonaws.com"
               },
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                   "AWS:SourceAccount": "{{111122223333}}"
                   },
                   "ArnLike": {
                   "AWS:SourceArn": "arn:aws:mobiletargeting:{{us-east-1}}:{{444455556666}}:apps/*"
                   }
               }
           }
       ]
   }
   ```

------

1. `RecommendationsTrustPolicy.json` という名前でファイルを保存します。

1. コマンドラインインターフェイスを使用して、`RecommendationsTrustPolicy.json` ファイルを保存したディレクトリに移動します。

1. 次のコマンドを入力して、新しいロールを作成し、`PinpointRoleforPersonalize` と名前を付けます。別の名前を使用するには、[{{PinpointRoleforPersonalize}}] を目的の名前に変更します。

   ```
   aws iam create-role --role-name {{PinpointRoleforPersonalize}} --assume-role-policy-document file://RecommendationsTrustPolicy.json
   ```

1. 次のコマンドを入力し、前のセクションで作成したポリシーを、先ほど作成したロールにアタッチします。

   ```
   aws iam attach-role-policy --policy-arn {{arn:aws:iam::123456789012:policy/RetrieveRecommendationsPolicy}} --role-name {{PinpointRoleforPersonalize}}
   ```

   前述のコマンドで、[{{arn:aws:iam::123456789012:policy/RetrieveRecommendationsPolicy}}] を、前のセクションで作成したポリシーの ARN に置き換えます。また、ロールに別の名前を指定した場合は、[{{PinpointRoleforPersonalize}}] をステップ 4 で指定したロールの名前に置き換えます。