AWS CloudFormation 堆栈中资源之间的权限和堆栈独立性

时间:2020-12-29 08:58:12

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

我有 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 会将策略附加到该组。但这是不可能的。

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

1 个答案:

答案 0 :(得分:0)

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

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