2017-04-16 31 views
1

我们有多个共享AWS生产帐户的团队。我们希望每个团队都能获得自己的IAM角色,使他们能够创建接近所有类型的资源(AdministratorAccess)。 但是为了分开团队而不是修改彼此的堆栈,我们需要一种机制来防止这种情况发生。将IAM角色限制为CRUD使用特定标签的CloudFormation堆栈

有什么选择来实现这一目标?

+0

如果这需要管理员执行堆栈创建,那么它仍然适合您的用例吗?例如,我还没有尝试过,但应该很容易将teamA角色的ARN注入堆栈并应用更新策略,只删除该堆栈的策略。但为了防止团队A在其他堆栈上运行更新,他们在创建角色时必须固定到特定的资源或堆栈,这样他们就不会被允许创建新的东西。这会限制太多吗? –

+0

该团队应该是从创建堆栈的一开始就是管理员。因此,例如,我喜欢为角色创建策略,该策略只启用在具有特定标签值的堆栈上创建/更新/删除。 –

回答

1

您可以在政策文件中使用Condition字段。

例如,下面的政策将确保您只能删除/重新启动/修改DBInstance,只有当您的用户名被标记为所有者

{ 
     "Action": [ 
      "rds:DeleteDBInstance", 
      "rds:RebootDBInstance", 
      "rds:ModifyDBInstance" 
     ], 
     "Effect": "Allow", 
     "Resource": "*", 
     "Condition": { 
      "StringEqualsIgnoreCase": { 
       "rds:db-tag/Owner": "${aws:username}" 
      } 
     } 
    } 

请访问Example Policies获取其他示例。

希望这有助于!

相关问题