Aracılığıyla paylaş


Kullanıcı Temsilcisi Anahtarı Alma

İşlem, Get User Delegation Key kullanıcı temsilcisi SAS'sini (paylaşılan erişim imzası) imzalamak için kullanılabilecek bir anahtar alır. Kullanıcı temsilcisi SAS,Microsoft Entra kimlik bilgilerini kullanarak Azure Blob Depolama kaynaklara erişim verir. İşlem Get User Delegation Key 2018-11-09 ve sonraki sürümlerde kullanılabilir.

İstek

öğesini Get User Delegation Key aşağıdaki gibi oluşturun. HTTPS gereklidir. myaccount değerini depolama hesabınızın adıyla değiştirin.

POST yöntemi istek URI'si HTTP sürümü
https://myaccount.blob.core.windows.net/?restype=service&comp=userdelegationkey HTTP/1.1

Öykünülmüş depolama hizmeti isteği

Yerel depolama hizmetine karşı istekte bulunduğunuzda, yerel ana bilgisayar adını ve Blob Depolama bağlantı noktasını olarak 127.0.0.1:10000ve ardından yerel depolama hesabı adını belirtin:

POST yöntemi istek URI'si HTTP sürümü
http://127.0.0.1:10000/devstoreaccount1/?restype=service&comp=userdelegationkey HTTP/1.1

Daha fazla bilgi için bkz . Yerel Azure Depolama geliştirmesi için Azurite öykünücüsü kullanma.

URI parametreleri

İstek URI'sinde aşağıdaki ek parametreler belirtilebilir.

Parametre Açıklama
timeout İsteğe bağlı. timeout parametresi saniye cinsinden ifade edilir. Daha fazla bilgi için bkz. Blob Depolama işlemleri için zaman aşımlarını ayarlama.

İstek üst bilgileri

Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır.

İstek üst bilgisi Açıklama
Authorization Gereklidir. Yetkilendirme düzenini belirtir. Yalnızca Microsoft Entra ID yetkilendirme desteklenir. Daha fazla bilgi için bkz. Microsoft Entra ID ile yetkilendirme.
x-ms-version Tüm yetkili istekler için gereklidir. Daha fazla bilgi için bkz. Azure Depolama hizmetleri için sürüm oluşturma.
x-ms-client-request-id İsteğe bağlı. Günlüğe kaydetme yapılandırıldığında günlüklere kaydedilen 1 kibibaytlık (KiB) karakter sınırıyla istemci tarafından oluşturulan, opak bir değer sağlar. İstemci tarafı etkinlikleriyle sunucunun aldığı istekler arasında bağıntı sağlamak için bu üst bilgiyi kullanmanızı kesinlikle öneririz. Daha fazla bilgi için bkz. İzleme Azure Blob Depolama.

İstek gövdesi

İstek gövdesinin biçimi aşağıdaki gibidir:

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

İstek gövdesinin öğeleri aşağıdaki tabloda açıklanmıştır:

Öğe Açıklama
Başlangıç Gereklidir. Kullanıcı temsilcisi SAS'sinin ISO tarih biçimindeki başlangıç saati. Geçerli tarihi izleyen yedi gün içinde geçerli bir tarih ve saat olmalıdır.
Süre sonu Gereklidir. Iso tarih biçiminde kullanıcı temsilcisi SAS'sinin sona erme zamanı. Geçerli tarihi izleyen yedi gün içinde geçerli bir tarih ve saat olmalıdır.

Yanıt

Yanıt bir HTTP durum kodu ve yanıt üst bilgileri kümesi içerir.

Durum kodu

Başarılı bir işlem 200 (Tamam) durum kodunu döndürür.

Durum kodları hakkında daha fazla bilgi için bkz . Durum ve hata kodları.

Yanıt üst bilgileri

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt, ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Yanıt üst bilgisi Description
x-ms-request-id Yapılan isteği benzersiz olarak tanımlar ve istekle ilgili sorunları gidermek için kullanılabilir. Daha fazla bilgi için bkz. API işlemleriyle ilgili sorunları giderme.
x-ms-version İsteği yürütmek için kullanılan Blob Depolama sürümü.
Date Hizmet tarafından oluşturulan ve yanıtın başlatıldığı saati gösteren UTC tarih/saat değeri.
x-ms-client-request-id İsteklerin ve karşılık gelen yanıtların sorunlarını gidermek için kullanılabilir. Bu üst bilginin değeri, istekte mevcutsa ve değer 1.024'ten fazla görünür ASCII karakteri içermiyorsa üst bilginin değerine x-ms-client-request-id eşittir. x-ms-client-request-id Üst bilgi istekte yoksa yanıtta bulunmaz.

Yanıt gövdesi

Yanıt gövdesinin biçimi aşağıdaki gibidir:

<?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>

Yanıt gövdesinin öğeleri aşağıdaki tabloda açıklanmıştır:

Öğe Açıklama
SignedOid Microsoft kimlik sistemindeki bir nesnenin sabit tanımlayıcısı.
SignedTid Kullanıcının Microsoft Entra kiracısını temsil eden GUID.
İmzalı Başlangıç Iso tarih biçiminde kullanıcı temsilcisi anahtarının başlangıç saati.
SignedExpiry Iso tarih biçiminde kullanıcı temsilcisi anahtarının sona erme zamanı.
SignedService Kullanıcı temsilcisi anahtarının kullanabildiği hizmet; burada b, Blob Depolama'yı temsil eder.
SignedVersion Kullanıcı temsilci anahtarını almak için kullanılan REST API sürümü.
Değer Kullanıcı temsilcisi anahtarı.

Yetkilendirme

Azure Depolama'da herhangi bir veri erişimi işlemi çağrılırken yetkilendirme gereklidir. İşlemi yalnızca Microsoft Entra ID kullanarak yetki vekleyebilirsinizGet User Delegation Key.

İzinler

Kullanıcı temsilcisi anahtarını isteyen güvenlik sorumlusunun bunu yapmak için uygun izinlere sahip olması gerekir. Microsoft Entra güvenlik sorumlusu bir kullanıcı, grup, hizmet sorumlusu veya yönetilen kimlik olabilir.

Aşağıda, bir Microsoft Entra güvenlik sorumlusunun işlemi çağırması Get User Delegation Key için gereken RBAC eylemi ve bu eylemi içeren en az ayrıcalıklı yerleşik Azure RBAC rolü verilmiştir:

Bu Azure RBAC eylemini içeren herhangi bir yerleşik rolün( açıkça veya joker karakter tanımının bir parçası olarak) işlemi çağırmasına Get User Delegation Key izin verilir.

Azure RBAC kullanarak rol atama hakkında daha fazla bilgi edinmek için bkz. Blob verilerine erişim için Azure rolü atama.

Get User Delegation Key İşlem depolama hesabı düzeyinde hareket ettiğinden, Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey eyleminin kapsamı depolama hesabı, kaynak grubu veya abonelik düzeyinde yapılmalıdır. Güvenlik sorumlusuna daha önce listelenen yerleşik rollerden biri veya Depolama hesabı, kaynak grubu veya abonelik düzeyinde Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey eylemini içeren özel bir rol atanmışsa, güvenlik sorumlusu kullanıcı temsilci anahtarı isteyebilir.

Güvenlik sorumlusuna veri erişimine izin veren bir rol atanmışsa ancak kapsamı kapsayıcı düzeyine göre belirlenmişse, depolama hesabı, kaynak grubu veya abonelik düzeyinde depolama Blobu Temsilci Rolü'ni de bu güvenlik sorumlusuna atayabilirsiniz. Depolama Blobu Temsilcisi rolü, güvenlik sorumlusuna kullanıcı temsilcisi anahtarı istemek için izinler verir.

Azure Depolama için RBAC rolleri hakkında daha fazla bilgi için bkz. Azure Active Directory ile yetkilendirme.

Açıklamalar

Kullanıcı temsilcisi SAS'sini oluşturmak için kullanıcı temsilcisi anahtarını kullanın. kullanıcı temsilcisi SAS belirtecine yanıtında Get User Delegation Key döndürülen alanları ekleyin. Daha fazla bilgi için bkz. Kullanıcı temsilcisi SAS oluşturma.

Kullanıcı temsilci anahtarı Blob Depolama kaynaklarına doğrudan erişmek için kullanılamaz.

Faturalama

Fiyatlandırma istekleri, Blob Depolama API'lerini kullanan istemcilerden, doğrudan Blob Depolama REST API'si aracılığıyla veya bir Azure Depolama istemci kitaplığından kaynaklanabilir. Bu istekler işlem başına ücret tahakkuk eder. İşlem türü, hesabın ücretlendirilmeyi etkiler. Örneğin, okuma işlemleri yazma işlemlerinden farklı bir faturalama kategorisine tahakkuk eder. Aşağıdaki tabloda, depolama hesabı türüne göre istekler için Get User Delegation Key faturalama kategorisi gösterilmektedir:

İşlem Depolama hesabı türü Faturalama kategorisi
Kullanıcı Temsilcisi Anahtarı Alma Premium blok blobu
Standart genel amaçlı v2
Diğer işlemler
Kullanıcı Temsilcisi Anahtarı Alma Standart genel amaçlı v1 Okuma işlemleri

Belirtilen faturalama kategorisinin fiyatlandırması hakkında bilgi edinmek için bkz. fiyatlandırma Azure Blob Depolama.

Ayrıca bkz.