当前位置: 首页 > 知识库问答 >
问题:

如何在Elastic Beanstalk上传递Amazon SES的AWS_ACCESS_KEY_ID?

魏安宁
2023-03-14

我在本地计算机中设置了AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY作为环境变量,它工作正常。当我部署到弹性豆茎时,我设置了“环境属性”,但是它们被传递为-DJava系统属性,而不是设置为环境变量,它会生成一个错误。

https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-softwaresettings.html?icmpid=docs_elasticbeanstalk_console

而Tomcat平台则设置使用系统检索的Java系统属性。getProperty。

2018-08-03 02:34:37.001INFO 32073---[nio-8080-exec-9]c.s.xxxxx.apis.xxxxxxApiController:电子邮件未发送。错误:用户'arn: aws: sts::849611986161:假设的角色/aws-elasticbeanstrok-ec2-角色/i-0f447c52c84e1fd93'未被授权在资源'arn: aws: ses: us-East-1:849611986161:标识/xxxxxx@xxxxx.com'(服务: Amazon SimpleEmail Service;状态代码: 403;错误代码:AccessDended;请求ID: c3835dda-96c5-11e8-8a21-67774160691b)

Amazon SES只需要环境变量(或主目录中的共享凭据文件)。那么,如何将AWS密钥传递给弹性豆茎中的亚马逊SES,以便使用该环境进行Java的Spring Boot应用程序呢?

共有2个答案

郝哲茂
2023-03-14

根据https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-违约

Java系统属性aws.accessKeyId和aws.secretKey。用于Java的AWS SDK使用System属性凭据提供程序来加载这些凭据。

因此,将AWS设置为AWS\u ACCESS\u KEY\u ID,而不是AWS。accessKeyId,然后在命令行上将其设置为Java系统属性,由Amazon SES SDK获取。

孔礼骞
2023-03-14

您可以使用SSM(Systems Manager服务)参数存储来保存环境变量,并通过具有IAM权限的任何服务访问它。在这个场景中,因为您需要访问密钥,所以不需要保留任何环境变量。您只需在elastic beanstalk中使用您的实例配置文件,它将为您提供为elastic beanstalk分配的IAM的访问密钥和秘密访问密钥。请参阅本文件。

 类似资料:
  • 问题内容: 如何在AWS ElasticBeanstalk上安装和配置Redis?有人知道如何编写.ebextension脚本来实现这一目标吗? 问题答案: AWS Elastic Beanstalk确实通过.ebextensions文件夹提供了资源配置。本质上,除了应用程序之外,您还需要告诉Elastic Beanstalk您还希望提供什么。用于置备到默认vpc。你需要 创建一个.ebexten

  • 问题内容: 我是JavaScript和jQuery的新手。我想显示一个combobox-A,它是一个HTML ,其选择的内容位于onChange()的另一位置。 如何传递带有其select的完整组合框,以及如何在onChange事件触发时传递其他参数? 问题答案: function getComboA(selectObject) { 上面的示例为您提供OnChange事件上组合框的选定值。

  • 问题内容: 我正在使用flask,并尝试使用快速入门教程(仅在我的计算机(本地服务器)上运行)做一些非常简单的事情。我制作了一个简单的上传表单,可以成功上传图像文件。然后,我想将此图像作为变量传递给,以在页面内显示。该文件显示正常,但图像始终为。我尝试了许多不同的方法,但是我感觉自己做的事情有点错误。 这是template.html: 如何将上传的图像文件传递到,template.html以便正确

  • 问题内容: 我正在使用GlassFish来提供Java EE Web应用程序。在我本地的开发机器上一切正常。我有 将postgres JDBC库复制到正确的位置 在Glassfish管理控制台中配置了连接池和JDBC资源 部署了使用上述连接的网络应用 在我的浏览器中看到了结果 我正在尝试将同一应用程序部署到AWS Elastic Beanstalk托管的Glassfish实例。AWS- EB使用D

  • 2FE552B7-53B1-4E4A-AFFF-3AEF8FE9D05B-----WebKitFormBoundaryLH8FJWGYEEVTCJMA内容-配置:表单-数据;name=“sample test file.pdf”;filename=“sample test file.pdf”content-type:application/pdf

  • 问题内容: 我有一个简单的Python脚本,可以接收用户名和密码作为参数,但是我的密码包含两个感叹号。当我像这样调用脚本时 我之前输入的命令将替换感叹号: 我可以使用反斜杠()避开感叹号,但密码会更改。 是否有解决方案,如何在不更改密码的情况下转义感叹号? 问题答案: 您应该能够简单地在外壳中用单引号引起来。