Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services S3创建bucket失败_Amazon Web Services_Amazon S3_Amazon Iam_Serverless Framework - Fatal编程技术网

Amazon web services S3创建bucket失败

Amazon web services S3创建bucket失败,amazon-web-services,amazon-s3,amazon-iam,serverless-framework,Amazon Web Services,Amazon S3,Amazon Iam,Serverless Framework,我正在尝试创建一个无服务器项目,它部署了一个CloudFormation,作为其中的一部分,它尝试创建一个S3 bucket。但由于以下错误,此操作失败: 15:23:25 UTC+0550 CREATE_FAILED AWS::S3::Bucket ServerlessDeploymentBucket API: s3:CreateBucket Access Denied 15:23:24 UTC+0550 CREATE_IN_PROGRESS AWS::S3::Buck

我正在尝试创建一个无服务器项目,它部署了一个CloudFormation,作为其中的一部分,它尝试创建一个S3 bucket。但由于以下错误,此操作失败:

15:23:25 UTC+0550   CREATE_FAILED       AWS::S3::Bucket ServerlessDeploymentBucket  API: s3:CreateBucket Access Denied
15:23:24 UTC+0550   CREATE_IN_PROGRESS  AWS::S3::Bucket ServerlessDeploymentBucket  
我尝试使用命令aws s3api create bucket--bucket my bucket--region us-west-2创建S3 bucket,该命令成功创建了bucket。我不知道为什么在通过无服务器创建S3存储桶时,访问被拒绝。这里可能有什么问题

这是我的
serverless.yml
文件

service: auth-service-gs

provider:
  name: aws
  runtime: python2.7
  stage: dev2-gs-1
  region: us-west-2
  profile: mfa
  environment:
    DB_HOST: "DB_HOST"
    DB_USER: "root"
    DB_PASS: "<password>"
    LOG_LEVEL: "DEBUG"


functions:
  login:
    handler: handler.login
    events:
       - http:
           path: /api/v1/login
           method: post
           cors: true
这是我通过跑步得到的


$aws sts获取会话令牌--序列号arn:aws:iam:::mfa/--令牌代码123456

您的流程角色将需要iam权限,无论是在角色级别还是在用户级别,具体取决于您的实现

假设您希望流程创建并拥有对bucket的所有权限,则需要如下内容:

{
  "Statement": [
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}

检查Serverless是否使用IAM角色,该角色没有创建S3 bucket以运行CloudFormationServerless配置所需的权限。如果提到这对密钥,则没有明确提到角色。我使用了同一对密钥,并且能够创建存储桶。Lambda函数附带的IAM策略是什么?@strongjz您能指导我如何检查它吗。我使用的帐户只有一个角色可以管理访问所有服务。我是否需要在无服务器配置文件中显式设置权限?创建lambda函数时,必须创建执行角色。但是如果是这样的话,我就不能使用AWS命令行创建S3 bucket了,对吗?另外,这个过程会自己创建新的S3 bucket。这是怎么回事?
{
  "Statement": [
    {
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}