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

Object Storage Service:オブジェクトのACLの管理

最終更新日:Oct 30, 2024

バケットレベルのアクセス制御リスト (ACL) に加えて、Object Storage Service (OSS) はオブジェクトレベルのACLを提供します。 オブジェクトをアップロードするとき、またはアップロードされたオブジェクトのACLを変更するときに、オブジェクトのACLを設定できます。

オブジェクトACL

次の表に、オブジェクトに対して構成できるACLを示します。

ACL

説明

バケットから継承

オブジェクトのACLは、オブジェクトが格納されているバケットのACLと同じです。

default

プライベート

オブジェクトに対する読み取りおよび書き込み権限を持つのは、オブジェクト所有者または許可されたユーザーのみです。

非公開

一般公開

オブジェクトに対する読み取りおよび書き込み権限を持つのは、オブジェクト所有者と許可されたユーザーのみです。 他のユーザーには、オブジェクトに対する読み取り権限のみがあります。 ACLをこの値に設定するときは注意してください。

公開読み取り

パブリック読み取り /書き込み

すべてのユーザーがオブジェクトに対する読み取りおよび書き込み権限を持っています。 ACLをこの値に設定するときは注意してください。

公開読み取り/書き込み

オブジェクトの ACL の設定

次のサンプルコードは、オブジェクトのACLを設定する方法の例を示しています。

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

const client = oss({ 
  // Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou. 
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Specify the name of the bucket. 
  bucket: 'yourbucketname'
});
  
async function setACL() {
  try {
    // Specify the full path of the object. Do not include the bucket name in the full path. 
    await client.putACL('yourObjectName', 'private');
    console.log('Set ACL successfully');
  } catch (e) {
    console.error(e);
  }
}

setACL();

オブジェクトのACLを照会する

次のサンプルコードは、オブジェクトのACLを照会する方法の例を示しています。

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

const client = oss({
  // Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou. 
  region: 'yourregion',
  // Obtain access credentials from environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET. 
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Specify the name of the bucket. 
  bucket: 'yourbucketname',
});
  
async function getACL() {
  try {
    // Specify the full path of the object. Do not include the bucket name in the full path. 
    const result = await client.getACL('yourObjectName');
    console.log(result.acl);
  } catch (e) {
    console.error(e);
  }
}

getACL();

関連ドキュメント

  • オブジェクトのACLを管理するために使用される完全なサンプルコードについては、GitHubをご覧ください。

  • オブジェクトのACLを設定するために呼び出すAPI操作の詳細については、「PutObjectACL」をご参照ください。

  • オブジェクトのACLを照会するために呼び出すAPI操作の詳細については、「GetObjectACL」をご参照ください。