AWS s3存储桶由nodejs中的aws-sdk管理,从nodejs更改aws s3存储桶公共访问

问题描述 投票:0回答:1

我们如何从nodejs更改aws s3存储桶公共访问? ,见截图

我能够使用 Nodejs 中的 aws-sdk 创建/删除和放置/删除对象,请参阅下面的示例代码, 但我想在创建存储桶或在创建存储桶后创建另一个新的 API 请求时取消阻止“阻止所有公共访问”我花了一整天的时间来找到此解决方案,但没有运气

var bucketParams = {
    Bucket: 'bucketname123'
};
    s3.createBucket(bucketParams, function (err, data) {
        if (err) {
            console.log("Error", err);
        } else {
            console.log("Success", data.Location);
            updateWebConfig()
        }
    });
node.js amazon-web-services amazon-s3 aws-sdk
1个回答
0
投票

您可以使用适用于 JavaScript v2 的 AWS 开发工具包中的 deletePublicAccessBlock 函数。

它将删除 Amazon S3 存储桶的 PublicAccessBlock 配置。要使用此操作,您必须拥有

s3:PutBucketPublicAccessBlock
权限。

示例:

const params = {
  Bucket: 'mybucket',
  ExpectedBucketOwner: '123456789012'
};

const rc = await s3.deletePublicAccessBlock(params).promise();

请注意,Amazon S3 阻止公共访问功能还提供账户级别设置来阻止公共访问,该设置将覆盖所有存储桶级别设置。

© www.soinside.com 2019 - 2024. All rights reserved.