Amazon S3 バケットへのアクセス許可の管理 - AWS SDK for JavaScript

AWS SDK for JavaScript v2 のサポート終了が間近に迫っていることが発表されています。AWS 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 設定があるバケットを指定します。前に示したように、SDK が設定されていることを確認します。

AWS.S3 サービスオブジェクトを作成します。渡す必要がある唯一のパラメータは、getBucketAcl メソッドを呼び出すときに選択したバケットの名前です。現在のアクセスコントロールリストの設定は、コールバック関数に渡された data パラメータで Amazon S3 によって返されます。

// 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にあります。