AWS Lambda
开发人员指南

步骤 3:创建 Amazon Cognito 身份池

在这一部分,您将创建一个 Amazon Cognito 身份池。该身份池有两个 IAM 角色。您将更新未经身份验证的用户的 IAM 角色,并授予执行 AndroidBackendLambdaFunction Lambda 函数的权限。

有关 IAM 角色的更多信息,请参阅 IAM 用户指南 中的 IAM 角色。有关 Amazon Cognito 服务的更多信息,请参阅 Amazon Cognito 产品详细信息页面。

创建身份池

  1. 使用 IAM 用户登录 URL,以 adminuser 身份登录 Amazon Cognito 控制台。

  2. 新建一个名为 JavaFunctionAndroidEventHandlerPool 的身份池。在按照过程创建身份池前,请注意以下几点:

    • 您创建的身份池必须允许访问未经身份验证的身份,因为我们的示例移动应用程序不要求用户登录(应用程序用户是未经身份验证的)。因此,请确保选择 Enable access to unauthenticated identities 选项。

    • 未经身份验证的应用程序用户需要调用 Lambda 函数的权限。为此,您应将以下语句添加到与未经身份验证的身份(该语句授予的权限允许对特定 Lambda 函数执行 lambda:InvokeFunction 操作)关联的权限策略(您必须通过提供账户 ID 来更新资源 ARN)。

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

      得到的策略应如下所示:

      { "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" ] } ] }

      注意

      您可以在创建身份池时更新策略。您也可以在创建身份池后更新该策略,在这种情况下,请确保在 Amazon Cognito 控制台中记下未经身份验证的用户的 IAM 角色名。然后,转至 IAM 控制台,搜索特定角色并编辑访问权限策略。

    有关如何创建身份池的说明,请登录 Amazon Cognito 控制台,然后根据 New Identity Pool 向导的指示进行操作。

  3. 记下身份池 ID。您将在创建于下一节的移动应用程序中指定此 ID。应用程序在向 Amazon Cognito 请求临时安全凭证时将使用此 ID。

下一步

步骤 4:创建适用于 Android 的移动应用程序

本页内容: