1

我正在尝试使用 cdk 使用 S3 存储桶设置静态网站。但是,当我部署堆栈时,我收到错误消息API: s3:PutBucketPolicy Access Denied。我使用的 CLI 用户具有管理员权限。

我试图手动创建一个配置了“静态网站托管”属性的存储桶,但是当我添加以下存储桶策略时Access denied,即使我是 root 用户,我也会收到错误消息。

 {
  "Id": "PolicyId",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Sid",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::BUCKET_NAME",
      "Principal": "*"
    }
  ]
}

类似于这里的东西。

我已取消选择建议的所有公共访问设置 - 但我仍然收到拒绝访问。

相信部署cdk代码时的问题可能和手动创建bucket时的问题有关,但是不知道怎么调试。

4

1 回答 1

0

这对我有用:

        //Create the web bucket and give it public read access
        this.webBucket = new Bucket(this, 'WebBucket', {
            websiteIndexDocument: 'index.html',
            publicReadAccess: true
        });

        //Deploy the frontend to the to the web bucket
        new BucketDeployment(this, 'DeployFrontend', {
            source: Source.asset('../ui/dist'),
            destinationBucket: this.webBucket
        });

此外,请确保在 S3 控制台中关闭“阻止公共访问(帐户设置)”。

于 2019-08-02T19:22:33.933 回答