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:
- Kontributor
- Kontributor Akun Penyimpanan
- Kontributor Data Blob Penyimpanan
- Pemilik Data Blob Penyimpanan
- Pembaca Data Blob Penyimpanan.
- Delegator Bloob Penyimpanan
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.