All Products
Search
Document Center

Object Storage Service:Mengelola izin akses file (iOS SDK)

Last Updated:Nov 30, 2025

Anda dapat mengatur daftar kontrol akses (ACL) sebuah objek ke salah satu dari nilai berikut: Diwarisi dari bucket, Pribadi, Publik Baca, atau Publik Baca/Tulis. Topik ini menjelaskan cara mengelola ACL sebuah objek.

Catatan penggunaan

  • Sebelum menjalankan contoh kode dalam topik ini, Anda harus membuat instans OSSClient menggunakan metode seperti nama domain kustom atau Security Token Service (STS). Untuk informasi selengkapnya, lihat Initialization.

ACL Objek

Access permissions

Deskripsi

Access Permissions

Diwarisi dari bucket

File mewarisi izin akses bucket tersebut.

default

Pribadi

Hanya pemilik objek dan pengguna yang diberi otorisasi yang memiliki izin baca dan tulis pada objek.

private

Publik baca

Hanya pemilik objek dan pengguna yang diberi otorisasi yang memiliki izin baca dan tulis pada objek. Semua pengguna memiliki izin baca pada objek. Berhati-hatilah saat menetapkan ACL objek ke nilai ini.

public-read

Publik baca/tulis

Semua pengguna memiliki izin baca dan tulis pada objek. Berhati-hatilah saat menetapkan ACL objek ke nilai ini.

public-read-write

ACL objek memiliki prioritas lebih tinggi dibandingkan ACL bucket tempat objek tersebut disimpan. Sebagai contoh, jika ACL bucket adalah Pribadi dan ACL objek di dalam bucket adalah Publik Baca/Tulis, semua pengguna diberikan izin baca dan tulis pada objek tersebut. Jika ACL objek tidak dikonfigurasi, ACL objek akan sama dengan ACL bucket tempat objek tersebut disimpan.

Konfigurasikan ACL sebuah objek

Berikut ini adalah contoh kode yang menunjukkan cara mengatur ACL objek exampleobject.txt di dalam bucket bernama examplebucket menjadi Pribadi:

OSSPutObjectACLRequest *request = [OSSPutObjectACLRequest new];
// Tentukan nama bucket. Contoh: examplebucket. 
request.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap. Contoh: exampleobject.txt. 
request.objectKey = @"exampleobject.txt";
/**
 * Konfigurasikan ACL objek. 
 * public-read
 * private
 * public-read-write
 * default
 */
request.acl = @"private";

OSSTask * putObjectACLTask = [client putObjectACL:request];
[putObjectACLTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        NSLog(@"set object ACL berhasil!");
    } else {
        NSLog(@"set object ACL gagal, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai. 
// [putObjectACLTask waitUntilFinished];

Dapatkan izin akses file

Berikut ini adalah contoh kode yang menunjukkan cara mengkueri ACL objek bernama exampleobject.txt di dalam bucket bernama examplebucket:

OSSGetObjectACLRequest *request = [OSSGetObjectACLRequest new];
// Tentukan nama bucket. Contoh: examplebucket. 
request.bucketName = @"examplebucket";
// Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap. Contoh: exampleobject.txt. 
request.objectName = @"exampleobject.txt";

OSSTask * getObjectACLTask = [client getObjectACL:request];
[getObjectACLTask continueWithBlock:^id(OSSTask *task) {
    if (!task.error) {
        OSSGetObjectACLResult *result = task.result;
        NSLog(@"objectACL: %@", result.grant);
    } else {
        NSLog(@"get object ACL gagal, error: %@", task.error);
    }
    return nil;
}];
// Implementasikan pemblokiran sinkron untuk menunggu tugas selesai. 
// [putObjectACLTask waitUntilFinished];

Referensi

  • Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengonfigurasi ACL sebuah objek, lihat PutObjectACL.

  • Untuk informasi lebih lanjut tentang operasi API yang dapat Anda panggil untuk mengkueri ACL sebuah objek, lihat GetObjectACL.

  • Untuk informasi lebih lanjut tentang cara menginisialisasi instance OSSClient, lihat Inisialisasi.