尝试运行aws cli时,S3访问被拒绝

时间:2018-04-04 13:28:45

标签: amazon-s3 aws-lambda aws-cli validationerror aws-appsync

使用AWS CLI我正在尝试运行

aws cloudformation create-stack --stack-name FullstackLambda --template-url https://s3-us-west-2.amazonaws.com/awsappsync/resources/lambda/LambdaCFTemplate.yam --capabilities CAPABILITY_NAMED_IAM --region us-west-2

但我收到了错误

An error occurred (ValidationError) when calling the CreateStack operation: S3 error: Access Denied 

我已经用

设置了我的凭证
aws configure

PS我从AppSync文档(https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-lambda-resolvers.html

获得了create-stack命令

2 个答案:

答案 0 :(得分:3)

您似乎意外地在模板文件名末尾跳过 l 字母:

LambdaCFTemplate.yam - > LambdaCFTemplate.yam的

答案 1 :(得分:0)

首先确保S3 URL正确无误。但由于这是一个403,我怀疑是这样的。

您可能会遇到几种不同的情况。

1.如果API和IAM用户都受MFA保护,您必须使用aws sts get-session-token生成临时凭证并使用它

2.使用角色在S3中提供对模板对象的云形式读取访问权限。首先创建一个具有对S3的读访问权的IAM角色。然后创建一个如下所示的参数并在资源属性 IamInstanceProfile

中引用它
  "InstanceProfile":{  
     "Description":"Instance Profile Name",
     "Type":"String",
     "Default":"iam-test-role"
  }