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.