我正在开发一个将IAM策略作为JSON并在AWS上创建策略的工具。我正在使用aws-sdk-go来构建工具。我正在寻找一种可以在AWS上执行策略之前对其进行验证的方法。 AWS是否提供某种API来空运行策略创建之类的东西?
我尝试过的事情: 我正在逐字段验证策略。
Allow
或Deny
添加了一些其他验证,但是手动添加所有验证检查真的很困难。我相信,aws必须为某种政策提供某种非常规的设施。
答案 0 :(得分:1)
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:RequestedRegion 等。
答案 1 :(得分:0)
您可以使用JSON模式进行一些验证。 如果您上网查找,可以在github上找到一些示例IAM Json Schema。 这是一个例子:
https://gist.github.com/jstewmon/ee5d4b7ec0d8d60cbc303cb515272f8a
我猜想使用Go,您可以使用类似以下内容的代码来针对此Json Schema验证JSON:
https://github.com/xeipuuv/gojsonschema
使用此方法的问题可能是,如果IAM更改其内容,则必须不断更新架构。