すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:バケットのアクセス権限の管理 (Node.js SDK)

最終更新日:Nov 30, 2025

バケットの作成時に、バケットのアクセス制御リスト (ACL) を設定できます。 バケットの作成後に ACL を変更することもできます。 このトピックでは、バケットの ACL を設定および取得する方法について説明します。

読み書き権限の種類

バケットには、次の 3 種類のアクセス権限があります。

アクセス権限

説明

ACL 値

private

バケットのオーナーと権限を付与されたユーザーは、バケット内のファイルに対する読み書き権限を持ちます。 他のユーザーはバケット内のファイルにアクセスできません。

private

public-read

バケットのオーナーと権限を付与されたユーザーは、バケット内のファイルに対する読み書き権限を持ちます。 他のユーザーはファイルに対する読み取り権限のみを持ちます。 この権限は慎重に使用してください。

public-read

public-read-write

すべてのユーザーがバケット内のファイルに対する読み書き権限を持ちます。 この権限は慎重に使用してください。

public-read-write

バケットの ACL の設定

バケット作成時の ACL の設定

次のコードは、バケットの作成時にバケットの ACL を設定する方法を示します。

const OSS = require('ali-oss');

const client = new OSS({
  // バケットが配置されているリージョンに yourregion を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。 このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // バケット名を指定します。
  bucket: 'yourbucketname'
});
// この例では、バケットの作成時にバケットの ACL を public-read に設定する方法を示します。
async function putBucket() {
  const acl = 'public-read';   try {
    await client.putBucket('yourbucketname', { acl });
  } catch (error) {
    console.log(error)
  }
}

putBucket()

バケット作成後の ACL の変更

次のコードは、バケットの作成後にバケットの ACL を変更する方法を示します。

const OSS = require('ali-oss');

const client = new OSS({
  // バケットが配置されているリージョンに yourregion を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。 このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // バケット名を指定します。
  bucket: 'yourbucketname'
});

async function putBucketACL() {
// この例では、バケットの作成後にバケットの ACL を private に変更する方法を示します。
  const acl = 'private'  
  try {
    await client.putBucketACL('yourbucketname', acl)
  } catch (error) {
    console.log(error)
  }
}

putBucketACL()

バケットのアクセス権限の取得

次のコードは、バケットのアクセス権限を取得します。

const OSS = require('ali-oss');

const client = new OSS({
  // バケットが配置されているリージョンに yourregion を設定します。 たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
  region: 'yourregion',
  // 環境変数からアクセス認証情報を取得します。 このコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // バケット名を指定します。
  bucket: 'yourbucketname'
});

// バケットの ACL を取得します。
async function getBucketAcl() {
  const result = await client.getBucketACL('yourbucketname')
  console.log('acl: ', result.acl)
}

getBucketAcl()

関連ドキュメント

  • バケット ACL の管理に関する完全なサンプルコードについては、「GitHub の例」をご参照ください。

  • バケット ACL を設定するための API 操作の詳細については、「PutBucketAcl」をご参照ください。

  • バケット ACL を取得するための API 操作の詳細については、「GetBucketAcl」をご参照ください。