Aracılığıyla paylaş


Kullanıcı temsilcisi SAS’ı oluşturma

Önemli

En iyi güvenlik için Microsoft, mümkün olduğunca blob, kuyruk ve tablo verilerine karşı istekleri yetkilendirmek için yönetilen kimliklerle Microsoft Entra Id kullanılmasını önerir. Microsoft Entra Kimliği ve yönetilen kimliklerle yetkilendirme, Paylaşılan Anahtar yetkilendirmesi üzerinden üstün güvenlik ve kullanım kolaylığı sağlar. Daha fazla bilgi edinmek için bkz. Microsoft Entra ID ile yetkilendirme. Yönetilen kimlikler hakkında daha fazla bilgi edinmek için bkz. Azure kaynakları için yönetilen kimlikler nelerdir.

Şirket içi uygulamalar gibi Azure dışında barındırılan kaynaklar için Azure Arc aracılığıyla yönetilen kimlikleri kullanabilirsiniz. Örneğin, Azure Arc özellikli sunucularda çalışan uygulamalar, Azure hizmetlerine bağlanmak için yönetilen kimlikleri kullanabilir. Daha fazla bilgi edinmek için bkz. Azure Arc özellikli sunucularla Azure kaynaklarında kimlik doğrulaması.

Microsoft Entra kimlik bilgilerini veya hesap anahtarını kullanarak kapsayıcıya, dizine veya bloba erişim için paylaşılan erişim imzası (SAS) belirtecinin güvenliğini sağlayabilirsiniz. Microsoft Entra kimlik bilgileriyle güvenliği sağlanan sas, SAS kullanıcı temsilcisi olarak adlandırılır. En iyi güvenlik uygulaması olarak, mümkün olduğunda daha kolay ele geçirilebilen hesap anahtarı yerine Microsoft Entra kimlik bilgilerini kullanmanızı öneririz. Uygulama tasarımınız paylaşılan erişim imzaları gerektirdiğinde, daha iyi güvenlik sağlamaya yardımcı olmak üzere kullanıcı temsilcisi SAS'ı oluşturmak için Microsoft Entra kimlik bilgilerini kullanın.

Her SAS bir anahtarla imzalanır. Kullanıcı temsilcisi SAS'ı oluşturmak için, öncekullanıcı temsilcisi anahtarı istemeniz gerekir. Bu anahtarı SAS'yi imzalamak için kullanırsınız. Kullanıcı temsilcisi anahtarı, Microsoft Entra kimlik bilgilerinize bağlı olması dışında hizmet SAS'sini veya hesap SAS'sini imzalamak için kullanılan hesap anahtarına benzer. Kullanıcı temsilci anahtarını istemek için Kullanıcı Temsilcisi Anahtarı Alma işlemini çağırın. Daha sonra kullanıcı delegasyon anahtarını kullanarak SAS'ı oluşturabilir ve SAS token'ının kullanımını son kullanıcı kimliğiyle sınırlayabilirsiniz.

Blob Depolama, Data Lake Storage, Queue Storage, Table Storage veya Azure Files için kullanıcı delegasyonu SAS desteklenir. Depolanan erişim ilkeleri kullanıcı temsilcisi SAS'sinde desteklenmez.

Dikkat

Paylaşılan erişim imzaları, depolama kaynaklarına izin veren anahtarlardır ve bunları bir hesap anahtarını koruduğu gibi korumanız gerekir. SAS'yi kötü amaçlı veya istenmeyen kullanıma karşı korumak önemlidir. SAS dağıtmak için isteğe bağlılığı kullanın ve güvenliği aşılmış SAS'yi iptal etmek için bir planınız var. Paylaşılan erişim imzalarını kullanan işlemler yalnızca HTTPS bağlantısı üzerinden gerçekleştirilmeli ve paylaşılan erişim imzası URI'leri yalnızca HTTPS gibi güvenli bir bağlantı üzerinde dağıtılmalıdır.

SAS güvenliğini sağlamak için hesap anahtarınızı kullanma hakkında bilgi için bkz. hizmet SAS oluşturma ve Hesap SASoluşturma .

Dizin kapsamlı erişim için kullanıcı delegasyonu SAS desteği (yalnızca Blob Storage ve Data Lake Storage)

Kullanıcı delegasyonu SAS, yetkilendirme sürümü (sv) 2020-02-10 veya daha sonraysa, dizin kapsamını (sr=d) destekler. Dizin kapsamı semantiği (sr=d) kapsayıcı kapsamına (sr=c) benzer, ancak erişim bir dizinle ve içindeki tüm dosya ve alt dizinlerle sınırlıdır. sr=d belirtildiğinde, sdd sorgu parametresi de gereklidir.

2020-02-10 yetkilendirme sürümü için dizeden imzaya biçimi değişmemiştir.

Kullanıcı OID'i için kullanıcı delegasyonu SAS desteği (sadece Blob Depolama ve Data Lake Depolama)

Kullanıcı temsilcisi SAS, yetkilendirme sürümü (saoid) 2020-02-10 veya üzeri olduğunda suoid veya sv parametresinde taşınan isteğe bağlı bir kullanıcı nesnesi tanımlayıcısını (OID) destekler. saoid ve suoid parametreleri SAS kullanan son kullanıcının güvenlik sorumlusuna karşılık gelir ve Hadoop ve Spark gibi çok kullanıcılı küme iş yükleri için gelişmiş bir yetkilendirme modeli sağlar.

SAS belirteçleri belirli bir dosya sistemi işlemiyle ve kullanıcıyla kısıtlanabilir ve bu da çok kullanıcılı bir kümeye dağıtılması daha güvenli olan daha az güvenlik açığına sahip bir erişim belirteci sağlar. Bu özelliklerin kullanım örneklerinden biri, Hadoop ABFS sürücüsünün Apache Ranger ile tümleştirilmesidir.

İsteğe bağlı saoid ve suoid parametreleri hakkında daha fazla bilgi edinmek için bkz. İmzalı kullanıcı nesnesi kimliği belirtme.

Kullanıcı temsilcisi SAS'sini yetkilendirme

İstemci, kullanıcı temsilcisi SAS ile bir Blob Depolama kaynağına eriştiğinde, Azure Depolama isteği SAS'yi oluşturmak için kullanılan Microsoft Entra kimlik bilgileriyle yetkilendirilmiştir. İstemcinin kaynağa erişimi aşağıdaki izinlerle belirlenir:

  • Kullanıcı temsilcisi anahtarını isteyen Microsoft Entra güvenlik sorumlusuna verilen rol tabanlı erişim denetimi (RBAC) izinleri.
  • Kullanıcı temsilci anahtarını isteyen güvenlik sorumlusuna verilen POSIX erişim denetimi listesi (ACL) izinleri. Bu ek denetim yalnızca RBAC izinleri erişim veremediyse ve yalnızca depolama hesabında hiyerarşik ad alanı etkinleştirildiğinde gerçekleşir.
  • SAS belirtecinde açıkça verilen izinler.

Bu yaklaşım ek bir güvenlik düzeyi sağlar ve hesap erişim anahtarınızı uygulama kodunuzla depolamaktan kaçınmanıza yardımcı olur. Bu nedenlerden dolayı, Microsoft Entra kimlik bilgilerini kullanarak SAS oluşturmak en iyi güvenlik uygulamasıdır.

SAS'ye sahip bir istemciye verilen izinler, kullanıcı temsilci anahtarını isteyen güvenlik sorumlusuna verilen izinlerin ve signedPermissions (sp) alanı kullanılarak SAS belirtecinde kaynağa verilen izinlerin kesişimidir. Güvenlik sorumlusuna RBAC veya POSIX ACL'leri aracılığıyla verilen izin SAS belirtecinde de verilmediyse, bu izin kaynağa erişmek için SAS'yi kullanmaya çalışan istemciye verilmez. Kullanıcı temsilcisi SAS oluştururken RBAC ve POSIX ACL'leri aracılığıyla verilen izinlerin ve SAS belirteci aracılığıyla verilen izinlerin her ikisinin de istemcinin gerektirdiği erişim düzeyine uygun olduğundan emin olun.

Kullanıcı temsilcisi SAS'ı oluşturmak için aşağıdakileri yapın:

  1. Kullanıcı temsilci anahtarını isteyen güvenlik sorumlusuna istenen izinleri vermek için RBAC veya POSIX ACL'lerini kullanın.
  2. Microsoft Entra Id'den bir OAuth 2.0 belirteci alın.
  3. Get User Delegation Key işlemini çağırarak kullanıcı temsilci anahtarını istemek için belirteci kullanın.
  4. SAS belirtecini uygun alanlarla oluşturmak için kullanıcı temsilcisi anahtarını kullanın.

Kullanıcı bağımlısı kullanıcı delegasyonu SAS

Ek güvenlik için, yetkilendirme sürümü (sv) 2025-07-05 veya daha sonraysa, SAS token'ının son kullanıcıya bağlı olmasını belirtebilirsiniz. SAS tokenı oluştururken, son kullanıcının Entra nesne kimliğini signedDelegatedUserObjectId (sduoid) alanı üzerinden girmeniz gerekir ve onların kimliğini Entra girişiyle doğrulamaları gerekir (taşıyıcı token). Bu kullanıcı dışında kimse SAS tokenını kullanamayacak. Son kullanıcı ayrıca farklı bir kiracıda olabilir; bu, SAS tokenı oluşturulurken signedKeyDelegatedUserTenantId (skdutid) alanı ile belirtilebilir. Çapraz kiracı, kullanıcı bağımlısı kullanıcı delegasyonu SAS token'ları varsayılan olarak izin verilmez. Çapraz kiracı kullanıcı bağımlısı kullanıcı delegasyonu SAS tokenlarına izin vermek için, allowCrossTenantDelegationSas depolama hesabı property durumunu true olarak ayarlayın.

Bu özellik şu anda önizlemededir.

RBAC ile izin atama

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

Kullanıcı delegasyon anahtarını talep etmek için, Microsoft.Storage/storageAccounts/{serviceType}/generateUserDelegationKey eylemini bir güvenlik ilkesine atamanız gerekir. Aşağıdaki yerleşik RBAC rolleri arasında Microsoft.Storage/storageAccounts/{serviceType}/generateUserDelegationKey eylemi bulunur; bu eylem açıkça veya joker tanımının bir parçası olarak geçerlidir:

Kullanıcı Temsilcisi Anahtarı Alma işlemi depolama hesabı düzeyinde çalıştığından, 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 veya Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey eylemini içeren özel bir role depolama hesabı, kaynak grubu veya abonelik düzeyinde atanmışsa, güvenlik sorumlusu kullanıcı temsilcisi anahtarını isteyebilir.

Eğer güvenlik praktürüne veri erişimine izin veren ancak bir konteyner seviyesine göre bir rol atanmışsa, ayrıca depolama hesabı, kaynak grubu veya abonelik seviyesinde güvenlik praktesine Depolama Delegasyonu (örneğin Depolama Blob Delegörü) atamak mümkündür. Depolama Delegörü rolü, güvenlik başyapısına kullanıcı delegasyon anahtarını talep etme yetkileri verir.

Azure Depolama için RBAC rolleri hakkında daha fazla bilgi için bkz. Microsoft Entraile yetkilendirme.

OAuth 2.0 belirteci alma

Kullanıcı temsilcisi anahtarını almak için önce Microsoft Entra Id'den bir OAuth 2.0 belirteci isteyin. Get User Delegation Key işlemine çağrıyı yetkilendirmek için taşıyıcı düzeniyle belirteci sağlayın. Microsoft Entra ID'den OAuth belirteci isteme hakkında daha fazla bilgi için bkz. Kimlik doğrulaması akışları ve uygulama senaryoları.

Kullanıcı temsilcisi anahtarını isteme

Get User Delegation Key işlemi çağrısı, anahtarı kullanıcı temsilcisi SAS belirtecinde parametre olarak kullanılan bir değer kümesi olarak döndürür. Bu parametreler, Kullanıcı Delegasyonu Anahtarını Alın referansında ve bir sonraki bölümde, Kullanıcı delegasyonu SAS Oluşturma bölümünde açıklanmıştır.

bir istemci OAuth 2.0 belirteci kullanarak kullanıcı temsilcisi anahtarı istediğinde, Azure Depolama güvenlik sorumlusu adına kullanıcı temsilcisi anahtarını döndürür. Kullanıcı temsilcisi anahtarıyla oluşturulan SAS'ye güvenlik sorumlusuna verilen izinler verilir.

Kullanıcı temsilcisi anahtarını aldıktan sonra, anahtarın ömrü boyunca istediğiniz sayıda kullanıcı temsilcisi paylaşılan erişim imzası oluşturmak için kullanabilirsiniz. Kullanıcı temsilcisi anahtarı, anahtarı almak için kullandığınız OAuth 2.0 belirtecinin bağımsız olduğundan, anahtar geçerli olduğu sürece belirtecin yenilenmesi gerekmez. Anahtarın yedi güne kadar geçerli olduğunu belirtebilirsiniz.

Kullanıcı temsilcisi SAS'si oluşturma

Aşağıdaki tabloda, kullanıcı temsilcisi SAS belirteci için desteklenen alanlar özetlenmektedir. Sonraki bölümlerde bu parametrelerin nasıl belirtilmesiyle ilgili ek ayrıntılar sağlanır.

SAS alan adı SAS belirteci parametresi Gerekli veya isteğe bağlı Sürüm desteği Açıklama
signedVersion sv Gerekli 2018-11-09 ve üzeri İmza alanını oluşturmak için kullanılan hizmetin sürümünü gösterir. Ayrıca, bu SAS ile yapılan istekleri işleyen hizmet sürümünü belirtir.
signedResource sr Gerekli Tümü Sadece Blob Storage veya Azure Files. Paylaşılan erişim imzası üzerinden hangi kaynaklara erişilebileceğini belirtir.
signedStart st İsteğe bağlı Tümü isteğe bağlı. Paylaşılan erişim imzasının geçerli olduğu zaman, kabul edilen ISO 8601 UTC biçimlerinden biriyle ifade edilir. Bu değer atlanırsa, başlangıç saati olarak geçerli UTC saati kullanılır. Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.
signedExpiry se Gerekli Tümü Paylaşılan erişim imzasının geçersiz olduğu ve kabul edilen ISO 8601 UTC biçimlerinden biriyle ifade edildiği zaman. Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.
signedPermissions sp Gerekli Tümü SAS'ye sahip bir istemcinin kaynak üzerinde gerçekleştirebileceği işlemleri gösterir. İzinler birleştirilebilir.
signedIp sip İsteğe bağlı 2015-04-05 ve üzeri İsteklerin kabul edildiği bir IP adresi veya kapsayıcı BIR IP adresi aralığı belirtir. Bir aralık belirttiğinizde aralığın dahil olduğunu unutmayın. Şu anda yalnızca IPv4 adresleri desteklenmektedir.

Örneğin, sip=198.51.100.0 veya sip=198.51.100.10-198.51.100.20.
signedProtocol spr İsteğe bağlı 2015-04-05 ve üzeri SAS ile yapılan bir istek için izin verilen protokolü belirtir. SAS belirteciyle yapılan isteklerin HTTPS kullanmasını gerektirmek için bu alanı ekleyin.
signedObjectId skoid Gerekli 2018-11-09 ve üzeri Microsoft Entra güvenlik sorumlusunun nesne kimliğini belirtir. Bu nesne kimliği, kullanıcı temsilcisi anahtarını isteyen güvenlik sorumlusuna karşılık gelir.

İşlemi yetkilendirmeden önce Azure Depolama, nesne kimliğine göre RBAC izinlerini denetler. RBAC izinleri erişim veremiyorsa, Azure Depolama nesne kimliğine göre POSIX ACL izinlerini denetler.
signedTenantId sktid Gerekli 2018-11-09 ve üzeri Bir güvenlik sorumlusunun tanımlandığı Microsoft Entra kiracısını belirtir.
signedKeyStartTime skt Gerekli. 2018-11-09 ve üzeri Değer, Get User Delegation Key işlemi tarafından döndürülür. Kabul edilen ISO 8601 UTC biçimlerinden biriyle ifade edilen kullanıcı temsilcisi anahtarının ömrünün başlangıcını gösterir. Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.
signedKeyExpiryTime ske Gerekli 2018-11-09 ve üzeri Değer, Get User Delegation Key işlemi tarafından döndürülür. Kabul edilen ISO 8601 UTC biçimlerinden biriyle ifade edilen kullanıcı temsilcisi anahtarının kullanım ömrünün sonunu gösterir. Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.
signedKeyVersion skv Gerekli 2018-11-09 ve üzeri Değer, Get User Delegation Key işlemi tarafından döndürülür. Kullanıcı temsilci anahtarını almak için kullanılan depolama hizmeti sürümünü belirtir. Bu alan 2018-11-09 veya sonraki bir sürümü belirtmelidir.
signedKeyService sks Gerekli 2018-11-09 ve üzeri Kullanıcı temsilcisi anahtarının geçerli olduğu hizmeti gösterir. Şu anda yalnızca Blob Depolama desteklenmektedir.
signedAuthorizedObjectId saoid İsteğe bağlı 2020-02-10 ve üzeri Sadece Blob Storage (Blob Storage) için. SAS belirteci tarafından verilen eylemi gerçekleştirmek için kullanıcı temsilcisi anahtarının sahibi tarafından yetkilendirilmiş bir Microsoft Entra güvenlik sorumlusunun nesne kimliğini belirtir. Bu nesne kimliği, SAS'nin son kullanıcısının güvenlik sorumlusuna karşılık gelir. POSIX erişim denetim listelerinde (ACL) ek izin denetimi yapılmaz.
signedUnauthorizedObjectId suoid İsteğe bağlı 2020-02-10 ve üzeri Sadece Blob Storage (Blob Storage) için. Hiyerarşik ad alanı etkinleştirildiğinde Microsoft Entra güvenlik sorumlusunun nesne kimliğini belirtir. Bu nesne kimliği, SAS'nin son kullanıcısının güvenlik sorumlusuna karşılık gelir. Azure Depolama, işlemi yetkilendirmeden önce nesne kimliğine karşı bir POSIX ACL denetimi gerçekleştirir.
signedCorrelationId scid İsteğe bağlı 2020-02-10 ve üzeri Sadece Blob Storage (Blob Storage) için. Depolama denetim günlüklerini, SAS'yi oluşturan ve dağıtan sorumlu tarafından kullanılan denetim günlükleriyle ilişkilendirin.
signedKeyDelegatedUserTenantId skdutid İsteğe bağlı 2025-07-05 ve sonrası Microsoft Entra'da delege edilmiş son kullanıcı tenant id. Bu, Microsoft Entra taşıyıcı token'daki "tid" iddiasıdır. Bu sadece kullanıcıya bağlı kullanıcı delegasyonu SAS token'ları için gereklidir. Yalnızca DelegatedUserTid içinde UserDelegationKeybelirtildiğinde bu alan gereklidir.
signedDelegatedUserObjectId sduoid İsteğe bağlı 2025-07-05 ve sonrası Microsoft Entra'da delege edilmiş son kullanıcı nesne kimliği. Bu, Microsoft Entra taşıyıcı tokenindeki "oid" iddiasıdır. Bu sadece kullanıcıya bağlı kullanıcı delegasyonu SAS token'ları için gereklidir.
signedRequestHeaders srh İsteğe bağlı 2026-04-06 ve sonrası Sadece Blob Storage (Blob Storage) için. SAS kullanıldığında istekte bulunması gereken virgülle ayrılmış başlık isimlerini listeler. Azure Storage, başlık değerlerini string-to-sign'teki kanonikleştirilmiş formu kullanarak doğrular.
signedRequestQueryParameters srq İsteğe bağlı 2026-04-06 ve sonrası Sadece Blob Storage (Blob Storage) için. SAS kullanıldığında istekte bulunması gereken virgülle ayrılmış sorgu parametre adlarını listeler. Azure Storage, parametre değerlerini string-to-sign'teki kanonikleştirilmiş formu kullanarak doğrular.
signedDirectoryDepth sdd sr=d 2020-02-10 ve üzeri Sadece Blob Storage (Blob Storage) için. İşaretli dizenin canonicalizedResource alanında belirtilen dizinin kök klasöründeki dizin sayısını gösterir.
signedEncryptionScope ses İsteğe bağlı 2020-12-06 ve üzeri Sadece Blob Storage (Blob Storage) için. İstek içeriğini şifrelemek için kullanılacak şifreleme kapsamını gösterir.
tableName tn Gerekli 2025-07-05 ve sonrası Sadece masa. Paylaşılacak masanın adı.
startPk 2

startRk 2
spk

srk
İsteğe bağlı 2025-07-05 ve sonrası Sadece Masa Depolama.

İsteğe bağlı, ancak startPk eşlik etmelidir startRk. Bu paylaşılan erişim imzası ile erişilebilen minimum bölüm ve satır anahtarları. Ana değerler kapsayıcıdır. Eğer atlanırsa, tablo varlıklarında erişilebilen bir alt sınır yoktur.
endPk 2

endRk 2
epk

erk
İsteğe bağlı 2025-07-05 ve sonrası Sadece Masa Depolama.

İsteğe bağlı, ancak endPk eşlik etmelidir endRk. Bu paylaşılan erişim imzası ile erişilebilen maksimum bölüm ve satır anahtarları. Ana değerler kapsayıcıdır. Eğer atlanırsa, tablo varlıklarında erişilebilen üst sınır yoktur.
signature sig Gerekli Tümü İmza, SHA256 algoritması kullanılarak dizeden imzaya ve anahtar üzerinden hesaplanan ve ardından Base64 kodlaması kullanılarak kodlanan karma tabanlı bir ileti kimlik doğrulama kodudur (HMAC).
yanıt üst bilgisini Cache-Control rscc İsteğe bağlı 2013-08-15 ve üzeri Sadece Blob Storage veya Azure Files. Azure Depolama, Cache-Control yanıt üst bilgisini SAS belirtecinde belirtilen değere ayarlar.
yanıt üst bilgisini Content-Disposition rscd İsteğe bağlı 2013-08-15 ve üzeri Sadece Blob Storage veya Azure Files. Azure Depolama, Content-Disposition yanıt üst bilgisini SAS belirtecinde belirtilen değere ayarlar.
yanıt üst bilgisini Content-Encoding rsce İsteğe bağlı 2013-08-15 ve üzeri Sadece Blob Storage veya Azure Files. Azure Depolama, Content-Encoding yanıt üst bilgisini SAS belirtecinde belirtilen değere ayarlar.
yanıt üst bilgisini Content-Language rscl İsteğe bağlı 2013-08-15 ve üzeri Sadece Blob Storage veya Azure Files. Azure Depolama, Content-Language yanıt üst bilgisini SAS belirtecinde belirtilen değere ayarlar.
yanıt üst bilgisini Content-Type rsct İsteğe bağlı 2013-08-15 ve üzeri Sadece Blob Storage veya Azure Files. Azure Depolama, Content-Type yanıt üst bilgisini SAS belirtecinde belirtilen değere ayarlar.

İmzalı sürüm alanını belirtin

Gerekli signedVersion (sv) alanı, paylaşılan erişim imzası için hizmet sürümünü belirtir. Bu değer, hizmetin signature alanını oluşturmak için kullanılan sürümünü gösterir ve bu paylaşılan erişim imzası ile yapılan isteği işleyen hizmet sürümünü belirtir. sv alanının değeri 2018-11-09 veya sonraki bir sürüm olmalıdır.

İmzalı kaynak alanını belirtin (Sadece Blob Depolama)

Gerekli signedResource (sr) alanı, paylaşılan erişim imzası aracılığıyla erişilebilen kaynakları belirtir. Aşağıdaki tabloda SAS belirtecindeki bir blob, kapsayıcı veya dizin kaynağına nasıl başvuracakları açıklanmaktadır:

Kaynak Parametre değeri Desteklenen sürümler Açıklama
Damlacık b Tümü Blobun içeriğine ve meta verilerine erişim verir.
Blob sürümü Bv 2018-11-09 ve üzeri Blob sürümünün içeriğine ve meta verilerine erişim verir, ancak temel bloba erişim vermez.
Blob anlık görüntüsü Bs 2018-11-09 ve üzeri Blob anlık görüntüsünün içeriğine ve meta verilerine erişim verir, ancak temel bloba erişim vermez.
Kapsayıcı c Tümü Kapsayıcıdaki herhangi bir blobun içeriğine ve meta verilerine ve kapsayıcıdaki blobların listesine erişim verir.
Dizin d 2020-02-10 ve üzeri Dizindeki herhangi bir blobun içeriğine ve meta verilerine, ayrıca dizindeki bloblar listesine erişim sağlar. signedResource alanı için bir dizin belirtilirse, signedDirectoryDepth (sdd) parametresi de gereklidir. Dizin her zaman bir kapsayıcının içindedir.

İmzalı kaynak alanını belirtin (Sadece Azure Dosyaları)

Gerekli signedResource (sr) alanı, paylaşılan erişim imzası aracılığıyla erişilebilen kaynakları belirtir. Aşağıdaki tablo, URI'de bir dosyaya veya paylaşma kaynağına nasıl atıfta bulunacağınızı açıklar.

Alan adı Sorgu parametresi Açıklama
signedResource sr Gerekli.

Paylaşılan kaynağın dosya olup olmadığını belirtin f . Bunu yapmak dosyanın içeriğine ve meta verilerine erişim sağlar.

Paylaşılan kaynağın paylaşım olup olmadığını belirtin s . Bunu yapmak, paylaşımdaki herhangi bir dosyanın içeriğine ve meta verilerine, ayrıca paylaşımdaki dizinler ve dosyalar listesine erişim sağlar.

Response header'ları geçersiz kılmak için query parametrelerini belirt (Sadece Blob Storage ve Azure Files)

Paylaşılan erişim imzası bir istekte kullanıldığında döndürülecek belirli yanıt üst bilgilerinin değerlerini tanımlamak için, sorgu parametrelerinde yanıt üst bilgilerini belirtebilirsiniz. Bu özellik, Blob Storage için 2013-08-15 sürümü ve Azure Files için 2015-02-21 sürümü itibarıyla desteklenmektedir. Bu özelliği kullanan paylaşılan erişim imzaları, Blob Depolama için veya daha sonra, Azure Dosyaları için ise sv daha sonraki veya daha sonraki parametreleri 2013-08-15 içermelidir2015-02-21.

Yanıt başlıkları ve ilgili sorgu parametreleri aşağıdaki tabloda listelenmiştir:

Yanıt üst bilgisi adı Karşılık gelen SAS sorgu parametresi
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Örneğin, 2013-08-15 veya daha sonraki sürümlerle oluşturulan paylaşılan erişim imzasında sorgu parametresi belirtirseniz rsct=binary , yanıt Content-Type başlığı olarak binaryayarlanır. Bu değer, yalnızca bu paylaşılan erişim imzası kullanan bir istek için blob için depolanan başlık değerini geçersiz Content-Type kılar.

Yanıt başlıklarını sorgu parametreleri olarak belirten bir ortak erişim imzası oluşturursanız, bunları imza dizisini oluşturmak için kullanılan string-to-sign'a dahil etmelisiniz. Daha fazla bilgi için, bu makalenin ilerleyen bölümlerinde İmzayı Belirt bölümüne bakınız. Ek örnekler için Service SAS örneklerine bakınız.

İmza geçerlilik süresini belirtin

signedStart (st) ve signedExpiry (se) alanları SAS için başlangıç ve son kullanma sürelerini gösterir. signedExpiry alanı gereklidir. signedStart alanı isteğe bağlıdır. Atlanırsa, başlangıç saati olarak geçerli UTC saati kullanılır.

Kullanıcı temsilcisi SAS'sinde SAS'nin başlangıç ve son kullanma süreleri, kullanıcı temsilcisi anahtarı için tanımlanan aralık içinde olmalıdır. Kullanıcı temsilcisi anahtarının süresi dolduktan sonra bir istemci SAS kullanmayı denerse SAS, SAS'nin geçerli olup olmadığına bakılmaksızın bir yetkilendirme hatasıyla başarısız olur.

Kabul edilen UTC biçimleri hakkında daha fazla bilgi için bkz. DateTime değerlerini biçimlendirme.

Tablo adını belirtin (Sadece Tablo Depolama)

Alan, tableName paylaşılacak tablonun adını belirtir.

Alan adı Sorgu parametresi Açıklama
tableName tn Gerekli. Paylaşılacak masanın adı.

İzinleri belirtme

SAS belirtecinde signedPermissions (sp) alanı için belirtilen izinler, SAS'ye sahip bir istemcinin kaynakta hangi işlemleri gerçekleştirebileceğini gösterir.

İzinler, bir istemcinin aynı SAS ile birden çok işlem gerçekleştirmesine izin vermek için birleştirilebilir. SAS'yi oluştururken, izinleri aşağıdaki sırayla eklemeniz gerekir:

racwdxltmeop

Kapsayıcı için geçerli izin ayarlarına örnek olarak rw, rd, rl, wd, wlve rlverilebilir. Geçersiz ayarlara örnek olarak wr, dr, lrve dwverilebilir. İzin atamasını birden çok kez belirtmeye izin verilmez.

Kullanıcı temsilcisi SAS'i belirli işlemlere erişim izni veremiyor:

  • Konteynerler, kuyruklar ve tablolar oluşturulamaz, silinmez veya listelenemez.
  • Kapsayıcı meta verileri ve özellikleri okunamaz veya yazılamaz.
  • Kuyruklar temizlenemiyor ve meta verileri yazılamıyor.
  • Kapsayıcılar kiralanamaz.

Bu işlemlere erişim veren bir SAS oluşturmak için bir hesap SAS'si kullanın. Daha fazla bilgi için bkz. hesap SASoluşturma .

Bir dizin, konteyner veya blob için izinler

Her kaynak türü için desteklenen izinler aşağıdaki tabloda açıklanmıştır:

İzin URI simgesi Kaynak Sürüm desteği İzin verilen işlemler
Okumak r Kapsayıcı
Dizin
Damlacık
Tümü Kapsayıcı veya dizindeki herhangi bir blobun içeriğini, blok listesini, özelliklerini ve meta verilerini okuyun. Kopyalama işleminin kaynağı olarak blob kullanın.
Ekle a Kapsayıcı
Dizin
Damlacık
Tümü Ekleme blob'una bir blok ekleyin.
Oluştur c Kapsayıcı
Dizin
Damlacık
Tümü Yeni bir blob yazın, bir blobu anlık görüntüye yükleyin veya blobu yeni bir bloba kopyalayın.
Yazmak w Kapsayıcı
Dizin
Damlacık
Tümü İçerik, özellik, meta veri veya blok listesi oluşturun veya yazın. Blobu anlık görüntüye alma veya kiralama. Blobu yeniden boyutlandırın (yalnızca sayfa blobu). Blobu kopyalama işleminin hedefi olarak kullanın.
Sil d Kapsayıcı
Dizin
Damlacık
Tümü Blobu silme. 2017-07-29 ve sonraki sürümler için Silme izni de blob üzerinde kiranın bozulmasına izin verir. Daha fazla bilgi için Kira Blobu işlemine bakın.
Sürümü sil x Kapsayıcı
Damlacık
2019-12-12 ve üzeri Blob sürümünü silme.
Kalıcı Silme y Damlacık 2020-02-10 ve üzeri Blob anlık görüntüsünü veya sürümünü kalıcı olarak silin.
Liste l Kapsayıcı
Dizin
Tümü Blobları özyinelemeli olmayan şekilde listeleyin.
Etiketler t Damlacık 2019-12-12 ve üzeri Blobdaki etiketleri okuyun veya yazın.
Taşı m Kapsayıcı
Dizin
Damlacık
2020-02-10 ve üzeri Blobu veya dizini ve içeriğini yeni bir konuma taşıyın. saoid parametresi SAS belirtecine eklenmişse ve yapışkan bit üst dizinde ayarlanmışsa, bu işlem isteğe bağlı olarak alt blob, dizin veya üst dizinin sahibiyle sınırlandırılabilir.
Yürütmek e Kapsayıcı
Dizin
Damlacık
2020-02-10 ve üzeri Sistem özelliklerini alın ve depolama hesabı için hiyerarşik ad alanı etkinleştirildiyse blobun POSIX ACL'sini alın. Hiyerarşik ad alanı etkinse ve çağıran bir blobun sahibiyse, bu izin blobun sahip olan grubunu, POSIX izinlerini ve POSIX ACL'sini ayarlama olanağı verir. Çağıranın kullanıcı tanımlı meta verileri okumasına izin vermez.
Sahiplik o Kapsayıcı
Dizin
Damlacık
2020-02-10 ve üzeri Hiyerarşik ad alanı etkinleştirildiğinde, bu izin çağıranın sahip veya sahip olan grubu ayarlamasına veya arayan, yapışkan bit kümesine sahip bir dizin içindeki bir dizini veya blobu yeniden adlandırdığında veya sildiğinde sahip olarak davranmasına olanak tanır.
İzinler ös Kapsayıcı
Dizin
Damlacık
2020-02-10 ve üzeri Hiyerarşik ad alanı etkinleştirildiğinde, bu izin çağıranın dizinler ve bloblar üzerinde izinleri ve POSIX ACL'lerini ayarlamasına olanak tanır.
Değişmezlik İlkesini Ayarla ı Kapsayıcı
Damlacık
2020-06-12 ve üzeri Bir blob üzerinde değişmezlik ilkesini veya yasal saklamayı ayarlayın veya silin.

Dosya için izinler

İzin URI simgesi İzin verilen işlemler
Okumak r İçerik, özellikler, meta verileri okuyun. Dosyayı kopyalama işleminin kaynağı olarak kullanın.
Yazmak w Yeni bir dosya oluşturun veya bir dosyayı yeni bir dosyaya kopyalayın.
İçerik, özellik, meta veri oluşturun veya yazın. Dosyayı boyutlandırın. Dosyayı kopyalama işleminin hedefi olarak kullanın.
Sil d Dosyayı silin.

Paylaşım izinleri

İzin URI simgesi İzin verilen işlemler
Okumak r Paylaşımdaki herhangi bir dosyanın içeriğini, özelliklerini veya meta verilerini okuyun. Paylaşımdaki herhangi bir dosyayı kopyalama işleminin kaynağı olarak kullanın.
Yazmak w Paylaşımda yeni bir dosya oluşturun veya bir dosyayı paylaşımdaki yeni bir dosyaya kopyalayın.
Paylaşımdaki herhangi bir dosya için, içerik, özellik veya meta veri oluşturun veya yazın. Dosyayı boyutlandırın. Dosyayı kopyalama işleminin hedefi olarak kullanın. Not: Bir hizmet SAS kullanarak paylaşım özellikleri veya meta verileri okuma veya yazma izni veremezsiniz. Bunun yerine bir SAS hesabı kullanın.
Sil d Paylaşımdaki herhangi bir dosyayı sil. Not: SAS hizmeti kullanarak paylaşımı silme izni veremezsiniz. Bunun yerine bir SAS hesabı kullanın.
Liste l Paylaşım bölümünde dosyaları ve dizinleri listeleyin.

Bir kuyruk için izinler

İzin URI simgesi İzin verilen işlemler
Okumak r Meta verileri ve özellikleri, mesaj sayısı dahil okuyun. Mesajlara göz at.
Ekle a Kuyruğun içine mesajlar ekle.
Update u Kuyruk içindeki mesajları güncelledin. Not: Güncelleme ile birlikte İşlem iznini kullanın ki önce güncellemek istediğiniz mesajı alabilesiniz.
İşlem ös Kuyruğun mesajlarını alın ve silin.

Bir tablo için izinler

İzin URI simgesi İzin verilen işlemler
Query r Varlıkları alın ve varlıkları sorgulayın.
Ekle a Varlıklar ekleyin. Not: Upsert işlemleri için Ekleme ve Güncelleme izinleri gereklidir.
Update u Varlıkları güncelleyin. Not: Upsert işlemleri için Ekleme ve Güncelleme izinleri gereklidir.
Sil d Varlıkları sil.

IP adresi veya IP aralığı belirtme

İsteğe bağlı signedIp (sip) alanı, istekleri kabul etmek için bir genel IP adresi veya genel IP adresleri aralığı belirtir. İsteğin kaynaklandığı IP adresi SAS belirtecinde belirtilen IP adresi veya adres aralığıyla eşleşmiyorsa istek yetkilendirilmedi. Şu anda yalnızca IPv4 adresleri desteklenmektedir.

Bir IP adresi aralığı belirttiğinizde, aralık dahil edilir. Örneğin, SAS üzerinde sip=198.51.100.0 veya sip=198.51.100.10-198.51.100.20 belirtilmesi, isteği bu IP adresleriyle kısıtlar.

Aşağıdaki tabloda, istemci ortamına ve depolama hesabının konumuna göre belirli bir senaryo için sas belirtecine signedIp alanının eklenip eklenmeyeceği açıklanmaktadır.

İstemci ortamı Depolama hesabı konumu Öneri
Azure'da çalışan istemci İstemciyle aynı bölgede Bu senaryoda istemciye sağlanan sas, signedIp alanı için giden IP adresi içermemelidir. Belirtilen giden IP adresine sahip bir SAS kullanarak aynı bölgeden yaptığınız istekler başarısız olur.

Bunun yerine, ağ güvenlik kısıtlamalarını yönetmek için bir Azure sanal ağı kullanın. Aynı bölgeden Azure Depolama'ya yönelik istekler her zaman özel bir IP adresi üzerinden gerçekleşir. Daha fazla bilgi için bkz. Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
Azure'da çalışan istemci İstemciden farklı bir bölgede Bu senaryoda istemciye sağlanan sas, signedIp alanı için bir genel IP adresi veya adres aralığı içerebilir. SAS ile yaptığınız istekler, belirtilen IP adresinden veya adres aralığından kaynaklanmalıdır.
Şirket içinde veya farklı bir bulut ortamında çalışan istemci Herhangi bir Azure bölgesinde Bu senaryoda istemciye sağlanan sas, signedIp alanı için bir genel IP adresi veya adres aralığı içerebilir. SAS ile yaptığınız istekler, belirtilen IP adresinden veya adres aralığından kaynaklanmalıdır.

İstek bir ara sunucu veya ağ geçidinden geçerse, signedIp alanı için bu ara sunucu veya ağ geçidinin genel giden IP adresini sağlayın.

HTTP protokolunu belirtme

İsteğe bağlı signedProtocol (spr) alanı, SAS ile yapılan istekler için izin verilen protokolü belirtir. Olası değerler hem HTTPS hem de HTTP (https,http) veya yalnızca HTTPS (https). Varsayılan değer şudur: https,http.

Not

spr alanı için HTTP belirtmek mümkün değildir.

Tablo erişim aralıklarını belirtin

, startPk, startRk, ve endPk alanları, endRkpaylaşılan erişim imzası ile ilişkili bir tablo varlık yelpazesini tanımlar. Tablo sorguları yalnızca aralık içinde olan sonuçları getirir ve bu aralık dışındaki varlıkları eklemek, güncellemek veya silmek için paylaşılan erişim imzası denemeleri başarısız olur.

Eşit startPkendPkise, paylaşılan erişim imzası tablodaki yalnızca bir bölümdeki varlıklara erişim yetkisi verir.

Eşit startPkendPk ve startRkendRkeşitse, paylaşılan erişim imzası tek bir bölümde yalnızca bir varlığa erişebilir.

Bu alanların bir tablodaki varlıklara erişimi nasıl kısıtladığını anlamak için aşağıdaki tabloya bakınız:

Mevcut alanlar Kısıtlama kapsamı
startPk partitionKey >= startPk
endPk partitionKey <= endPk
startPk, startRk (partitionKey >startPk) || (partitionKey == startPk && rowKey >= startRk)
endPk, endRk (partitionKey <endPk) || (partitionKey == endPk && rowKey <= endRk)

İmzalı nesne kimliğini belirtin

signedObjectId (skoid) alanı, kullanıcı temsilcisi SAS'sı için gereklidir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür. İmzalı nesne kimliği, Microsoft kimlik platformundaki bir güvenlik sorumlusu için sabit tanımlayıcıya hizmet eden bir GUID değeridir.

İmzalı kiracı kimliğini belirtin

signedTenantId (sktid) alanı, kullanıcı temsilcisi SAS'sı için gereklidir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür. İmzalı kiracı kimliği, bir güvenlik sorumlusunun tanımlandığı Microsoft Entra kiracısını temsil eden bir GUID değeridir.

İmzalı anahtarın başlangıç saatini belirtme

Gerekli signedKeyStartTime (skt) alanı, iso tarih biçiminde kullanıcı temsilcisi anahtarının kullanım ömrünün başlangıcını gösterir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür.

İmzalı anahtar süre sonu süresini belirtin

ISO Tarih biçiminde bir kullanıcı temsilcisi SAS için signedKeyExpiryTime (ske) alanı gereklidir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür. İmzalı anahtar süre sonu, kullanıcı temsilcisi anahtarının kullanım ömrünün sonunu gösterir. Son kullanma süresinin değeri SAS'nin başlangıç zamanından itibaren en fazla yedi gün olabilir.

İmzalı anahtar hizmetini belirtme

signedKeyService (sks) alanı, kullanıcı temsilcisi SAS'sı için gereklidir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür. İmzalı anahtar hizmet alanı, kullanıcı temsilcisi anahtarının geçerli olduğu hizmeti gösterir. Blob Depolama için imzalı anahtar hizmeti alanının değeri b.

İmzalı anahtar sürümünü belirtin

signedkeyversion (skv) alanı, kullanıcı temsilcisi SAS'sı için gereklidir. Get User Delegation Key işlemi, yanıtın bir parçası olarak bu değeri döndürür. signedkeyversion alanı, kullanıcı temsilci anahtarını almak için kullanılan depolama hizmeti sürümünü belirtir. Bu alan 2018-11-09 veya sonraki bir sürümü belirtmelidir.

Güvenlik sorumlusu için imzalı kullanıcı nesne kimliği belirtme

İsteğe bağlı signedAuthorizedObjectId (saoid) ve signedUnauthorizedObjectId (suoid) alanları, Azure Data Lake Storage iş yükleri için Apache Hadoop ve Apache Ranger ile tümleştirmeyi sağlar. Bir güvenlik sorumlusunun nesne kimliğini belirtmek için SAS belirtecinde şu alanlardan birini kullanın:

  • saoid alanı, SAS belirteci tarafından verilen eylemi gerçekleştirmek üzere kullanıcı temsilcisi anahtarının sahibi tarafından yetkilendirilmiş bir Microsoft Entra güvenlik sorumlusunun nesne kimliğini belirtir. Azure Depolama SAS belirtecini doğrular ve Azure Depolama erişim vermeden önce kullanıcı temsilcisi anahtarının sahibinin gerekli izinlere sahip olmasını sağlar. POSIX ACL'lerinde ek izin denetimi yapılmaz.
  • suoid alanı, depolama hesabı için hiyerarşik bir ad alanı etkinleştirildiğinde Microsoft Entra güvenlik sorumlusunun nesne kimliğini belirtir. suoid alanı yalnızca hiyerarşik ad alanına sahip hesaplar için geçerlidir. sas belirtecine suoid alanı eklendiğinde, Azure Depolama işlemi yetkilendirmeden önce nesne kimliğine karşı bir POSIX ACL denetimi gerçekleştirir. Bu ACL denetimi başarılı olmazsa işlem başarısız olur. SAS belirtecinde suoid alanı varsa depolama hesabı için hiyerarşik ad alanı etkinleştirilmelidir. Aksi takdirde, izin denetimi bir yetkilendirme hatasıyla başarısız olur.

Kullanıcı temsilcisi anahtarını isteyen güvenlik sorumlusunun nesne kimliği, gerekli skoid alanında yakalanır. SAS belirtecinde saoid veya suoid alanıyla bir nesne kimliği belirtmek için, skoid alanında tanımlanan güvenlik sorumlusuna Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action veya Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/actioniçeren bir RBAC rolü atanmalıdır. Bu eylemler hakkında daha fazla bilgi için bkz.Azure kaynak sağlayıcısı işlemlerini .

saoid veya suoid alanında nesne kimliğini belirterek, dizin veya blob sahipliğiyle ilgili işlemleri de aşağıdaki yollarla kısıtlarsınız:

  • Bir işlem bir dizin veya blob oluşturursa, Azure Depolama dizin veya blobun sahibini nesne kimliği tarafından belirtilen değere ayarlar. Nesne kimliği belirtilmezse, Azure Depolama dizinin veya blobun sahibini skoid parametresi tarafından belirtilen değere ayarlar.
  • Yapışkan bit üst dizinde ayarlanırsa ve işlem bir dizini veya blobu siler veya yeniden adlandırırsa, üst dizinin sahibinin veya kaynağın sahibinin nesne kimliği nesne kimliği tarafından belirtilen değerle eşleşmelidir.
  • Bir işlem bir dizin veya blob için sahibi ayarlarsa ve x-ms-owner üst bilgisi belirtilirse, nesne kimliği tarafından belirtilen değer x-ms-owner üst bilgisi tarafından belirtilen değerle eşleşmelidir.
  • Bir işlem bir dizin veya blob için grubu ayarlarsa ve x-ms-group üst bilgisi belirtilirse, nesne kimliği tarafından belirtilen değer x-ms-group üst bilgisi tarafından belirtilen grubun bir üyesi olmalıdır.
  • Bir işlem bir dizin veya blob için izinleri veya ACL'yi ayarlarsa, aşağıdaki iki koşuldan biri de karşılanmalıdır:
    • Nesne kimliği için belirtilen değer, dizinin veya blobun sahibi olmalıdır.
    • signedPermissions (sp) alanının değeri, Ownership (o) iznine ek olarak Permissions (p) izni içermelidir.

SAS belirtecini kullanarak istekte bulunurken saoid veya suoid alanında belirtilen nesne kimliği tanılama günlüklerine eklenir.

saoid veya suoid alanı yalnızca signedVersion (sv) alanı 2020-02-10 veya sonraki bir sürüme ayarlandığında desteklenir. SAS belirtecinde bu alanlardan yalnızca biri eklenebilir.

Bağıntı kimliği belirtme

signedCorrelationId (scid) alanı, depolama denetim günlüklerini SAS'yi oluşturan ve dağıtan sorumlu tarafından kullanılan denetim günlükleriyle ilişkilendirmek için kullanılabilecek bir bağıntı kimliğini belirtir. Örneğin, güvenilen yetkilendirme hizmeti normalde kullanıcıların kimliğini doğrulayan ve kullanıcıları yetkilendiren, SAS oluşturan, yerel denetim günlüğüne bir giriş ekleyen ve SAS'yi bir kullanıcıya döndüren ve ardından SAS'yi kullanarak Azure Depolama kaynaklarına erişebilen bir yönetilen kimliğe sahiptir. Hem yerel denetim günlüğüne hem de depolama denetim günlüğüne bir bağıntı kimliği ekleyerek, bu olayların daha sonra ilişkilendirilmesine izin verirsiniz. Değer, küme ayracı olmayan ve küçük harf karakterli bir GUID'dir.

Bu alan 2020-02-10 ve sonraki sürümlerde desteklenir.

Delege edilen kullanıcıyı belirtin

Isteğe bağlı sduoid alan, yalnızca belirtilen kullanıcının SAS tokenı ile kaynaklara erişebilmesini sağlar.

Alan, sduoid hedef son kullanıcıya ait olan bir Microsoft Entra güvenlik prensibi için nesne kimliğini belirtir. Belirtildiğinde, arayan ayrıca bir Taşıyıcı jetonu da göndermelidir; Kendi Oy iddiası Sduoid ile eşleşmeli. Ayrıca, son kullanıcı depolama hesabıyla aynı girişim kiracısında olmalı.

Isteğe bağlı skdutid alan yalnızca belirtilen sduoid kullanıcının Microsoft Entra kiracısı, depolama hesabının kiracısından farklı olduğunda gereklidir. Bu alanı kullanmadan önce, Get User Delegation Key API'sini çağırırken DelegatedUserTid de sağlamalısınız.

Bu alan, skdutid SAS token'ı kullanacak Microsoft Entra güvenlik prensibının kiracı kimliğini (tid) temsil eder. Ne zaman skduti dahil ediliyor:

  • Çağıran, tid talebi değeriyle skdutideşleşen bir Taşıyıcı jetonu sunmalıdır.
  • Geri dönen UserDelegationKey'dekiDelegatedUserTid değeri de ile eşleşmelidirskdutid.

Bu kontroller, SAS token'ının yalnızca doğru Microsoft Entra kiracısı kimlikleri tarafından kullanılabilmesini sağlar ve delege edilmiş erişim için güçlü kiracı düzeyinde izolasyonu korur.

Sduoid ve skdutid alanları, 2025-07-05 ve sonraki sürümlerde desteklenmektedir.

Dizin derinliğini belirtin

signedResource alanı bir dizin (sr=d) belirtiyorsa, kök dizin altındaki alt dizin sayısını belirtmek için signedDirectoryDepth (sdd) alanını da belirtmeniz gerekir. sdd alanının değeri negatif olmayan bir tamsayı olmalıdır.

Örneğin, kök dizin https://{account}.blob.core.windows.net/{container}/ 0 derinliğine sahiptir. Kök dizin içindeki her alt dizin, derinliğe 1 ekler. dizin https://{account}.blob.core.windows.net/{container}/d1/d2 2 derinliğine sahiptir.

Bu alan 2020-02-10 ve sonraki sürümlerde desteklenir.

İmzalı istek başlıklarını ve sorgu parametrelerini belirtin

Önemli

srh ve srq sorgu parametreleri, (signedVersion) alanı 2026-04-06 veya daha sonrasına ayarlandığında kullanılabilir sv . Bu parametreler, SAS kullanan herhangi bir istekte belirli başlıklar ve sorgu parametreleri talep etmenize olanak tanır. Azure Storage, sağlanan değerleri, artık string-to-sign'ın parçası olan kanonikleştirilmiş dizilerle doğrular.

srh (signedRequestHeaders) ile istek üzerinde bulunması gereken başlıkları sıralayın. Başlık adlarını virgülle ayrılmış bir liste olarak verin. Adı verilen her başlık srh istekte görünmelidir ve kanonikleştirilmiş değerler, SAS oluşturulduğunda dahil edilenlerle eşleşmelidir. Çoğaltılmış veya boş başlık adları reddedilir.

srq (signedRequestQueryParameters) ile istek üzerinde bulunması gereken sorgu parametrelerini sıralayın. Parametre isimlerini virgülle ayrılmış bir liste olarak verin. Adı geçen her parametre srq istek URI'sinde görünmelidir ve Azure Storage, SAS belirteci değerlendirildiğinde kanonikleştirilmiş isim ve değer çiftlerini doğrular.

Belirtildiğinde srh , srq 2026-04-06 ve sonrasında yetkilendirme sürümünde string-to-sign'a eklenen kanonikleştirilmiş alanları doldurun:

CanonicalizedSignedRequestHeaders oluşturun

  • Listelenen srh başlıkları içinde göründükleri srhsırayla toplayın.
  • Her başlığı normalize headerName:headerValue edin ve her çifti yeni bir satırla sonlandırın (\n).
  • Eğer istek aynı başlık için birden fazla değer içeriyorsa, yeni satırı eklemeden önce alınan sırayla değerleri virgüllü ile birleştirin. Başlık isimleri yalnızca bir kez görünmelidir.
  • Boş başlık adları eklemeyin. Listelenen herhangi bir başlığı çıkaran istekler yetkilendirmeyi başarısız eder.

Generate canonicalizedSignedRequestQueryParameters

  • Listelenen sorgu parametrelerini srq , içinde srqgöründükleri sırayla toplayın.
  • Her parametreyi normalize parameterName=parameterValue edin ve her çifte yeni bir satırla (\n).
  • Eğer istek bir parametre için birden fazla değer sağlıyorsa, her yeni satırın öneki olmadan önce alınan sırayla değerleri virgülle birleştirin.
  • Parametre adları boş olmamalıdır. Bir parametre adı virgül içeriyorsa, virgülü istek URI'sinde kodlayın (örneğin, %2C) ancak kanonikleştirilmiş dizide kodlanmamış adı kullanın.

Bu kanonikleştirilmiş dizilerle, yalnızca aynı başlık ve sorgu parametre değerlerini yeniden oluşturan isteklerin başarılı olmasını sağlayan diziden işarete eklenir. Eğer srh veya srq hariç tutulursa, ilgili kanonikleştirilmiş dizi boş bir dize olarak kabul edilir.

Örnek: Temel dinamik SAS kullanım durumu

Aşağıdaki SAS snippeti için bir özel başlık ve bir sorgu parametresi gereklidir:

sp=rw&sv=2026-04-06&sr=b&srh=foo,bar&srq=operation,identifier&operation=update&identifier=abcd&sig=<signature>

Headers:
foo:123
bar:456

İstemci bir istek gönderdiğinde, string-to-sign'a eklenen dinamik bölümler (çift tırnak olmadan) böyle görünmelidir

canonicalizedSignedRequestHeaders = "foo:123\nbar:456\n"
canonicalizedSignedRequestQueryParameters = "\noperation=update\nidentifier=abcd"

Başlık srh başlıklarını veya srq sorgu parametrelerini atlayan veya bunlar için farklı bir değer kullanan herhangi bir istek, kanonikleştirilmiş dizilerle artık imzayla eşleşmeyeceği için yetkilendirmede başarısız olur.

Örnek: Tekrarlanan değerlere ve kodlanmış isimlere sahip kenar durumlar

İki başlığı ve adı virgül içeren bir sorgu parametresini zorunlu kılan bir SAS düşünün:

sp=r&sv=2026-04-06&sr=b&srh=foo,bar&srq=day%2Cid&sig=<signature>

İstemci aşağıdaki istek meta verisini gönderirse:

foo:123
bar:456
foo:789

...?day%2Cid=mon123&...

O zaman imza değerlendirmesine dahil edilmesi gereken kanonikleştirilmiş dizimler şunlardır:

canonicalizedSignedRequestHeaders = foo:123,789\nbar:456
canonicalizedSignedRequestQueryParameters = \nday,id=mon123

Başlık değerleri, alınan sırayla virgülle birleştirilirken, sorgu parametresi kodlanmamış adını () kanonikleştirilmiş dizide tutuyorday,id, istek URL'si virgül olarak %2Ckodlasa bile.

Yanıt üst bilgilerini geçersiz kılmak için sorgu parametrelerini belirtme

Paylaşılan erişim imzası bir istekte kullanıldığında döndürülecek belirli yanıt üst bilgilerinin değerlerini tanımlamak için, sorgu parametrelerinde yanıt üst bilgilerini belirtebilirsiniz. Yanıt üst bilgileri ve buna karşılık gelen sorgu parametreleri aşağıdaki gibidir:

Yanıt üst bilgisi adı Karşılık gelen SAS sorgu parametresi
Cache-Control rscc
Content-Disposition rscd
Content-Encoding rsce
Content-Language rscl
Content-Type rsct

Örneğin, sas belirtecinde rsct=binary sorgu parametresini belirtirseniz, Content-Type yanıt üst bilgisi binaryolarak ayarlanır. Bu değer, yalnızca bu paylaşılan erişim imzasını kullanarak bir istek için blob için depolanan Content-Type üst bilgi değerini geçersiz kılar.

Yanıt üst bilgilerini sorgu parametreleri olarak belirten bir paylaşılan erişim imzası oluşturursanız, imza dizesini oluşturmak için kullanılan imza dizesine bu yanıt üst bilgilerini eklemeniz gerekir. Daha fazla bilgi için "İmzabelirtme " bölümüne bakın.

Şifreleme kapsamını belirtme

signed encryption scope (ses) alanı, blobları karşıya yüklediğinizde blobları Blob Koy işlemi aracılığıyla SAS belirtecini kullanarak istemci uygulamasının kullandığı bir şifreleme kapsamını belirtir. SAS belirtecinde imzalı sürüm (signed encryption scope) alanı 2020-12-06 veya sonraki bir sürüm olduğunda sv alanı desteklenir. İmzalı sürüm alanı desteklenen sürümden önceki bir sürümü belirtiyorsa, hizmet hata yanıtı kodu 403 (Yasak) döndürür.

Kapsayıcı veya dosya sistemi için varsayılan şifreleme kapsamı ayarlandıysa, ses alanı kapsayıcı şifreleme ilkesine saygı gösterir. ses sorgu parametresiyle x-ms-default-encryption-scope üst bilgisi arasında uyuşmazlık varsa ve x-ms-deny-encryption-scope-override üst bilgisi trueolarak ayarlanırsa, hizmet hata yanıt kodu 403 (Yasak) döndürür.

x-ms-encryption-scope üst bilgisi ve ses sorgu parametresi PUT isteğinde sağlanıyorsa ve bir uyuşmazlık varsa, hizmet hata yanıt kodu 400 (Hatalı İstek) döndürür.

İmzayı belirtme

signature (sig) alanı, istemci tarafından yapılan bir isteği paylaşılan erişim imzasıyla yetkilendirmek için kullanılır. Dizeden imzaya, isteği yetkilendirmek için doğrulanması gereken alanlardan yapılandırılmış benzersiz bir dizedir. İmza, SHA256 algoritması kullanılarak dizeden imzaya ve anahtar üzerinden hesaplanan ve ardından Base64 kodlaması kullanılarak kodlanan bir HMAC'dir.

Kullanıcı temsilcisi SAS'sinin imza dizesini oluşturmak için, isteği oluşturan alanlardan imzalanan dizeyi oluşturun, dizeyi UTF-8 olarak kodlayın ve ardından HMAC-SHA256 algoritmasını kullanarak imzayı hesaplayın. Dizeden imzaya dahil edilen alanların URL kodunun çözülmesi gerekir.

İmzalı dizede gerekli olan alanlar, yetkilendirme (sv alanı) için kullanılan hizmet sürümüne bağlıdır. Aşağıdaki bölümlerde, kullanıcı temsilcisi SAS'sini destekleyen sürümler için dizeden imzaya yapılandırma açıklanmaktadır.

Sürüm 2026-04-06 ve sonrası (Blob Storage ve Data Lake Storage)

Yetkilendirme versiyonu 2026-04-06, ve srhiçin srq kanonikleştirilmiş dizileri tanıtır. Bu değerleri, İmzalı istek başlıklarını ve sorgu parametrelerini belirt bölümünde tanımlandığı şekilde doldurun. Boş dizeler kullanılır ve eğer srh çıkarıldığında srq kullanılır.

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedKeyDelegatedUserTenantId + "\n" +
                signedDelegatedUserObjectId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                signedEncryptionScope + "\n" +
                canonicalizedSignedRequestHeaders + "\n" +
                canonicalizedSignedRequestQueryParameters + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

Sürüm 2025-07-05 ve üzeri

2025-07-05 ve sonraki yetkilendirme sürümüne sahip Blob Storage için string-to-sign şu formata sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedKeyDelegatedUserTenantId + "\n" +
                signedDelegatedUserObjectId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                signedEncryptionScope + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

2025-07-05 ve sonraki yetkilendirme sürümüne sahip Tablo Depolama için string-to-sign aşağıdaki formata sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedKeyDelegatedUserTenantId + "\n" +
                signedDelegatedUserObjectId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                startingPartitionKey + "\n"  
                startingRowKey + "\n"  
                endingPartitionKey + "\n"  
                endingRowKey  

2025-07-05 ve sonraki yetkilendirme sürümüne sahip Kuyruk Depolama için string-to-sign şu formata sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedKeyDelegatedUserTenantId + "\n" +
                signedDelegatedUserObjectId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion

Azure Files için 2025-07-05 ve sonraki yetkilendirme sürümüne sahip string-to-sign şu formata sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedKeyDelegatedUserTenantId + "\n" +
                signedDelegatedUserObjectId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

Sürüm 2020-12-06 ve üzeri

Yetkilendirme sürümü 2020-12-06 ve üzeri için dizeden imzaya aşağıdaki biçime sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                signedEncryptionScope + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

Sürüm 2020-02-10

Yetkilendirme sürümü 2020-02-10 için dizeden imzaya aşağıdaki biçime sahiptir:

StringToSign =  signedPermissions + "\n" +
                signedStart + "\n" +
                signedExpiry + "\n" +
                canonicalizedResource + "\n" +
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +
                signedProtocol + "\n" +
                signedVersion + "\n" +
                signedResource + "\n" +
                signedSnapshotTime + "\n" +
                rscc + "\n" +
                rscd + "\n" +
                rsce + "\n" +
                rscl + "\n" +
                rsct

2020-02-10'dan önceki sürümler

2020-02-10'dan önceki yetkilendirme sürümleri için dizeden imzaya aşağıdaki biçime sahiptir:

StringToSign =  signedPermissions + "\n" +  
                signedStart + "\n" +  
                signedExpiry + "\n" +  
                canonicalizedResource + "\n" +  
                signedKeyObjectId + "\n" +
                signedKeyTenantId + "\n" +
                signedKeyStart + "\n" +
                signedKeyExpiry  + "\n" +
                signedKeyService + "\n" +
                signedKeyVersion + "\n" +
                signedAuthorizedUserObjectId + "\n" +
                signedUnauthorizedUserObjectId + "\n" +
                signedCorrelationId + "\n" +
                signedIP + "\n" +  
                signedProtocol + "\n" +  
                signedVersion + "\n" +  
                signedResource + "\n" +
                rscc + "\n" +
                rscd + "\n" +  
                rsce + "\n" +  
                rscl + "\n" +  
                rsct

Kurallı hale getirilmiş kaynak

Dizenin canonicalizedResource bölümü, imzalı kaynağın kurallı yoludur. Blob Depolama uç noktasını (veya blobdfs) ve kaynak adını içermelidir ve URL kodu çözülmüş olmalıdır. Blob yolu kapsayıcısını içermelidir. Dizin yolu, sdd parametresine karşılık gelen alt dizin sayısını içermelidir.

Kapsayıcının kurallı hale getirilmiş kaynak dizesi, bu kapsayıcıya erişim sağlayan bir SAS için sondaki eğik çizgiyi (/) atlamalıdır.

Aşağıdaki örneklerde, kaynağın türüne bağlı olarak dizenin canonicalizedResource kısmının nasıl inşası gösterilmektedir.

Kapsayıcı örneği (Azure Blob Depolama)
URL = https://myaccount.blob.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  
Blob örneği (Azure Blob Depolama)
URL = https://myaccount.blob.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  
Kapsayıcı örneği (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music  
canonicalizedResource = "/blob/myaccount/music"  
Dizin örneği (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/instruments/guitar/  
canonicalizedResource = "/blob/myaccount/music/instruments/guitar/"  
Blob örneği (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/intro.mp3  
canonicalizedResource = "/blob/myaccount/music/intro.mp3"  
Dosya Paylaşımları

2025-07-05 ve sonraki sürümler için:

URL = https://myaccount.file.core.windows.net/music
canonicalizedResource = "/file/myaccount/music"  
Dosyalar

2025-07-05 ve sonraki sürümler için:

URL = https://myaccount.file.core.windows.net/music/intro.mp3
canonicalizedResource = "/file/myaccount/music/intro.mp3"  
Kuyruklar

2025-07-05 ve sonraki sürümler için:

URL = https://myaccount.queue.core.windows.net/thumbnails  
canonicalizedResource = "/queue/myaccount/thumbnails"  
Tables

Eğer imzalı kaynak bir tablo ise, tablo adının kanonikleştirilmiş formatta küçük harflerle olduğundan emin olun.

2025-07-05 ve sonraki sürümler için:

URL = https://myaccount.table.core.windows.net/Employees(PartitionKey='Jeff',RowKey='Price')  
canonicalizedResource = "/table/myaccount/employees"  

İsteğe bağlı alanlar

Bir alan isteğe bağlıysa ve SAS belirtecinin bir parçası olarak sağlanmadıysa, alan için boş bir dize belirtin. Boş dizeden sonra yeni satır karakterini (\n) eklediğinizden emin olun.

Kullanıcı temsilcisi SAS örneği

Aşağıdaki örnek, kullanıcı temsilcisi SAS belirtecinin eklendiği bir blob URI'sini gösterir. Kullanıcı temsilcisi SAS belirteci bloba okuma ve yazma izinleri sağlar.

https://myaccount.blob.core.windows.net/sascontainer/blob1.txt?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&skoid=<object-id>&sktid=<tenant-id>&skt=2023-05-24T01:13:55Z&ske=2023-05-24T09:13:55Z&sks=b&skv=2022-11-02&sip=198.51.100.10-198.51.100.20&spr=https&sv=2022-11-02&sr=b&sig=<signature>

URI'nin her bölümü aşağıdaki tabloda açıklanmıştır:

Adı SAS bölümü Açıklama
Kaynak URI https://myaccount.blob.core.windows.net/sascontainer/blob1.txt Blobun adresi. HTTPS kullanmanızı kesinlikle öneririz.
Sınırlayıcı ? Sorgu dizesinden önce gelen sınırlayıcı. Sınırlayıcı SAS belirtecinin bir parçası değildir.
İzinler sp=rw SAS tarafından verilen izinler Okuma (r) ve Yazma (w) değerlerini içerir.
Başlangıç zamanı st=2023-05-24T01:13:55Z UTC saatinde belirtildi. SAS'nin hemen geçerli olmasını istiyorsanız, başlangıç saatini atla.
Süre sonu se=2023-05-24T09:13:55Z UTC saatinde belirtildi.
Nesne kimliği skoid=<object-id> Microsoft Entra güvenlik sorumlusu.
Kiracı Kimliği sktid=<tenant-id> Güvenlik sorumlusunun kayıtlı olduğu Microsoft Entra kiracısı.
Anahtar başlangıç saati skt=2023-05-24T01:13:55Z Kullanıcı temsilcisi anahtarının ömrünün başlangıcı.
Anahtar süre sonu süresi ske=2023-05-24T09:13:55Z Kullanıcı temsilcisi anahtarının ömrünün sonu.
Anahtar hizmeti sks=b Hizmet değeri için yalnızca Blob hizmeti desteklenir.
Anahtar sürümü skv=2022-11-02 Kullanıcı temsilci anahtarını almak için kullanılan depolama hizmeti sürümü.
IP aralığı sip=198.51.100.10-198.51.100.20 İsteğin kabul edildiği IP adresi aralığı.
Protokol spr=https Yalnızca HTTPS kullanan isteklere izin verilir.
Blob hizmeti sürümü sv=2022-11-02 Azure Depolama sürüm 2012-02-12 ve üzeri için bu parametre kullanılacak sürümü gösterir.
Kaynak sr=b Kaynak bir blobdur.
İmza sig=<signature> Bloba erişimi yetkilendirmek için kullanılır. İmza, SHA256 algoritması kullanılarak bir dizeden imzaya ve anahtara göre hesaplanan ve ardından Base64 kodlaması kullanılarak kodlanan bir HMAC'dir.

Kullanıcı temsilcisi SAS'sini iptal etme

Bir SAS'nin gizliliğinin ihlal edildiğini düşünüyorsanız iptal etmelisiniz. Kullanıcı temsilcisi SAS'sini iptal etmek için kullanıcı temsilcisi anahtarını iptal edebilir veya SAS'yi oluşturmak için kullanılan güvenlik sorumlusu için RBAC rol atamalarını ve POSIX ACL'lerini değiştirebilir veya kaldırabilirsiniz.

Önemli

Hem kullanıcı temsilcisi anahtarı hem de RBAC rol atamaları Azure Depolama tarafından önbelleğe alınır, bu nedenle iptal işlemini başlatmanız ile mevcut kullanıcı temsilcisi SAS'sinin geçersiz hale gelmesi arasında bir gecikme olabilir.

Kullanıcı temsilcisi anahtarını iptal etme

Kullanıcı Temsilci Anahtarlarını İptal Et işlemini çağırarak kullanıcı temsilcisi anahtarını iptal edebilirsiniz. Kullanıcı temsilcisi anahtarını iptal ettiğinizde, bu anahtarı kullanan tüm paylaşılan erişim imzaları geçersiz hale gelir. Daha sonra Get User Delegation Key işlemini yeniden çağırabilir ve anahtarı kullanarak yeni paylaşılan erişim imzaları oluşturabilirsiniz. Bu, kullanıcı temsilcisi SAS'sini iptal etmenin en hızlı yoludur.

Rol atamalarını veya ACL'leri değiştirme veya kaldırma

SAS'yi oluşturmak için kullanılan güvenlik sorumlusunun RBAC rol atamasını ve POSIX ACL'lerini değiştirebilir veya kaldırabilirsiniz. bir istemci bir kaynağa erişmek için SAS'yi kullandığında Azure Depolama, SAS'nin güvenliğini sağlamak için kimlik bilgileri kullanılan güvenlik sorumlusunun kaynak için gerekli izinlere sahip olduğunu doğrular.

Ayrıca bkz.