メニュー
AWS Lambda
開発者ガイド

ステップ 3: Amazon Cognito ID プールを作成する

このセクションでは、Amazon Cognito ID プールを作成します。ID プールには 2 つの IAM ロールがあります。認証されていないユーザー用に IAM ロールを更新し、AndroidBackendLambdaFunction Lambda 関数を実行するためのアクセス権限を付与します。

IAM ロールの詳細については、『IAM ユーザーガイド』の「IAM ロール」を参照してください。Amazon Cognito のサービスの詳細については、Amazon Cognito 製品の詳細ページを参照してください。

ID プールを作成するには

  1. IAM ユーザーのサインイン URL を使用して、Amazon Cognito コンソールに adminuser としてサインインします。

  2. JavaFunctionAndroidEventHandlerPool という名前の新しい ID プールを作成します。ID プールを作成する手順に従う前に、次のことに注意してください。

    • 作成する ID プールでは、認証されていない ID へのアクセスを許可する必要があります。この例のモバイルアプリケーションでは、ユーザーがログインする必要はないためです (アプリケーションユーザーは認証されません)。したがって、必ず [Enable access to unauthenticated identities] オプションを選択してください。

    • 認証されていないアプリケーションユーザーは、Lambda 関数を呼び出すアクセス権限を必要とします。これを有効にするには、認証されていない ID に関連付けられているアクセス権限ポリシーに以下のステートメントを追加します (それにより、特定の Lambda 関数で lambda:InvokeFunction アクションのためのアクセス権限が付与されます。アカウント ID でリソース ARN を更新する必要があります)。

      Copy
      { "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ], "Resource": [ "arn:aws:lambda:us-east-1:account-id:function:AndroidBackendLambdaFunction" ] }

      作成されるポリシーは次のとおりです。

      Copy
      { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "mobileanalytics:PutEvents", "cognito-sync:*" ], "Resource":[ "*" ] }, { "Effect":"Allow", "Action":[ "lambda:invokefunction" ], "Resource":[ "arn:aws:lambda:us-east-1:account-id:function:AndroidBackendLambdaFunction" ] } ] }

      注記

      ID プールの作成時にポリシーを更新できます。ID プールを作成したら、ポリシーを更新できます。その場合は必ず、Amazon Cognito コンソールから認証されていないユーザーの IAM ロール名をメモしておいてください。続いて、IAM コンソールに移動し、特定のロールを検索して、アクセス権限ポリシーを編集します。

    ID プールを作成する方法については、Amazon Cognito コンソールにログインし、[New Identity Pool] ウィザードに従います。

  3. ID プール ID をメモしておきます。次のセクションで作成するモバイルアプリケーションで、この ID を指定します。アプリは一時的なセキュリティ認証情報をリクエストするために、リクエストを Amazon Cognito に送る際に、この ID を使用します。

次のステップ

ステップ 4: Android 用モバイルアプリケーションを作成する

このページの内容: