全部产品
Search
文档中心

Object Storage Service:Mengelola ACL bucket (Python SDK V1)

更新时间:Nov 29, 2025

Bucket adalah wadah untuk objek yang disimpan di Object Storage Service (OSS). Semua objek disimpan dalam bucket. Topik ini menjelaskan cara mengatur dan mengambil daftar kontrol akses (ACL) bucket.

Catatan penggunaan

  • Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Jika Anda mengakses OSS dari layanan Alibaba Cloud lainnya yang berada di wilayah yang sama dengan OSS, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir OSS, lihat Wilayah dan titik akhir.

  • Kredensial akses pada topik ini diperoleh dari variabel lingkungan. Untuk informasi selengkapnya tentang cara mengonfigurasi kredensial akses, lihat Konfigurasikan kredensial akses menggunakan OSS SDK untuk Python 1.0.

  • Instans OSSClient pada topik ini dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Inisialisasi.

  • Untuk mengatur ACL bucket, Anda harus memiliki izin oss:PutBucketAcl. Untuk mengambil ACL bucket, Anda harus memiliki izin oss:GetBucketAcl. Untuk informasi selengkapnya, lihat Lampirkan kebijakan kustom ke RAM user.

Mengatur ACL untuk bucket

Sebuah bucket memiliki tiga jenis ACL berikut:

ACL

Deskripsi

Metode

private

Hanya pemilik bucket dan pengguna yang berwenang yang memiliki izin baca dan tulis pada objek di dalam bucket tersebut. Pengguna lain tidak dapat mengakses objek tersebut.

oss2.BUCKET_ACL_PRIVATE

public-read

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

oss2.BUCKET_ACL_PUBLIC_READ

public-read-write

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

oss2.BUCKET_ACL_PUBLIC_READ_WRITE

Kode contoh berikut menunjukkan cara mengonfigurasi ACL bucket:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Tentukan wilayah tempat bucket berada, seperti cn-hangzhou. Perhatikan bahwa parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

# Ganti yourBucketName dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# Atur ACL bucket menjadi private.
bucket.put_bucket_acl(oss2.BUCKET_ACL_PRIVATE)

Mendapatkan izin akses bucket

Kode berikut memberikan contoh cara mengambil ACL bucket:

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan Endpoint untuk wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur Endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = "https://oss-cn-hangzhou.aliyuncs.com"

# Tentukan wilayah tempat bucket berada, seperti cn-hangzhou. Perhatikan bahwa parameter ini wajib untuk tanda tangan V4.
region = "cn-hangzhou"

# Ganti yourBucketName dengan nama bucket Anda.
bucket = oss2.Bucket(auth, endpoint, "yourBucketName", region=region)

# Dapatkan ACL bucket.
print(bucket.get_bucket_acl().acl)

Referensi

  • Untuk kode contoh lengkap tentang cara mengelola ACL bucket, lihat GitHub.

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

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