amazon web services——允许AWS IAM用户启动实例的最大数量



我想创建一个策略,允许IAM用户启动实例的最大数量(说,5)。我发现了这个问题,但它不完全适合我的要求:

允许AWS IAM用户只启动一个ec2实例

这个答案限制用户只能使用一个实例,而不是一个固定的数量。

似乎IAM没有提供此操作的现成支持。我一直在尝试计算这个用户的实例数量,并将其用作策略的条件,但我还没有找到一个明显的方法来实现它。

不可能将特定用户限制为特定数量的Amazon EC2实例。(有基于帐户的限制,但没有用户限制)。

我建议您编写一个应用程序,代表用户启动实例,首先检查已经在使用的实例的数量。要跟踪谁启动了实例,可以应用带有用户标识的标签。然后,您可以允许用户使用其特定标记停止/终止任何实例。(只是要确保他们没有修改标签的权限。)

实际上,用户并没有启动实例——你的脚本正在启动它们。

不能通过IAM策略直接限制 IAM用户创建有限数量的资源(EC2实例)。解决方案是,如果用户超出给定的限制,您可以删除额外的实例。我遇到了一个微笑的问题,经过大量的研究和开发,我得到了一个解决方案,通过AWS cloudTrail来完成这个任务。您可以使用AWS CloudTrail在特定区域或所有具有S3桶的区域中配置跟踪,以保存跟踪日志。要读取日志,您可以使用以下AWS CLI命令—

aws cloudtrail lookup-events --lookup-attributes AttributeKey=Username,AttributeValue=YourIAMuserID --region yourRegionName 2>&1;

执行此CLI命令后,您将获得实例启动时创建的日志详细信息,您可以从结果数组中计算用户创建的实例的数量。

您可以通过下面的CLI命令终止实例,该用户不需要-

sudo aws ec2 terminate-instances --instance-ids instanceId --region us-east-1 2>&1

有更多可能的方法来完成这个任务,我正在使用这个,它对我来说工作得很好。

CloudTrail不能保存超过90天的日志。所以使用CloudTrail来实现逻辑是不可靠的。

相关内容

  • 没有找到相关文章