2015-12-12 62 views
19

我試圖用Serverless來創建AWS Lambdas,並使用命令serverless project create創建項目時出現以下錯誤。用戶無權執行:cloudformation:CreateStack

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授予)

我如何進行?我還有什麼權限可以授予?

回答

30

最近提到的是AWSCloudFormationReadOnlyAccess,但顯然這是隻讀的,而您需要cloudformation:CreateStack。將以下內容添加爲用戶策略

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1449904348000", 
      "Effect": "Allow", 
      "Action": [ 
       "cloudformation:CreateStack" 
      ], 
      "Resource": [ 
       "*" 
      ] 
     } 
    ] 
} 

這是完全有可能的,你需要更多的permissions-例如,推出EC2實例,(重新)配置安全組等

+0

我該如何授予'cloudformation:CreateStack'?我正在使用AWS UI而不是CLI。 –

+5

您粘貼我給出的文本作爲自定義用戶策略。 – tedder42

+1

您可以使用Aws政策生成器來生成此具體政策或任何其他 – Centurion

10

說什麼@ tedder42,但我也不得不在我可以從Visual Studio內部部署到lambda之前,將以下內容添加到我的組策略中。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt1449904348000", 
      "Effect": "Allow", 
      "Action": [ 
       "cloudformation:CreateStack", 
       "cloudformation:CreateChangeSet", 
       "cloudformation:ListStacks", 
       "cloudformation:UpdateStack", 
       "cloudformation:DescribeChangeSet", 
       "cloudformation:ExecuteChangeSet" 
      ], 
      "Resource": [ 
       "*" 
      ] 
     } 
    ] 
} 
+1

如果你打算做'無servlerless信息',你還需要'cloudformation:DescribeStacks'。 – pdeschen

+0

這個答案應該是upvoted和+1給@pdeschen,如果你想用無服務器部署,你還需要添加'cloudformation:DescribeStacks'。我還必須添加'cloudformation:DescribeStackResource','cloudformation:ValidateTemplate' – theartofbeing

相關問題