是否可以限制开发人员可以创建的策略?
Is it possible to restrict the policies that a developer can create?
我正在为开发者制定政策。我知道我可以使用 iam:PassRole
操作限制开发人员仅将批准的现有策略列表传递给 EC2 实例。
但是,我希望开发人员能够创建策略,主要是授予对他们正在开发的应用程序的有限的、必要的访问权限。我不想要求他们将这些策略的创建交给受信任的系统团队或管理员组等。
但是,如果开发人员可以创建任意策略,并将任意策略传递给 EC2 实例,则没有什么可以阻止他们将 "allow all" 策略传递给他们启动的 EC2 实例,从而任意提升他们的权限。
是否可以限制开发人员可以创建的政策种类?例如,我可以创建一个策略来指定开发人员可以做什么,然后要求他们创建的任何策略都是该策略的某个子集吗?
我们在办公室进行了同样的讨论,得出的结论是,不可以。如果您授予开发人员创建和附加策略的能力,那么就无法阻止他们提升权限。我们想出的最佳解决方案是创建一堆角色和策略模板,并允许开发人员将这些策略附加到他们创建的角色。
最后,我们发现更容易信任我们的开发人员(并通过教育提高他们的技能)并通过每个 team/product 拥有帐户并利用云跟踪来 isolation/damage 控制和值得信赖的顾问来监控异常使用情况。
我正在为开发者制定政策。我知道我可以使用 iam:PassRole
操作限制开发人员仅将批准的现有策略列表传递给 EC2 实例。
但是,我希望开发人员能够创建策略,主要是授予对他们正在开发的应用程序的有限的、必要的访问权限。我不想要求他们将这些策略的创建交给受信任的系统团队或管理员组等。
但是,如果开发人员可以创建任意策略,并将任意策略传递给 EC2 实例,则没有什么可以阻止他们将 "allow all" 策略传递给他们启动的 EC2 实例,从而任意提升他们的权限。
是否可以限制开发人员可以创建的政策种类?例如,我可以创建一个策略来指定开发人员可以做什么,然后要求他们创建的任何策略都是该策略的某个子集吗?
我们在办公室进行了同样的讨论,得出的结论是,不可以。如果您授予开发人员创建和附加策略的能力,那么就无法阻止他们提升权限。我们想出的最佳解决方案是创建一堆角色和策略模板,并允许开发人员将这些策略附加到他们创建的角色。
最后,我们发现更容易信任我们的开发人员(并通过教育提高他们的技能)并通过每个 team/product 拥有帐户并利用云跟踪来 isolation/damage 控制和值得信赖的顾问来监控异常使用情况。