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
Her SAS bir anahtarla imzalanır. Kullanıcı temsilcisi SAS'ı oluşturmak için, önce
Azure Blob Depolama ve Azure Data Lake Storage için kullanıcı temsilcisi 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
Dizin kapsamlı erişim için kullanıcı temsilcisi SAS desteği
Yetkilendirme sürümü (sr=d
) 2020-02-10 veya üzeri olduğunda ve hiyerarşik ad alanı (HNS) etkinleştirildiğinde, kullanıcı temsilcisi SAS dizin kapsamını (sv
) 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çin kullanıcı temsilcisi SAS desteği
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:
- Kullanıcı temsilci anahtarını isteyen güvenlik sorumlusuna istenen izinleri vermek için RBAC veya POSIX ACL'lerini kullanın.
- Microsoft Entra Id'den bir OAuth 2.0 belirteci alın.
- Get User Delegation Key işlemini çağırarak kullanıcı temsilci anahtarını istemek için belirteci kullanın.
- SAS belirtecini uygun alanlarla oluşturmak için kullanıcı temsilcisi anahtarını kullanın.
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ı temsilcisi anahtarını istemek için bir güvenlik sorumlusuna Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey eylemini
- Katkıda Bulunan
- Depolama Hesabı Katılımcısı
- Depolama Blobu Veri Katılımcısı
- Depolama Blob Verileri Sahibi
- Depolama Blob Verileri Okuyucusu
- Depolama Blobu Tanımlayıcısı
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.
Güvenlik sorumlusuna veri erişimine izin veren ancak kapsamı kapsayıcı düzeyinde olan bir rol atanmışsa, depolama hesabı, kaynak grubu veya abonelik düzeyinde güvenlik sorumlusuna Depolama Blobu Temsilci rolünü de atayabilirsiniz. Storage Blob Delegator rolü, kullanıcı temsilcisi anahtarı istemek için güvenlik sorumlusu izinlerini 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 Get User Delegation Key başvurusunda ve "Kullanıcı temsilcisi SASoluş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ü | Paylaşılan erişim imzası aracılığıyla erişilebilen blob kaynaklarını 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 | 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 | 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 | Depolama denetim günlüklerini, SAS'yi oluşturan ve dağıtan sorumlu tarafından kullanılan denetim günlükleriyle ilişkilendirin. |
signedDirectoryDepth |
sdd |
sr=d
|
2020-02-10 ve üzeri | İş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 | İstek içeriğini şifrelemek için kullanılacak şifreleme kapsamını gösterir. |
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 | 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 | 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 | 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 | 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 | 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ı belirtme
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 |
---|---|---|---|
Blob | 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 | Hiyerarşik ad alanı etkinleştirilmiş bir depolama hesabında dizindeki herhangi bir blobun içeriğine ve meta verilerine ve dizindeki blobların listesine erişim verir.
signedResource alanı için bir dizin belirtilirse, signedDirectoryDepth (sdd ) parametresi de gereklidir. Dizin her zaman bir kapsayıcının içindedir. |
İ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.
İ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
, wl
ve rl
verilebilir. Geçersiz ayarlara örnek olarak wr
, dr
, lr
ve dw
verilebilir. İzin atamasını birden çok kez belirtmeye izin verilmez.
Kullanıcı temsilcisi SAS'i belirli işlemlere erişim izni veremiyor:
- Kapsayıcılar oluşturulamaz, silinemez veya listelenemez.
- Kapsayıcı meta verileri ve özellikleri okunamaz veya yazılamaz.
- 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
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 |
---|---|---|---|---|
Read | r | Kapsayıcı Dizin Blob |
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 Blob |
Tümü | Ekleme blob'una bir blok ekleyin. |
Oluştur | c | Kapsayıcı Dizin Blob |
Tümü | Yeni bir blob yazın, bir blobu anlık görüntüye yükleyin veya blobu yeni bir bloba kopyalayın. |
Write | w | Kapsayıcı Dizin Blob |
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 Blob |
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ı Blob |
2019-12-12 ve üzeri | Blob sürümünü silme. |
Kalıcı Silme | y | Blob | 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 | Blob | 2019-12-12 ve üzeri | Blobdaki etiketleri okuyun veya yazın. |
Taşı | m | Kapsayıcı Dizin Blob |
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 Blob |
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 Blob |
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 Blob |
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ı Blob |
2020-06-12 ve üzeri | Bir blob üzerinde değişmezlik ilkesini veya yasal saklamayı ayarlayın veya silin. |
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.
İ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 belirtecinesuoid
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 belirtecindesuoid
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ğerx-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ğerx-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 olarakPermissions
(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.
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.
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 binary
olarak 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 true
olarak 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 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ı ve kaynak adını içermelidir ve URL kodu çözülmelidir. 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"
İ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.
- Paylaşılan erişim imzası erişim temsilcisi
- Hizmet SAS’si oluşturma
- Hesap SAS’si oluşturma
- SAS hata kodları