Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure rol tabanlı erişim denetiminin (Azure RBAC) abonelik başına rol ataması sınırı vardır. Yüzlerce, hatta binlerce Azure rol ataması oluşturmanız gerekiyorsa bu sınırla karşılaşabilirsiniz. Yüzlerce veya binlerce rol atamasını yönetmek zor olabilir. Senaryonuza bağlı olarak rol atamalarının sayısını azaltabilir ve erişimi yönetmeyi kolaylaştırabilirsiniz.
Bu makalede, Azure öznitelik tabanlı erişim denetimi (Azure ABAC) koşullarını ve sorumlular için Microsoft Entra özel güvenlik özniteliklerini kullanarak rol atamalarının yönetimini ölçeklendirmeye yönelik bir çözüm açıklanmaktadır.
Örnek senaryo
Contoso adlı ve aşağıdaki yapılandırmayı ayarlamak isteyen binlerce müşterisi olan bir şirket düşünün:
- Güvenlik ve performans nedenleriyle müşteri verilerini 128 depolama hesabına dağıt.
- Her bir müşteri için bir kapsayıcının bulunduğu her depolama hesabına 2.000 kapsayıcı ekleyin.
- Her müşteriyi benzersiz bir Microsoft Entra hizmet sorumlusuyla temsil edin.
- Her müşterinin kapsayıcılarındaki nesnelere erişmesine izin verin, ancak diğer kapsayıcılara erişmesine izin verme.
Bu yapılandırma, bir abonelikte 256.000 Depolama Blob Veri Sahibi rol ataması gerektirebilir ve bu da rol atamaları sınırının çok ötesindedir. Bu kadar çok rol atamasına sahip olmak, imkansız olmasa da, sürdürülmesi zor olabilir.
Örnek çözüm
Bu senaryoya sürdürülebilir bir şekilde devam etmenin bir yolu, rol atama koşullarını kullanmaktır. Aşağıdaki diyagramda, bir koşul kullanarak 256.000 rol atamasını yalnızca bir rol atamasına düşürmeye yönelik bir çözüm gösterilmektedir. Rol ataması daha yüksek bir kaynak grubu kapsamındadır ve bir koşul kapsayıcılara erişimi denetlemeye yardımcı olur. Koşul, kapsayıcı adının müşterinin hizmet sorumlusundaki özel güvenlik özniteliğiyle eşleşip eşleşmediğini denetler.
Bu çözümün çalışmasını sağlayan koşuldaki ifade aşağıdadır:
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name]
StringEquals
@Principal[Microsoft.Directory/CustomSecurityAttributes/Id:Contosocustomer_name]
Tam koşul aşağıdakine benzer olacaktır. Eylem listesi yalnızca ihtiyacınız olan eylemlere göre ayarlanabilir.
(
(
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/modifyPermissions/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/move/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/permanentDelete/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/read'})
AND
!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write'})
)
OR
(
@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals @Principal[Microsoft.Directory/CustomSecurityAttributes/Id:Contosocustomer_name]
)
)
Bu çözümü neden kullanmalısınız?
Veri düzlemi kaynaklarına erişim sağlamak için kullanabileceğiniz birkaç erişim denetimi mekanizması vardır.
Erişim anahtarları, veri düzlemi kaynaklarına erişim sağlamanın yaygın bir yoludur. Erişim anahtarları, erişim anahtarına sahip olan kişiye okuma, yazma ve silme izinleri sağlar. Bu, saldırganların erişim anahtarlarınızı alabilmeleri durumunda hassas verilerinize erişebileceği anlamına gelir. Erişim anahtarlarının kimlik bağlaması yoktur, süre sonu yoktur ve depolanma riski vardır.
Erişim anahtarları gibi paylaşılan erişim imzası (SAS) belirteçlerinin de kimlik bağlaması yoktur, ancak süresi düzenli aralıklarla dolar. Kimlik bağlamasının olmaması, erişim anahtarlarıyla aynı güvenlik risklerini temsil eder. İstemcilerin hata almadığından emin olmak için süre sonunu yönetmeniz gerekir. SAS belirteçleri günlük olarak yönetmek ve çalıştırmak için ek kod gerektirir ve DevOps ekibi için önemli bir ek yük olabilir.
Azure RBAC, merkezi ve ayrıntılı erişim denetimi sağlar. Azure RBAC,güvenlik riskinizi azaltan kimlik bağlamaya sahiptir. Erişim esnek ve dinamik özniteliklere dayandığından, koşulları kullanarak rol atamalarının yönetimini ölçeklendirebilir ve erişim denetiminin bakımını kolaylaştırabilirsiniz.
Bu çözümün avantajlarından bazıları şunlardır:
- Merkezi erişim denetimi
- Bakımı daha kolay
- Erişim anahtarlarına veya SAS belirteçlerine güvenmez
- Her nesnede erişimi yönetmenizi gerektirmez
- Güvenlik duruşunuzu geliştirebilir
Bu çözümü kullanabilir misiniz?
Benzer bir senaryonuz varsa, bu çözümü potansiyel olarak kullanıp kullanamadığınızı görmek için bu adımları izleyin.
1. Adım: Önkoşulları karşılayıp karşılamadığınızı belirleyin
Bu çözümü kullanmak için aşağıdakilere sahip olmanız gerekir:
Blob depolama veri eylemlerine sahip birden çok yerleşik veya özel rol ataması. Bunlara aşağıdaki yerleşik roller dahildir:
- Depolama Blob Verisi Katkı Sağlayıcı
- Depolama Blobu Veri Sahibi
- depolama blobu veri okuyucu
- Depolama Blob Verisi Katkı Sağlayıcı
2. Adım: Koşulunuzda kullanabileceğiniz öznitelikleri tanımlama
Koşulunuzda aşağıdakiler gibi kullanabileceğiniz birkaç öznitelik vardır:
- Kapsayıcı adı
- Blob yolu
- Blob dizin etiketleri [Anahtarlar]
- Blob dizin etiketleri [Anahtar içindeki değerler]
Kullanıcılar, kurumsal uygulamalar ve yönetilen kimlikler için kendi özel güvenlik özniteliklerinizi de tanımlayabilirsiniz.
Daha fazla bilgi için bkz. Azure rol atama koşulu biçimi ve söz dizimi ve Microsoft Entra Id'de özel güvenlik öznitelikleri nelerdir?
3. Adım: Daha yüksek bir kapsamda koşul oluşturma
Erişimi yönetmek için daha yüksek bir kapsamda koşul kullanan bir veya daha fazla rol ataması oluşturun. Daha fazla bilgi için bkz. Azure portalını kullanarak Azure rol atama koşullarını ekleme veya düzenleme.