Atur ACL Tabel

Operasi Set Table ACL mengatur kebijakan akses tersimpan untuk tabel yang dapat digunakan dengan tanda tangan akses bersama. Untuk informasi selengkapnya, lihat Menentukan kebijakan akses tersimpan.

Nota

Operasi Set Table ACL tersedia di versi 2012-02-12 dan yang lebih baru.

Nota

Daftar kontrol akses (ACL) adalah daftar entri kontrol akses (ACL). Setiap ACE dalam ACL mengidentifikasi wali amanat dan menentukan hak akses diizinkan, ditolak, atau diaudit untuk wali amanat tersebut. Untuk informasi selengkapnya, lihat daftar kontrol akses .

Minta

Anda dapat membuat permintaan Set Table ACL sebagai berikut. Kami merekomendasikan HTTPS. Ganti myaccount dengan nama akun penyimpanan Anda.

Metode Meminta URI Versi HTTP
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1

URI layanan penyimpanan yang ditimulasi

Saat Anda membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port Azure Table Storage sebagai 127.0.0.1:10002. Kemudian tambahkan nama akun penyimpanan yang ditimulasikan.

Metode Meminta URI Versi HTTP
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

Untuk informasi selengkapnya, lihat Menggunakan emulator Azurite untuk pengembangan Azure Storage lokal.

Parameter URI

Anda dapat menentukan parameter tambahan berikut pada URI permintaan:

Parameter Deskripsi
timeout Fakultatif. Dinyatakan dalam detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu untuk operasi Penyimpanan Tabel.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional:

Header permintaan Deskripsi
Authorization Diperlukan. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date atau x-ms-date Diperlukan. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
x-ms-version Fakultatif. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan Versi untuk layanan Azure Storage.
x-ms-client-request-id Fakultatif. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 kibibyte (KiB) yang dicatat dalam log Storage Analytics saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server.

Isi permintaan

Untuk menentukan kebijakan akses tersimpan, berikan pengidentifikasi unik dan kebijakan akses dalam isi permintaan untuk operasi Set Table ACL.

Elemen SignedIdentifier menyertakan pengidentifikasi unik, seperti yang ditentukan dalam elemen Id. SignedIdentifier juga menyertakan detail kebijakan akses, seperti yang ditentukan dalam elemen AccessPolicy. Panjang maksimum pengidentifikasi unik adalah 64 karakter.

Bidang Start dan Expiry harus dinyatakan sebagai waktu UTC dan harus mematuhi format ISO 8061 yang valid. Format ISO 8061 yang didukung meliputi:

  • YYYY-MM-DD

  • YYYY-MM-DDThh:mmTZD

  • YYYY-MM-DDThh:mm:ssTZD

  • YYYY-MM-DDThh:mm:ss.fffffffTZD

Untuk bagian tanggal format ini, YYYY adalah representasi tahun empat digit, MM adalah representasi bulan dua digit, dan DD adalah representasi hari dua digit. Untuk bagian waktu, hh adalah representasi jam dalam notasi 24 jam, mm adalah representasi menit dua digit, ss adalah representasi kedua dua digit, dan fffffff adalah representasi milidetik tujuh digit. Penunjuk waktu T memisahkan bagian tanggal dan waktu string. Perancang zona waktu TZD menentukan zona waktu.

<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>unique-64-character-value</Id>  
    <AccessPolicy>  
      <Start>start-time</Start>  
      <Expiry>expiry-time</Expiry>  
      <Permission>abbreviated-permission-list</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Permintaan sampel

Request Syntax:  
PUT https://myaccount.table.core.windows.net/mytable?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2013-08-15  
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Jawaban

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode status

Operasi yang berhasil mengembalikan kode status 204 (Tanpa Konten).

Untuk informasi tentang kode status, lihat Status dan kode kesalahan.

Header respons

Respons untuk operasi ini mencakup header berikut. Respons mungkin juga menyertakan header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1 .

Header respons Deskripsi
x-ms-request-id Mengidentifikasi permintaan yang dibuat secara unik. Anda juga dapat menggunakannya untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Memecahkan masalah operasi API.
x-ms-version Menunjukkan versi Table Storage yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru.
Date Nilai tanggal/waktu UTC yang menunjukkan waktu layanan mengirim respons.
x-ms-client-request-id Dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai header x-ms-client-request-id, jika ada dalam permintaan dan nilainya paling banyak 1.024 karakter ASCII yang terlihat. Jika header x-ms-client-request-id tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Sampel respons

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 25 Nov 2013 22:42:55 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/1.0 Microsoft-HTTPAPI/2.0  
  

Otorisasi

Otorisasi diperlukan saat memanggil operasi akses data apa pun di Azure Storage. Anda dapat mengotorisasi operasi Set Table ACL menggunakan ID Microsoft Entra atau Kunci Bersama.

Untuk mengotorisasi operasi Set Table ACL menggunakan ID Microsoft Entra, prinsip keamanan memerlukan peran Azure RBAC kustom yang menyertakan tindakan RBAC berikut: Microsoft.Storage/storageAccounts/tableServices/tables/setAcl/action.

Penting

Microsoft merekomendasikan penggunaan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan ke Azure Storage. MICROSOFT Entra ID menyediakan keamanan yang unggul dan kemudahan penggunaan dibandingkan dengan otorisasi Kunci Bersama.

Komentar

Saat Anda mengatur izin untuk tabel, izin yang ada akan diganti. Untuk memperbarui izin tabel, panggil Get Table ACL untuk mengambil semua kebijakan akses yang terkait dengan tabel. Ubah kebijakan akses yang ingin Anda ubah, lalu panggil Set Table ACL dengan kumpulan data lengkap untuk melakukan pembaruan.

Membuat kebijakan akses tersimpan

Kebijakan akses tersimpan dapat menentukan waktu mulai, waktu kedaluwarsa, dan izin untuk tanda tangan akses bersama yang terkait dengannya. Bergantung pada bagaimana Anda ingin mengontrol akses ke berbagi atau sumber daya file, Anda dapat:

  • Tentukan semua parameter ini dalam kebijakan akses tersimpan dan hilangkan dari URL untuk tanda tangan akses bersama. Melakukannya memungkinkan Anda untuk memodifikasi perilaku tanda tangan terkait atau mencabutnya kapan saja.
  • Tentukan satu atau beberapa parameter kebijakan akses dalam kebijakan akses tersimpan, dan tentukan parameter lain pada URL.
  • Tentukan semua parameter pada URL. Dalam hal ini, Anda dapat menggunakan kebijakan akses tersimpan untuk mencabut tanda tangan tetapi tidak untuk mengubah perilakunya.

Untuk informasi selengkapnya tentang membuat kebijakan akses, lihat Menentukan kebijakan akses tersimpan.

Bersama-sama, tanda tangan akses bersama dan kebijakan akses tersimpan harus menyertakan semua bidang yang diperlukan untuk mengotorisasi tanda tangan. Jika ada bidang yang diperlukan yang hilang, permintaan akan gagal. Demikian juga, jika bidang ditentukan baik di URL tanda tangan akses bersama maupun dalam kebijakan akses tersimpan, permintaan akan gagal dengan kode status 400 (Permintaan Buruk). Untuk informasi selengkapnya tentang bidang yang menyusun tanda tangan akses bersama, lihat Membuat layanan SAS.

Anda dapat mengatur maksimal lima kebijakan akses terpisah untuk tabel kapan saja. Jika lebih dari lima kebijakan akses diteruskan dalam isi permintaan, layanan mengembalikan kode status 400 (Permintaan Buruk).

Nota

Saat Anda membuat kebijakan akses tersimpan pada tabel, mungkin perlu waktu hingga 30 detik untuk diterapkan. Selama interval ini, tanda tangan akses bersama yang terkait dengan kebijakan akses tersimpan akan gagal dengan kode status 403 (Terlarang), hingga kebijakan akses menjadi aktif.

Lihat juga

Menentukan kebijakan akses tersimpan
Membuat dan menggunakan tanda tangan akses bersama
Mendelegasikan akses dengan tanda tangan akses bersama
Dapatkan ACL Tabel
Mengotorisasi permintaan ke Azure Storage
status dan kode kesalahan