Aracılığıyla paylaş


Azure Blob Depolama'da Azure rol atama koşulları için güvenlikle ilgili dikkat edilmesi gerekenler

Azure öznitelik tabanlı erişim denetimini (Azure ABAC) kullanarak kaynakların güvenliğini tam olarak sağlamak için, Azure rol atama koşullarında kullanılan öznitelikleri de korumanız gerekir. Örneğin, koşulunuz bir dosya yolunu temel aldıysa, sorumlunun dosya yolunu yeniden adlandırmak için sınırsız bir izni varsa erişimin tehlikeye atılacağına dikkat etmelisiniz.

Bu makalede, rol atama koşullarınızda dikkate alınması gereken güvenlik konuları açıklanmaktadır.

Önemli

Azure öznitelik tabanlı erişim denetimi (Azure ABAC), hem standart hem de premium depolama hesabı performans katmanlarında , environmentresource, ve özniteliklerini kullanarak requestAzure Blob Depolama, Azure Data Lake Storage 2. Nesil ve principal Azure Kuyruklarına erişimi denetlemek için genel olarak kullanılabilir (GA). Şu anda kapsayıcı meta verileri kaynak özniteliği ve liste blobu ekleme isteği özniteliği ÖNİzLEME aşamasındadır. Azure Depolama için ABAC'nin tam özellik durumu bilgileri için bkz. Azure Depolama koşul özelliklerinin durumu.

Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

Diğer yetkilendirme mekanizmalarının kullanımı

Rol atama koşulları yalnızca yetkilendirme için Azure RBAC kullanılırken değerlendirilir. Alternatif yetkilendirme yöntemlerini kullanarak erişime izin verirseniz bu koşullar atlanabilir:

Benzer şekilde, hiyerarşik ad alanına (HNS) sahip depolama hesaplarında erişim denetim listeleri (ACL' ler) kullanılarak erişim verildiğinde koşullar değerlendirilmez.

Depolama hesabınız için paylaşılan anahtar yetkilendirmesini devre dışı bırakarak paylaşılan anahtar, hesap düzeyinde SAS ve hizmet düzeyi SAS yetkilendirmesini engelleyebilirsiniz. Kullanıcı temsilcisi SAS'i Azure RBAC'ye bağlı olduğundan, bu yetkilendirme yöntemi kullanılırken rol atama koşulları değerlendirilir.

Koşullarda kullanılan depolama özniteliklerinin güvenliğini sağlama

Blob yolu

Blob yolunu bir koşul için @Resource özniteliği olarak kullanırken, hiyerarşik ad alanına sahip hesapları kullanırken kullanıcıların bir dosyaya erişim elde etmek için blobu yeniden adlandırmasını da engellemelisiniz. Örneğin, blob yolunu temel alan bir koşul yazmak istiyorsanız, kullanıcının erişimini de aşağıdaki eylemlerle kısıtlamanız gerekir:

Eylem Açıklama
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action Bu eylem müşterilerin Yol Oluşturma API'sini kullanarak bir dosyayı yeniden adlandırmasına olanak tanır.
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Bu eylem çeşitli dosya sistemi ve yol işlemlerine erişim sağlar.

Blob dizin etiketleri

Blob dizin etiketleri , depolamadaki koşullar için serbest biçimli öznitelikler olarak kullanılır. Bu etiketleri kullanarak herhangi bir erişim koşulu yazarsanız etiketleri de korumanız gerekir. DataAction, Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write özellikle kullanıcıların bir depolama nesnesinde etiketleri değiştirmesine olanak tanır. Kullanıcıların yetkisiz nesnelere erişim elde etmek için bir etiket anahtarını veya değerini düzenlemesini önlemek için bu eylemi kısıtlayabilirsiniz.

Buna ek olarak, blob dizin etiketleri koşullarda kullanılıyorsa, veriler ve ilişkili dizin etiketleri ayrı işlemlerde güncelleştirilirse veriler savunmasız olabilir. Dizin etiketlerinin aynı güncelleştirme işleminde ayarlanmasını istemek için blob yazma işlemlerinde koşulları kullanabilirsiniz @Request . Bu yaklaşım, verilerin depolama alanına yazıldıklarından güvenli bir şekilde korunmasına yardımcı olabilir.

Kopyalanan bloblardaki etiketler

Varsayılan olarak, Blobu Kopyala API'sini veya değişkenlerinden herhangi birini kullandığınızda blob dizini etiketleri bir kaynak blobdan hedefe kopyalanmamıştır. Kopyalama sırasında bloba erişim kapsamını korumak için etiketleri de kopyalamanız gerekir.

Anlık görüntülerdeki etiketler

Blob anlık görüntülerindeki etiketler değiştirilemez. Bu nedenle, anlık görüntüyü almadan önce blobdaki etiketleri güncelleştirmeniz gerekir. Temel blobdaki etiketleri değiştirirseniz, anlık görüntüsündeki etiketler önceki değerlerine sahip olur.

Bir anlık görüntü alındıktan sonra temel blob üzerindeki bir etiket değiştirilirse, temel blob ve anlık görüntü için erişim kapsamı farklı olabilir.

Blob sürümlerinde etiketler

Blob dizin etiketleri Blobu Koy, Blok Listesini Koy veya Blobu Kopyala API'leri aracılığıyla bir blob sürümü oluşturulduğunda kopyalanmamıştır. Bu API'ler için üst bilgi aracılığıyla etiketleri belirtebilirsiniz.

Etiketler geçerli bir temel blobda ve her blob sürümünde ayrı ayrı ayarlanabilir. Bir temel blobdaki etiketleri değiştirdiğinizde, önceki sürümlerde bulunan etiketler güncelleştirilmez. Etiketleri kullanarak bir blobun ve tüm sürümlerinin erişim kapsamını değiştirmek istiyorsanız, her sürümdeki etiketleri güncelleştirmeniz gerekir.

Sürümler ve anlık görüntüler için sorgulama ve filtreleme sınırlamaları

Bir kapsayıcıdaki blobları sorgulamak ve filtrelemek için etiketler kullandığınızda yanıta yalnızca temel bloblar eklenir. İstenen anahtarlara ve değerlere sahip blob sürümleri veya anlık görüntüler dahil değildir.

Roller ve izinler

Azure yerleşik rolleri için rol atama koşullarını kullanıyorsanız rolün sorumluya verdiğinden tüm izinleri dikkatle gözden geçirmeniz gerekir.

Devralınan rol atamaları

Rol atamaları bir yönetim grubu, abonelik, kaynak grubu, depolama hesabı veya kapsayıcı için yapılandırılabilir ve her düzeyde belirtilen sırada devralınır. Azure RBAC'nin ek bir modeli vardır, bu nedenle etkin izinler her düzeydeki rol atamalarının toplamıdır. Bir sorumluya birden çok rol ataması aracılığıyla atanmış aynı izin varsa, bu izni kullanan bir işlem için erişim her düzeydeki her atama için ayrı olarak değerlendirilir.

Koşullar rol atamalarına koşul olarak uygulandığından, koşulsuz rol atamaları kullanıcıların koşulu atlamasına izin verebilir. Depolama Blob Veri Katkıda Bulunanı rolünü bir depolama hesabı için ve abonelikte bir kullanıcıya atadığınız, ancak yalnızca depolama hesabının atamasına bir koşul eklediğinizi varsayalım. Sonuç olarak, kullanıcının abonelik düzeyinde rol ataması aracılığıyla depolama hesabına sınırsız erişimi vardır.

Bu nedenle, koşulları bir kaynak hiyerarşisi genelindeki tüm rol atamaları için tutarlı bir şekilde uygulamanız gerekir.

Dikkat edilecek diğer noktalar

Blob yazan koşul işlemleri

Blob yazan birçok işlem için Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write veya Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action izni gerekir. Depolama Blob Veri Sahibi ve Depolama Blob Veri Katkıda Bulunanı gibi yerleşik roller, bir güvenlik sorumlusu için her iki izni de verir.

Bu rollerde bir rol atama koşulu tanımlarken, yazma işlemleri için tutarlı erişim kısıtlamaları sağlamak için bu iki izinde de aynı koşulları kullanmanız gerekir.

URL'den Blob Kopyalama ve Blob Kopyalama davranışı

Blobu Kopyalama ve URL'den Blob Kopyalama işlemleri için, @Request eylemde Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write ve alt işlemlerinde öznitelik olarak blob yolunu kullanan koşullar yalnızca hedef blob için değerlendirilir.

Kaynak blobdaki koşullar için eylemdeki @Resource Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read koşullar değerlendirilir.

Ayrıca bkz.