AWS IAM 策略模拟器的功能测试工具

Posted

技术标签:

【中文标题】AWS IAM 策略模拟器的功能测试工具【英文标题】:Functional Test Tools for AWS IAM Policy Simulator 【发布时间】:2022-01-07 10:01:11 【问题描述】:

这是我在这里的第一篇文章,我正在开发一个 AWS CodePipeline,它创建新的 AWS 账户并通过 AWS SSO 分配用户,它的权限集具有特定的托管 IAM 策略和内联策略作为用户组的权限边界集。我想使用一个测试管道来测试所售 AWS 账户中的特定用户角色,并测试用户是否能够执行某些操作,例如启用 Internet 访问、创建策略等,并根据结果继续执行进一步的管道步骤.

示例:在 POC 环境中运行的管道创建一个帐户,然后必须对 SSO 用户/本地 IAM 用户运行测试以检查用户是否可以创建互联网网关等,通常这可以是 IAM 策略模拟器 cli它会导致用户操作是否允许。我的管道流应该继续将源移动到生产环境的“主”分支,这取决于测试结果,如果失败则丢弃。

我正在尝试一些工具,例如 Taskcat 和其他大多数工具都不执行此类功能测试,只检查资源的存在。

任何可以让我在管道中执行此类功能测试的工具的建议都将不胜感激。

提前致谢。

【问题讨论】:

【参考方案1】:

我设法使用“awspec”来实现 AWS 资源的功能测试,我特别寻找的是使用以下“awspec”资源的 IAM 策略模拟器。

describe iam_role('my-iam-role') do
  it  should be_allowed_action('ec2:DescribeInstances') 
  it  should be_allowed_action('s3:Put*').resource_arn('arn:aws:s3:::my-bucket-name/*') 
end

【讨论】:

以上是关于AWS IAM 策略模拟器的功能测试工具的主要内容,如果未能解决你的问题,请参考以下文章

AWS IAM 策略模拟器:如果至少有一个区域允许操作,如何返回 true

Cloudformation 的最低权限 AWS IAM 策略

已通过身份验证的 Cognito 用户访问 DynamoDB 表的 AWS IAM 策略问题

AWS IAM 策略:按用户/角色限制存储桶/文件夹访问?

AWS IAM 策略允许用户创建具有特定策略/角色的 IAM 用户

如何重命名 AWS 客户 IAM 策略?