Paylaşılan erişim imzalarını bulma

Tamamlandı

Paylaşılan erişim imzası (SAS), bir veya daha fazla depolama kaynağına işaret eden ve özel bir sorgu parametreleri kümesi içeren bir belirteç içeren imzalı bir URI'dir. Belirteç, kaynaklara istemci tarafından nasıl erişilebileceğini gösterir. Sorgu parametrelerinden biri olan imza, SAS parametrelerinden oluşturulur ve SAS'yi oluşturmak için kullanılan anahtarla imzalanır. Bu imza, depolama kaynağına erişimi yetkilendirmek için Azure Depolama tarafından kullanılır.

Paylaşılan erişim imzası türleri

Azure Depolama üç tür paylaşılan erişim imzalarını destekler:

  • Kullanıcı temsilcisi SAS: Kullanıcı temsilcisi SAS'sinin güvenliği Microsoft Entra kimlik bilgileriyle ve sas için belirtilen izinlerle sağlanır. Kullanıcı temsilcisi SAS yalnızca Blob depolama için geçerlidir.

  • Hizmet SAS'i: Hizmet SAS'sinin güvenliği depolama hesabı anahtarıyla sağlanır. Hizmet SAS'i şu Azure Depolama hizmetlerindeki bir kaynağa erişim yetkisi verir: Blob depolama, Kuyruk depolama, Tablo depolama veya Azure Dosyalar.

  • Hesap SAS'sı: Hesap SAS'sinin güvenliği depolama hesabı anahtarıyla sağlanır. Hesap SAS ise bir veya daha fazla depolama hizmetindeki kaynaklara erişim atar. Bir hizmet veya kullanıcı temsilcisi SAS'i aracılığıyla kullanılabilen tüm işlemler, hesap SAS'i aracılığıyla da kullanılabilir.

Not

Microsoft, mümkün olduğunda microsoft Entra kimlik bilgilerini daha kolay ele geçirilebilen hesap anahtarını kullanmak yerine en iyi güvenlik uygulaması olarak kullanmanızı önerir. Uygulama tasarımınız Blob depolamaya erişim için paylaşılan erişim imzaları gerektirdiğinde, üstün güvenlik için mümkün olduğunda kullanıcı temsilcisi SAS'ı oluşturmak için Microsoft Entra kimlik bilgilerini kullanın

Paylaşılan erişim imzaları nasıl çalışır?

Azure Depolama’da yer alan verilere erişmek için SAS kullanırken iki bileşene ihtiyacınız vardır. İlki, erişmek istediğiniz kaynağın URI’sidir. İkinci parça, söz konusu kaynağa erişimi yetkilendirmek için oluşturduğunuz SAS belirtecidir.

https://medicalrecords.blob.core.windows.net/patient-images/patient-116139-nq8z7f.jpg?sp=r&st=2020-01-20T11:42:32Z&se=2020-01-20T19:42:32Z&spr=https&sv=2019-02-02&sr=b&sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D gibi tek bir URI’de, URI’yi SAS belirtecinden şu şekilde ayırabilirsiniz:

  • URI: https://medicalrecords.blob.core.windows.net/patient-images/patient-116139-nq8z7f.jpg?
  • SAS belirteci: sp=r&st=2020-01-20T11:42:32Z&se=2020-01-20T19:42:32Z&spr=https&sv=2019-02-02&sr=b&sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D

SAS belirtecinin kendisi de çeşitli bileşenlerden oluşur.

Bileşen Veri Akışı Açıklaması
sp=r Erişim haklarını denetler. Değerler ekleme, oluşturma, silme, d liste, r l okuma veya w yazma için olabilira. c Bu örnek salt okunurdur. Örnek sp=acdlrw tüm kullanılabilir hakları verir.
st=2020-01-20T11:42:32Z Erişimin başladığı tarih ve saat.
se=2020-01-20T19:42:32Z Erişimin bittiği tarih ve saat. Bu örnek sekiz saatlik erişim verir.
sv=2019-02-02 Kullanılacak depolama API’sinin sürümü.
sr=b Erişilecek depolamanın türü. Bu örnekte, b blob içindir.
sig=SrW1HZ5Nb6MbRzTbXCaPm%2BJiSEn15tC91Y4umMPwVZs%3D Şifreleme imzası.

En iyi yöntemler

SAS kullanmanın olası risklerini azaltmak için Microsoft bazı yönergeler sağlar:

  • SAS’yi güvenle dağıtmak ve ortadaki adam saldırılarını önlemek için her zaman HTTPS kullanın.
  • En güvenli SAS kullanıcı temsilcisi SAS’sidir. Depolama hesabı anahtarınızı kodda depolama gereksinimini ortadan kaldırdığı için mümkün olduğunca bunu kullanın. Kimlik bilgilerini yönetmek için Microsoft Entra Id kullanmalısınız. Bu seçenek sizin çözümünüz için mümkün olmayabilir.
  • Sona erme zamanınızı kullanılabilir en küçük değere ayarlamaya çalışın. SAS anahtarının gizliliği bozulursa yalnızca kısa bir süre kötü amaçla kullanılabilir.
  • Gereken en düşük ayrıcalıklar kuralını uygulayın. Yalnızca gerekli olan erişimi verin. Örneğin uygulamanızda salt okuma erişimi yeterlidir.
  • Bazı durumlarda doğru çözüm SAS değildir. SAS kullanmanın riski kabul edilemez düzeyde olduğunda, kullanıcıları ve onların depolamaya erişimini yönetmek için bir ara katman hizmeti oluşturun.