对于小型CloudFormation和CodePipeline模板,我们可以“尝试 - 测试”以获得所需角色的最低权限IAM策略。
这通常涉及:
对于较大的CloudFormation模板,此方法过于耗时 您是如何开发最低权限IAM政策的?
思路:
允许“*”然后抓取cloudtrail以查找事件并将列出的事件的地图构建为其等效角色 - 然后将角色减少为仅仅列在cloudtrail日志中的角色。
如果您可以将操作隔离到用户名,这有助于
Access Advisor
答案 0 :(得分:3)
Grant least privilege是一份记录良好的IAM Best Practice。文档建议逐步添加特定权限,使用Access Advisor选项卡确定应用程序实际使用哪些服务(可能在测试阶段使用更广泛的权限集):
以最小的权限集开始并根据需要授予其他权限更安全,而不是从过于宽松的权限开始,然后尝试收紧它们。
定义正确的权限集需要进行一些研究,以确定特定任务所需的内容,特定服务支持的操作以及执行这些操作所需的权限。
可以提供帮助的一项功能是Access Advisor标签,只要您检查用户,组,角色或策略,就可以在IAM控制台摘要页上找到该标签。此选项卡包含有关用户,组,角色或使用策略的任何人实际使用哪些服务的信息。您可以使用此信息来标识不必要的权限,以便您可以优化IAM策略以更好地遵循最小权限原则。有关详细信息,请参阅Service Last Accessed Data。
此方法类似于为特定IAM角色/应用程序生成的API事件抓取CloudTrail,尽管后者可能更难以过滤整个事件流以查找相关事件,而Access Advisor列表是已经为你过滤了。