通过试运行 API 调用进行 AWS IAM 策略验证



我正在开发一种工具,该工具将IAM策略作为JSON并在aws上创建策略。我正在使用 aws-sdk-go 来构建该工具。我正在寻找一种方法,通过这种方法可以在 aws 上执行策略之前对其进行验证。AWS 是否提供某种 API 来试运行策略创建或类似的东西?

我尝试过的事情:我正在逐个字段验证策略。

  • 效果场必须AllowDeny
  • 对于操作字段,我在工具中添加了一个字典,用于将服务映射到有效操作。这种方法的问题在于它需要大量的维护。AWS 不断发布新的服务和操作,我必须更新字典。
  • 对于资源,它应该是有效的 ARN。

添加了其他一些验证,但手动添加所有验证检查确实很困难。我相信,AWS一定是为政策提供某种试运行设施。

AWS API 公开策略模拟器终端节点。您应该将功能,以便在 https://docs.aws.amazon.com/sdk-for-go/api/service/iam/和特定 https://docs.aws.amazon.com/sdk-for-go/api/service/iam/#IAM.SimulateCustomPolicy 轻松使用策略模拟器。

策略

模拟器将允许你验证策略的 json,并验证你的意图是否在策略中授予的权限的结果中表达。您可以提供上下文键,例如 aws:SourceIp、aws:RequestRegion 等。

您可以使用 JSON 架构执行一些验证。如果你在网上看,你可以在github上找到一些示例IAM Json模式。下面是一个示例:

https://gist.github.com/jstewmon/ee5d4b7ec0d8d60cbc303cb515272f8a

我想使用 Go,您可以使用类似以下内容的内容来针对此 Json 模式验证 JSON:

https://github.com/xeipuuv/gojsonschema

使用它的问题可能是,如果 IAM 更改了他们的东西,您必须不断更新您的架构。

相关内容

  • 没有找到相关文章