Amazon cloudformation IAM最佳实践?

Amazon cloudformation IAM最佳实践?,amazon-cloudformation,amazon-iam,Amazon Cloudformation,Amazon Iam,我想知道,将所有IAM角色和策略放在嵌套堆栈中的一个模板中以使它们更易于维护是否更有意义,或者好的做法是,无论出于何种原因,将策略放在创建资源的特定模板中都是有害的。哪条路更好。为了良好的秩序,我会用一个模板,因为这个想法似乎不错。我将感谢大家分享这方面的经验 谢天谢地,我们最近使用cloudformation对整个AWS基础设施进行了模板化。而且,我会让IAM角色和策略更靠近应用程序堆栈,而不是放在一个模板中。我会尽力解释我的理由 我们对每个TeamEnv都有一个单独的AWS帐户 What i

我想知道,将所有IAM角色和策略放在嵌套堆栈中的一个模板中以使它们更易于维护是否更有意义,或者好的做法是,无论出于何种原因,将策略放在创建资源的特定模板中都是有害的。哪条路更好。为了良好的秩序,我会用一个模板,因为这个想法似乎不错。我将感谢大家分享这方面的经验


谢天谢地,我们最近使用cloudformation对整个AWS基础设施进行了模板化。而且,我会让IAM角色和策略更靠近应用程序堆栈,而不是放在一个模板中。我会尽力解释我的理由

我们对每个TeamEnv都有一个单独的AWS帐户

What is a TeamEnv?
如果我们有3个团队,例如A、B和C。 和3个环境,例如开发、暂存和产品

然后,我们有9个TeamEnv:A-Dev、A-Staging、A-Prod,等等。因此,我们总共有9个AWS帐户。这样做是为了建立问责制以及资源的透明度

下面是我们如何做到的。我们将堆栈分为以下几类:

  • 通用云信息栈

  • TeamEnv特定AWS云信息堆栈

通用AWS云信息堆栈: 以下是所有团队及其环境的通用堆栈:

  • IAM子用户帐户堆栈-此堆栈创建具有管理员访问权限的IAM子帐户

  • 通用专有网络堆栈-此堆栈根据公司标准创建专有网络及其组件

  • VPC对等堆栈-此堆栈用于对等VPC

  • VPC对等角色堆栈-此堆栈创建对等所需的VPC角色

特定于团队的堆栈:

  • ELB堆栈-它依赖于通用VPC堆栈,并从中导入导出的值,如VPCId

  • 特定于服务的堆栈-它依赖于通用VPC堆栈和ELB堆栈,并导入各种导出值。我们对每个微服务都有一个堆栈,它包含了使服务进入就绪状态所需的所有内容。它包括s3存储桶、SQS、InstanceRole等

这就是我们管理IAM角色和策略的地方。它更容易管理和审核


然而,事后看来,我会为IAM策略保留一个单独的堆栈,这些策略通常在其他角色中使用和引用,以避免重复的在线策略。

谢谢,非常有洞察力,所以我至少会为策略开发一个堆栈,有没有可能直接联系您以了解更多问题?