Dapatkan Kunci Delegasi Pengguna

Get User Delegation Key Operasi ini mendapatkan kunci yang dapat digunakan untuk menandatangani SAS delegasi pengguna (tanda tangan akses bersama). DELEGASI pengguna SAS memberikan akses ke sumber daya di Blob service menggunakan kredensial Azure Active Directory (Azure AD). Operasi Get User Delegation Key ini tersedia dalam versi 2018-11-09 dan yang lebih baru.

Minta

Buat Get User Delegation Key sebagai berikut. HTTPS diperlukan. Ganti myaccount dengan nama akun penyimpanan Anda.

URI Permintaan Metode POST Versi HTTP
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey HTTP/1.1

URI layanan penyimpanan yang ditimulasikan

Saat membuat permintaan terhadap layanan penyimpanan lokal, tentukan nama host lokal dan port layanan Blob sebagai 127.0.0.1:10000, diikuti dengan nama akun penyimpanan lokal:

URI Permintaan Metode POST Versi HTTP
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey HTTP/1.1

Untuk informasi selengkapnya, lihat Menggunakan Emulator Azure Storage untuk Pengembangan dan Pengujian.

Parameter URI

Parameter tambahan berikut dapat ditentukan pada URI permintaan.

Parameter Deskripsi
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur Batas Waktu untuk Operasi Blob Service.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header Permintaan Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi. Hanya otorisasi dengan Azure AD yang didukung. Untuk informasi selengkapnya, lihat Mengotorisasi dengan Azure Active Directory.
x-ms-version Diperlukan untuk semua permintaan yang diotorisasi. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
x-ms-client-request-id Opsional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 KiB yang dicatat dalam log analitik saat pengelogan analitik penyimpanan diaktifkan. Menggunakan header ini sangat direkomendasikan untuk mengkorelasi aktivitas sisi klien dengan permintaan yang diterima oleh server. Untuk informasi selengkapnya, lihat Tentang Storage Analytics Logging dan Azure Logging: Menggunakan Log untuk Melacak Permintaan Storage.

Isi Permintaan

Format isi permintaan adalah sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>  
<KeyInfo>  
    <Start>String, formatted ISO Date</Start>
    <Expiry>String, formatted ISO Date </Expiry>
</KeyInfo>  

Tabel berikut ini menjelaskan elemen isi permintaan:

Nama Elemen Deskripsi
Mulai Wajib diisi. Waktu mulai untuk SAS delegasi pengguna, dalam format Tanggal ISO. Ini harus merupakan tanggal dan waktu yang valid dalam waktu 7 hari dari waktu saat ini.
Kedaluwarsa Wajib diisi. Waktu kedaluwarsa sas delegasi pengguna, dalam format Tanggal ISO. Ini harus merupakan tanggal dan waktu yang valid dalam waktu 7 hari dari waktu saat ini.

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode Status

Operasi yang berhasil mengembalikan kode status 200 (OK).

Untuk informasi tentang kode status, lihat Status dan Kode Kesalahan.

Header Respons

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

Header Respons Deskripsi
x-ms-request-id Header ini secara unik mengidentifikasi permintaan yang dibuat dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Pemecahan Masalah Operasi API.
x-ms-version Menunjukkan versi blob service yang digunakan untuk menjalankan permintaan.
Date Nilai tanggal/waktu UTC yang dihasilkan oleh layanan yang menunjukkan waktu dimulainya respons.
x-ms-client-request-id Header ini dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai x-ms-client-request-id header jika ada dalam permintaan dan nilainya paling banyak 1024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Isi Respons

Format isi respons adalah sebagai berikut:

<?xml version="1.0" encoding="utf-8"?>
<UserDelegationKey>
    <SignedOid>String containing a GUID value</SignedOid>
    <SignedTid>String containing a GUID value</SignedTid>
    <SignedStart>String formatted as ISO date</SignedStart>
    <SignedExpiry>String formatted as ISO date</SignedExpiry>
    <SignedService>b</SignedService>
    <SignedVersion>String specifying REST api version to use to create the user delegation key</SignedVersion>
    <Value>String containing the user delegation key</Value>
</UserDelegationKey>

Tabel berikut ini menjelaskan elemen isi respons:

Nama Elemen Deskripsi
SignedOid Pengidentifikasi yang tidak dapat diubah untuk objek dalam sistem identitas Microsoft.
SignedTid GUID yang mewakili penyewa Microsoft Azure AD asal pengguna.
SignedStart Waktu mulai kunci delegasi pengguna, dalam format tanggal ISO.
SignedExpiry Waktu kedaluwarsa kunci delegasi pengguna, dalam format tanggal ISO.
SignedService Layanan kunci delegasi pengguna dapat digunakan untuk, b mewakili Blob service.
SignedVersion Versi rest api yang digunakan untuk mendapatkan kunci delegasi pengguna.
Nilai Kunci delegasi pengguna.

Authorization

Prinsip keamanan yang meminta kunci delegasi pengguna harus memiliki izin yang sesuai untuk melakukannya. Prinsip keamanan Azure AD mungkin pengguna, grup, perwakilan layanan, atau identitas terkelola.

Untuk meminta kunci delegasi pengguna, prinsip keamanan harus ditetapkan Microsoft.Storage /storageAccounts/blobServices/generateUserDelegationKey action. Peran RBAC bawaan berikut ini mencakup Microsoft.Storage Tindakan /storageAccounts/blobServices/generateUserDelegationKey, baik secara eksplisit atau sebagai bagian dari definisi kartubebas:

Get User Delegation Key Karena operasi bertindak pada tingkat akun penyimpanan, Microsoft.Storage Tindakan /storageAccounts/blobServices/generateUserDelegationKey harus dilingkupkan pada tingkat akun penyimpanan, grup sumber daya, atau langganan. Jika prinsip keamanan diberi salah satu peran bawaan yang tercantum di atas, atau peran kustom yang menyertakan Microsoft.Storage Tindakan /storageAccounts/blobServices/generateUserDelegationKey, pada tingkat akun penyimpanan, grup sumber daya, atau langganan, prinsip keamanan akan dapat meminta kunci delegasi pengguna.

Dalam kasus di mana prinsip keamanan diberi peran yang mengizinkan akses data tetapi terlingkup ke tingkat kontainer, Anda juga dapat menetapkan peran delegator Storage Blob ke prinsip keamanan tersebut di tingkat akun penyimpanan, grup sumber daya, atau langganan. Peran delegator Storage Blob memberikan izin utama keamanan untuk meminta kunci delegasi pengguna.

Untuk informasi selengkapnya tentang peran RBAC untuk Azure Storage, lihat Mengotorisasi dengan Azure Active Directory.

Keterangan

Gunakan kunci delegasi pengguna untuk membuat SAS delegasi pengguna. Sertakan bidang yang dikembalikan pada respons terhadap Get User Delegation Key token SAS delegasi pengguna. Untuk informasi selengkapnya tentang membuat SAS delegasi pengguna, lihat Membuat SAS delegasi pengguna.

Kunci delegasi pengguna tidak dapat digunakan untuk mengakses sumber daya di Blob service secara langsung.

Lihat juga