【问题标题】:Permission between resources in AWS CloudFormation stacks and stack independenceAWS CloudFormation 堆栈中资源之间的权限和堆栈独立性
【发布时间】:2021-04-05 22:29:31
【问题描述】:

我有 2 个系统(A 和 B),每个系统都有一个 CloudFormation 堆栈。系统 B 通过系统 A 调用的 API 网关公开 REST API。我希望每个系统的 CloudFormation 堆栈独立于其他系统,以便它们可以按任何顺序部署。

我对堆栈 A 中的 lambda 调用堆栈 B 中公开的 API 的 IAM 权限有疑问。要创建策略,我需要知道系统 B 中的 API 网关 ID。调用 API 时我没有类似问题因为我使用众所周知的自定义域名。

如果可以将 IAM 角色分配给组(如用户可以),我将首先部署另一个“共享”堆栈。它将定义一个 IAM 组。系统 A 的 CF 堆栈会将 lambdas 角色附加到该组,系统 B 会将策略附加到该组。但这是不可能的。

有没有人有类似情况的经验,可以分享一些建议?

【问题讨论】:

  • 您可以创建共享 IAM 角色,而不是组,而该角色仅具有 lambda 的信任策略。堆栈 A 中的 Lambda 将使用该角色作为其执行角色,而堆栈 b 将向该角色添加内联策略。我认为这可行吗?
  • 他什么时候要在两个堆栈之前创建共享 IAM?
  • @Marcin,似乎可行。谢谢。
  • @JakubBinkowski 没问题。让我知道它会如何进行,所以如果它成功了,我可以用更多细节来回答:-)

标签: amazon-web-services amazon-cloudformation amazon-iam


【解决方案1】:

您可以在 IAM 策略中包含以下语句,但这将授予您的 lambda 函数更广泛的访问权限。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "apigateway:*"
      ],
      "Resource": [
        "arn:aws:apigateway:*::/*"
      ]
    }
  ]
}

【讨论】:

  • 谢谢,但这对我来说太宽泛了。
猜你喜欢
  • 1970-01-01
  • 2019-05-09
  • 1970-01-01
  • 2019-09-17
  • 2021-10-31
  • 2018-10-27
  • 2018-06-21
  • 2019-06-22
  • 2023-03-07
相关资源
最近更新 更多