【问题标题】:How do I give an AWS Cognito Userpool Access to perform an action on an AWS Resource (SES)如何授予 AWS Cognito 用户池访问权限以对 AWS 资源 (SES) 执行操作
【发布时间】:2018-03-11 14:52:09
【问题描述】:

我正在使用 AWS Cognito 对我的应用程序中的用户进行身份验证。 AWS 在他们的文档中表示,登录用户的凭证可用于授予对 AWS 资源的访问权限。

我想使用 SES 允许用户从应用程序内提交联系我们的表单。

我能够获取用户凭据。但是,当我将它们用于AmazonSimpleEmailServiceClient 并调用sendEmail() 时,我得到以下异常:

com.amazonaws.AmazonServiceException:资源“arn:aws:ses:xxxxxx”上的用户arn:aws:sts::xxxxxx/CognitoIdentityCredentials' is not authorized to performses:SendEmail(服务:AmazonSimpleEmailService;状态代码:403;错误代码:AccessDenied;请求ID:xxxxxxxx-xxxx- xxxx-xxxx-xxxxxxxxxxxx)

如何允许 Cognito 用户池调用 sendEmail(),这样我就不需要在我的应用代码中存储任何秘密?

【问题讨论】:

    标签: java android amazon-web-services amazon-cognito


    【解决方案1】:

    要授予用户对 AWS 资源的访问权限,除了 Cognito 用户池之外,还需要设置 Cognito 联合身份。

    在 Cognito 联合身份中,连接相关的 Cognito 用户池并为经过身份验证的用户创建 IAM 角色策略以包括 AWS SES 访问。

    【讨论】:

      猜你喜欢
      • 2020-09-27
      • 2020-05-11
      • 1970-01-01
      • 2021-03-21
      • 2023-04-03
      • 1970-01-01
      • 2016-02-16
      • 1970-01-01
      • 2020-08-27
      相关资源
      最近更新 更多