バケットレベルのアクセス制御リスト (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」をご参照ください。