Lambda 関数ポリシーを割り当てて、Amazon Pinpoint が推奨データを処理することを許可する - Amazon Pinpoint

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

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

Lambda 関数ポリシーを割り当てて、Amazon Pinpoint が推奨データを処理することを許可する

Lambda 関数を使用して推奨事項データを処理する前に、Amazon Pinpoint に関数の呼び出しを許可する必要があります。呼び出しのアクセス許可を付与するには、関数に Lambda 関数ポリシーを割り当てます。Lambda 関数ポリシーはリソースベースのアクセス許可ポリシーで、関数を使用できるエンティティと、それらのエンティティが実行できるアクションを指定します。詳細については、『AWS Lambda デベロッパーガイド』の「AWS Lambda のリソースベースのポリシーを使用する」を参照してください。

次のポリシーの例では、Amazon Pinpoint サービスプリンシパルが、特定の Amazon Pinpoint プロジェクト (projectId) 内の特定の Amazon Pinpoint キャンペーン (campaignId) に対して lambda:InvokeFunction アクションを使用することを許可しています。

{ "Sid": "sid", "Effect": "Allow", "Principal": { "Service": "pinpoint.us-east-1.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } } }

関数ポリシーは、Condition キーを含む AWS:SourceArn ブロックを必要とします。このキーは、関数を呼び出すことができるリソースを指定します。前述の例では、ポリシーにより、1 つの特定のキャンペーンで関数を呼び出すことが許可されています。

また、特定のAmazon Pinpointプロジェクト (projectId) 内のすべてのキャンペーンとジャーニーに対して、Amazon Pinpointサービスプリンシパルが lambda:InvokeFunction アクションを使用できるようにするポリシーを記述することができます。次のポリシー例でこれを示します。

{ "Sid": "sid", "Effect": "Allow", "Principal": { "Service": "pinpoint.us-east-1.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "{arn:aws:lambda:us-east-1:accountId:function:function-name}", "Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } } }

最初の例とは異なり、この例の AWS:SourceArn ブロックの Condition キーは、1 つの特定のプロジェクトで関数を呼び出すことができます。この許可は、プロジェクト内のすべてのキャンペーンおよびジャーニーに適用されます。

より一般的なポリシーを記述するには、複数文字に一致するワイルドカード (*) を使用します。たとえば、次の Condition ブロックを使用して、任意の Amazon Pinpoint プロジェクトで関数を呼び出すことができます。

"Condition": { "ArnLike": { "AWS:SourceArn": "arn:aws:mobiletargeting:us-east-1:accountId:recommenders/*" } }

Amazon Pinpoint アカウントのすべてのプロジェクトで Lambda 関数を使用する場合は、上記の方法でポリシーの Condition ブロックを設定することをお勧めします。ただし、ベストプラクティスとして、特定のリソースに対して特定のアクションを実行するために必要なアクセス許可のみを含むポリシーを作成する必要があります。