【问题标题】:AWS CDK : Why S3 bucket policy occurs errorAWS CDK:为什么 S3 存储桶策略发生错误
【发布时间】:2021-03-01 09:06:31
【问题描述】:

我尝试在 TypeScript 中通过 CDK 部署 S3 存储桶。执行代码时,即使我有管理员权限,也会发生错误。谁知道原因?

export class S3Stack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    const s3Example = new s3.Bucket(this, 'bucket', {
      versioned: false,
      bucketName: 'bucket',
      publicReadAccess: false,
      blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL,
      removalPolicy: cdk.RemovalPolicy.DESTROY
    });

    const s3ExamplePolicyDocument = {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "FirstStatement",
          "Effect": "Allow",
          "Action": [
            "s3:List*",
            "s3:Get*"
          ],
          "Resource": [
            "arn:aws:s3:::bucket",
            "arn:aws:s3:::bucket/*"
          ],
          "Principal": "*",
        }
      ]
    };

    const s3ExamplePolicy = iam.PolicyDocument.fromJson(s3ExamplePolicyDocument);

    new s3.CfnBucketPolicy(this, 'bucketpolicy', {
      bucket: s3Example.bucketName,
      policyDocument: s3ExamplePolicy
    });
  }
}

错误信息

API: s3:PutBucketPolicy Access Denied

【问题讨论】:

  • 我猜你正在运行类似cdk deploy --profile test PipelineStack 的命令。您是否检查过您在配置文件中使用的凭据是否具有正确的权限?

标签: amazon-web-services amazon-s3 aws-cdk


【解决方案1】:

我找到了解决方案。这是因为我尝试将公共权限应用于非公共存储桶。在我修改 s3ExamplePolicyDocument 后,它可以工作了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-05
    • 2015-03-14
    • 2011-03-21
    • 2012-07-20
    • 2020-07-16
    相关资源
    最近更新 更多