AWS 以编程方式为其他人部署实例(AWS CLI OAuth?)

Posted

技术标签:

【中文标题】AWS 以编程方式为其他人部署实例(AWS CLI OAuth?)【英文标题】:AWS Programmatically deploy instance for someone else (AWS CLI OAuth?) 【发布时间】:2017-11-28 16:17:43 【问题描述】:

我正在寻找可以在 oauth 之后以编程方式为其他 AWS 用户启动实例的东西。亚马逊提供这样的东西吗?所以他们只需使用 AWS 帐户登录,然后我就可以代表他们拨打 AWS 电话。

有这样的东西吗?

【问题讨论】:

【参考方案1】:

这里没有登录。您需要一个cross-account role,由其他帐户的所有者提供。

【讨论】:

lol @jarmod 我 promise 我没有复制你的链接。已经在这个答案上工作了几分钟,一旦我的发布就看到了你的答案。很有趣,我们选择了相同的页面来独立引用。 +1 @Michael-sqlbot 不用担心。你的答案更好更完整。【参考方案2】:

没有这样的事情。

这将产生巨大的安全隐患。

请注意,AWS 中的主要实体不是用户,而是“账户”。账户有用户,这些用户只能做账户授权他们做的事情。

对于一个 AWS 账户(“我的”)允许另一个 AWS 账户(“您的”)代表我的账户(从技术上讲,而不是代表“我”)执行操作,我必须明确授予您权限这样做,通过 IAM。一种解决方案是创建一个具有必要权限和delegate access to you 的角色。

但这不太可能是消息灵通的用户所允许的,因为您很容易为用户增加大量费用。允许这种外部访问不是一个好习惯。

但是,用户可以通过 AWS Marketplace 在 EC2 上启动您的软件并选择向您支付由 AWS 代您收取的许可费,这种方式旨在为用户提供一键式体验.

【讨论】:

嗯,所以某人的帐户无法授予 OAuth 访问权限?我不想从我的帐户中为其他人启动实例,我希望其他帐户直接通过 OAuth 授予我访问权限,然后我可以以编程方式代表他们拨打电话。 AWS 不存在这样的范例吗? 它在用户/登录上下文中不存在,不。如果他们的账户使用 IAM 向您委派必要的权限,您可以使用您的凭证针对他们的账户及其资源进行调用,如上所述。当您使用 AssumeRole 的凭据时,您将获得临时凭据,允许您获得他们授予的委派权限。

以上是关于AWS 以编程方式为其他人部署实例(AWS CLI OAuth?)的主要内容,如果未能解决你的问题,请参考以下文章

AWS EB CLI Django

使用 AWS CLI 从 S3 获取最后修改的对象

AWS Beanstalk CLI 不断部署 react/npm 开发构建

以编程方式创建和部署按需 EC2

使用 CLI 在 AWS Elastic Beanstalk 上部署 RoR 项目

用于并行运行 AWS Cli 命令以减少时间的 Bash 脚本