用户未被授权执行:cloudformation:CreateStack。

88

我正在尝试使用Serverless创建 AWS Lambdas,并在使用命令serverless project create创建项目时遇到以下错误。

AccessDenied: User: arn:aws:iam::XXXXXXXXX:user/XXXXXXXXX is not authorized to perform: cloudformation:CreateStack on resource: arn:aws:cloudformation:us-east-1:XXXXXXXXX:stack/XXXXXXXXX-development-r/*

我已经创建了一个用户并授予了以下权限:

  1. AWSLambdaFullAccess
  2. AmazonS3FullAccess
  3. CloudFrontFullAccess
  4. AWSCloudFormationReadOnlyAccess(没有 AWSCloudFormationFullAccess 权限可以授予)

我该如何继续?还需要授予哪些其他权限?


4
截至2019年7月26日,现在有一个名为AWSCloudFormationFullAccess的策略。 - a2k42
11个回答

0
这是一个示例策略,授予执行aws-ses-serverless-dev CloudFormation堆栈上的cloudformation:CreateChangeSet操作所需的权限:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowCreateChangeSet",
            "Effect": "Allow",
            "Action": "cloudformation:CreateChangeSet",
            "Resource": "arn:aws:cloudformation:us-east-1:030198164798:stack/aws-ses-serverless-dev/*"
        }
    ]
}

您可以按照以下步骤将此策略添加到 ses-smtp-user.20230320-141906 IAM 用户中:

  1. 打开 AWS 管理控制台并进入 IAM 服务。

  2. 在左侧边栏列表中,单击“用户”,找到
    ses-smtp-user.20230320-141906 用户。

  3. 单击用户以打开其详细信息页面。单击“权限”选项卡。

  4. 单击“添加内联策略”按钮以创建新策略。

  5. 在策略编辑器中,选择“JSON”选项卡并粘贴上面显示的示例策略。单击“审阅策略”按钮以查看策略。

  6. 为策略命名并单击“创建策略”按钮以创建策略并将其附加到用户。

将策略添加到 ses-smtp-user.20230320-141906 IAM 用户后,再次尝试部署您的无服务器堆栈,看看问题是否已解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接