管理 Amazon S3 存储桶访问权限 - Amazon SDK for JavaScript
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

我们已宣布即将终止对 Amazon SDK for JavaScript v2 的支持。建议您迁移到 Amazon SDK for JavaScript v3。有关日期、其他详细信息以及如何迁移的信息,请参阅链接的公告。

管理 Amazon S3 存储桶访问权限

JavaScript code example that applies to Node.js execution

此 Node.js 代码示例演示:

  • 如何检索或设置 Amazon S3 存储桶的访问控制列表。

情景

在本示例中,使用 Node.js 模块来显示选定存储桶的存储桶访问控制列表 (ACL),并为选定存储桶应用对 ACL 的更改。该 Node.js 模块使用 SDK for JavaScript,通过 Amazon S3 客户端类的以下方法来管理 Amazon S3 桶访问权限:

有关 Amazon S3 桶访问控制列表的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的使用 ACL 管理访问权限

先决条件任务

要设置和运行此示例,您必须先完成以下任务:

配置 SDK

通过创建全局配置对象然后为代码设置区域,来配置 SDK for JavaScript。在此示例中,区域设置为 us-west-2

// Load the SDK for JavaScript var AWS = require('aws-sdk'); // Set the Region AWS.config.update({region: 'us-west-2'});

检索当前存储桶的访问控制列表

创建文件名为 s3_getbucketacl.js 的 Node.js 模块。该模块将获取单个命令行参数,指定需要其 ACL 配置的存储桶。确保按前面所示配置开发工具包。

创建 AWS.S3 服务对象。在调用 getBucketAcl 方法时,您需要传递的唯一参数是所选存储桶的名称。当前访问控制列表配置由 Amazon S3 在传递到回调函数的 data 参数中返回。

// Load the AWS SDK for Node.js var AWS = require("aws-sdk"); // Set the region AWS.config.update({ region: "REGION" }); // Create S3 service object s3 = new AWS.S3({ apiVersion: "2006-03-01" }); var bucketParams = { Bucket: process.argv[2] }; // call S3 to retrieve policy for selected bucket s3.getBucketAcl(bucketParams, function (err, data) { if (err) { console.log("Error", err); } else if (data) { console.log("Success", data.Grants); } });

要运行示例,请在命令行中键入以下内容。

node s3_getbucketacl.js BUCKET_NAME

此示例代码可在 GitHub 上的此处找到。