全部产品
Search
文档中心

Object Storage Service:Mengelola izin akses bucket (Node.js SDK)

更新时间:Nov 30, 2025

Anda dapat mengatur daftar kontrol akses (ACL) untuk bucket saat membuatnya, serta mengubah ACL tersebut setelah bucket dibuat. Topik ini menjelaskan cara mengatur dan mengambil ACL bucket.

Jenis izin baca/tulis

Sebuah bucket memiliki tiga jenis izin akses:

Izin akses

Deskripsi

Nilai ACL

private

Pemilik bucket dan pengguna yang berwenang memiliki izin baca dan tulis pada file di dalam bucket. Pengguna lain tidak dapat mengakses file dalam bucket tersebut.

private

public-read

Pemilik bucket dan pengguna yang berwenang memiliki izin baca dan tulis pada file di dalam bucket. Pengguna lain hanya memiliki izin baca pada file tersebut. Gunakan izin ini dengan hati-hati.

public-read

public-read-write

Semua pengguna memiliki izin baca dan tulis pada file di dalam bucket. Gunakan izin ini dengan hati-hati.

public-read-write

Mengatur ACL bucket

Mengatur ACL saat membuat bucket

Kode berikut menunjukkan cara mengatur ACL bucket saat membuatnya:

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

const client = new OSS({
  // Setel yourregion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket.
  bucket: 'yourbucketname'
});
// Contoh ini menunjukkan cara mengatur ACL bucket ke public-read saat membuat bucket.
async function putBucket() {
  const acl = 'public-read';   try {
    await client.putBucket('yourbucketname', { acl });
  } catch (error) {
    console.log(error)
  }
}

putBucket()

Modifikasi ACL Setelah Membuat Bucket

Kode berikut menunjukkan cara memodifikasi ACL bucket setelah bucket tersebut dibuat:

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

const client = new OSS({
  // Setel yourregion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket.
  bucket: 'yourbucketname'
});

async function putBucketACL() {
// Contoh ini menunjukkan cara memodifikasi ACL bucket menjadi private setelah bucket dibuat.
  const acl = 'private'  
  try {
    await client.putBucketACL('yourbucketname', acl)
  } catch (error) {
    console.log(error)
  }
}

putBucketACL()

Mendapatkan izin akses bucket

Kode berikut mengambil izin akses untuk sebuah bucket:

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

const client = new OSS({
  // Setel yourregion ke wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel Region ke oss-cn-hangzhou.
  region: 'yourregion',
  // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
  accessKeyId: process.env.OSS_ACCESS_KEY_ID,
  accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
  authorizationV4: true,
  // Tentukan nama bucket.
  bucket: 'yourbucketname'
});

// Dapatkan ACL bucket.
async function getBucketAcl() {
  const result = await client.getBucketACL('yourbucketname')
  console.log('acl: ', result.acl)
}

getBucketAcl()

Referensi

  • Untuk kode contoh lengkap tentang pengelolaan ACL bucket, lihat contoh di GitHub.

  • Untuk informasi selengkapnya tentang operasi API untuk mengatur ACL bucket, lihat PutBucketAcl.

  • Untuk informasi selengkapnya tentang operasi API untuk mengambil ACL bucket, lihat GetBucketAcl.