amazon-web-services - AWS IAM 角色能否用于在 AWS 之外运行的应用程序?
问题描述
所以我认为最简单的解决方案是我的问题是将 AWS 用于一切,但我想了解什么是可能的:
我了解 IAM 角色可以与 EC2 或 Lambda 等 AWS 服务相关联,以便在该服务中运行的应用程序/函数可以检索凭证以签署对其他 AWS 服务的 API 请求。我有一个以前在 Heroku 上运行并使用 Amazon S3 的应用程序。目前,我为此应用程序设置了一个 IAM 用户,该用户使用与 IAM 用户帐户关联的访问密钥签署对 AWS API 的请求。我认为最佳实践是使用 IAM 角色而不是用户进行应用程序源代码 AWS API 调用,但是是否可以为托管在 AWS 之外的应用程序进行设置,或者我需要将应用程序迁移到 AWS EC2为了使用 IAM 角色?
解决方案
托管应用程序的位置无关紧要,但要承担 IAM 角色,您将需要 IAM 凭证(鸡和蛋)。通常,您会为您的应用程序设计一种安全的方式来检索这些基本凭据。这是在 AWS 之外运行计算的一个缺点(因为它不能自动承担 IAM 角色)。
一种选择是创建一个 IAM 用户,其唯一权限是能够承担给定的 IAM 角色。在 AWS 之外,将这些 IAM 用户凭证安全地提供给您的应用程序,并让应用程序承担 IAM 角色,理想情况下,ExternalId
它本身也可以由您的应用程序安全地存储和检索。此外,您可以管理对 IAM 角色的访问,例如定义哪些委托人可以担任该角色以及在哪些条件下。
推荐阅读
- animation - 制作具有特定帧尺寸的动画时出现 FFMPEG 错误
- html - CSS Grid 中的响应式图像
- python - Keras的fit_generator中的worker是什么意思?
- python - 在二维列表中查找特定列的长度
- amazon-web-services - sagemaker 中的逻辑回归
- c# - 更新查询不起作用。表数据没有改变
- python - win32com 获取可用应用程序列表
- angular - 如何以编程方式将创建的组件添加到页面?
- excel - 如果第 2 行的内容不等于“x”、“y”或“z”,则隐藏一列
- ios - 如何在 MDCTextField 外部点击时删除关闭键盘操作