Azure öznitelik tabanlı erişim denetimi (Azure ABAC) nedir?

Öznitelik tabanlı erişim denetimi (ABAC), güvenlik sorumluları, kaynaklar ve erişim isteğinin ortamıyla ilişkili özniteliklere göre erişimi tanımlayan bir yetkilendirme sistemidir. ABAC ile, özniteliklere göre bir kaynağa güvenlik sorumlusu erişimi vekleyebilirsiniz. Azure ABAC, Azure için ABAC uygulamasını ifade eder.

Rol atama koşulları nelerdir?

Azure rol tabanlı erişim denetimi (Azure RBAC), Azure kaynaklarına kimlerin erişimi olduğunu, bu kaynaklarla neler yapabileceklerini ve hangi alanlara erişebileceklerini yönetmenize yardımcı olan bir yetkilendirme sistemidir. Çoğu durumda Azure RBAC, rol tanımlarını ve rol atamalarını kullanarak ihtiyacınız olan erişim yönetimini sağlar. Ancak bazı durumlarda daha ayrıntılı erişim yönetimi sağlamak veya yüzlerce rol atamasının yönetimini basitleştirmek isteyebilirsiniz.

Azure ABAC, belirli eylemler bağlamındaki öznitelikleri temel alan rol atama koşulları ekleyerek Azure RBAC üzerinde derleme yapar. Rol atama koşulu, daha ayrıntılı erişim denetimi sağlamak için isteğe bağlı olarak rol atamanıza ekleyebileceğiniz ek bir denetimdir. Bir koşul, rol tanımının ve rol atamasının bir parçası olarak verilen izinleri filtreler. Örneğin, bir nesnenin nesneyi okumak için belirli bir etikete sahip olmasını gerektiren bir koşul ekleyebilirsiniz. Koşulları kullanarak belirli kaynaklara erişimi açıkça reddedemezsiniz.

Koşullar neden kullanılır?

Rol atama koşullarını kullanmanın başlıca üç avantajı vardır:

  • Daha ayrıntılı erişim denetimi sağlama - Rol ataması, güvenlik sorumlusu izinleri vermek için eylemler ve veri eylemleri içeren bir rol tanımı kullanır. Daha ayrıntılı erişim denetimi için bu izinleri filtrelemek için koşullar yazabilirsiniz. Belirli eylemlere koşullar da ekleyebilirsiniz. Örneğin, John'a aboneliğinizdeki bloblara okuma erişimi vermek için bloblar Project=Blue olarak etiketlenir.
  • Rol atamalarının sayısını azaltmaya yardımcı olun- Her Azure aboneliğinin şu anda bir rol atama sınırı vardır. Binlerce rol ataması gerektiren senaryolar vardır. Bu rol atamalarının tümünün yönetilmesi gerekir. Bu senaryolarda, önemli ölçüde daha az rol ataması kullanmak için koşullar ekleyebilirsiniz.
  • Belirli bir iş anlamı olan öznitelikleri kullanma - Koşullar, erişim denetiminde size özel iş anlamı olan öznitelikleri kullanmanıza olanak sağlar. Özniteliklere örnek olarak proje adı, yazılım geliştirme aşaması ve sınıflandırma düzeyleri verilebilir. Bu kaynak özniteliklerinin değerleri dinamiktir ve kullanıcılar ekipler ve projeler arasında ilerledikçe değişir.

Koşullar için örnek senaryolar

Rol atamanıza koşul eklemek isteyebileceğiniz çeşitli senaryolar vardır. İşte bazı örnekler.

  • Project=Cascade etiketiyle bloblara okuma erişimi
  • Yeni bloblar Project=Cascade etiketini içermelidir
  • Mevcut bloblar en az bir Project anahtarı veya Program anahtarıyla etiketlenmelidir
  • Mevcut bloblar bir Project anahtarı ve Cascade, Baker veya Skagit değerleriyle etiketlenmelidir
  • blobs-example-container adlı kapsayıcılardaki blobları okuma, yazma veya silme
  • Salt okunur yolu ile blobs-example-container adlı kapsayıcılardaki bloblara okuma erişimi
  • Karşıya yüklemeler/contoso yolu ile Contosocorp adlı kapsayıcılardaki bloblara yazma erişimi
  • Program=Alpine etiketi ve günlüklerin yolu ile bloblara okuma erişimi
  • Project=Baker etiketiyle bloblara okuma erişimi ve kullanıcının project=baker eşleşen özniteliği var
  • Belirli bir tarih/saat aralığında bloblara okuma erişimi.
  • Bloblara yalnızca özel bir bağlantı üzerinden veya belirli bir alt ağdan yazma erişimi.

Bu örnekleri oluşturma hakkında daha fazla bilgi için bkz. Blob Depolama için örnek Azure rol atama koşulları.

Koşullar nereye eklenebilir?

Şu anda, blob depolama veya kuyruk depolama veri eylemlerine sahip yerleşik veya özel rol atamalarına koşullar eklenebilir. Koşullar, rol ataması ile aynı kapsama eklenir. Rol atamalarında olduğu gibi, koşul ekleme izinlerine sahip Microsoft.Authorization/roleAssignments/write olmanız gerekir.

Koşullarınızda kullanabileceğiniz blob depolama özniteliklerinden bazıları aşağıdadır.

  • Hesap adı
  • Blob dizin etiketleri
  • Blob yolu
  • Blob ön eki
  • Kapsayıcı adı
  • Şifreleme kapsamı adı
  • Geçerli Sürümdür
  • Hiyerarşik ad alanı etkin mi?
  • Özel bağlantıdır
  • Anlık Görüntü
  • ŞIMDI UTC (Eşgüdümlü Evrensel Saat'teki geçerli tarih ve saat)
  • Sürüm Kimliği

Koşul nasıl görünür?

Yeni veya mevcut rol atamalarına koşul ekleyebilirsiniz. Burada, kaynak grubu kapsamında Chandra adlı bir kullanıcıya atanmış Depolama Blob Veri Okuyucusu rolü verilmiştir. Yalnızca Project=Cascade etiketiyle bloblara okuma erişimine izin veren bir koşul da eklenmiştir.

Bir koşula sahip rol atama diyagramı.

Chandra Project=Cascade etiketi olmayan bir blobu okumaya çalışırsa erişime izin verilmez.

Bir koşulla erişim diyagramına izin verilmez.

Azure portalında koşul şöyle görünür:

Azure portalında blob dizin etiketlerinin değerlerini içeren derleme ifadesi bölümünü gösteren koşul düzenleyicisinin ekran görüntüsü.

Koşul kodda şöyle görünür:

(
    (
        !(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'}
        AND NOT
        SubOperationMatches{'Blob.List'})
    )
    OR
    (
        @Resource[Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags:Project<$key_case_sensitive$>] StringEqualsIgnoreCase 'Cascade'
    )
)

Koşulların biçimi hakkında daha fazla bilgi için bkz . Azure rol atama koşulu biçimi ve söz dizimi.

Koşul özelliklerinin durumu

Aşağıdaki tabloda koşul özelliklerinin durumu listelenmektedir:

Özellik Durum Tarih
Ortam özniteliklerini bir koşulda kullanma GA Nisan 2024
Azure portalında koşul düzenleyicisini kullanarak koşul ekleme GA Ekim 2022
Azure PowerShell, Azure CLI veya REST API kullanarak koşullar ekleme GA Ekim 2022
Azure depolama kaynaklarının, erişim öznitelik türlerinin ve depolama hesabı performans katmanlarının belirli birleşimleri için kaynak ve istek özniteliklerini kullanın. Daha fazla bilgi için bkz. Azure Depolama koşul özelliklerinin durumu. GA Ekim 2022
Bir koşuldaki bir sorumluda özel güvenlik öznitelikleri kullanma GA Kasım 2023

Koşullar ve Microsoft Entra PIM

Azure kaynakları için Microsoft Entra Privileged Identity Management (Microsoft Entra PIM) kullanarak uygun rol atamalarına koşullar da ekleyebilirsiniz. Microsoft Entra PIM ile, son kullanıcılarınızın belirli eylemleri gerçekleştirme izni almak için uygun bir rol atamasını etkinleştirmesi gerekir. Microsoft Entra PIM'de koşulların kullanılması, bir kullanıcının kaynağa erişimini ayrıntılı koşullar kullanarak sınırlamanıza değil, aynı zamanda microsoft Entra PIM'i kullanarak zaman bağlı bir ayar, onay iş akışı, denetim izi vb. ile güvenliğini sağlamanızı sağlar. Daha fazla bilgi için bkz . Privileged Identity Management'ta Azure kaynak rolleri atama.

Terminoloji

Azure RBAC ve Azure ABAC'yi daha iyi anlamak için aşağıdaki terim listesine geri dönebilirsiniz.

Süre Tanım
öznitelik tabanlı erişim denetimi (ABAC) Güvenlik sorumluları, kaynaklar ve ortamla ilişkili özniteliklere göre erişimi tanımlayan bir yetkilendirme sistemi. ABAC ile, özniteliklere göre bir kaynağa güvenlik sorumlusu erişimi vekleyebilirsiniz.
Azure ABAC Azure için ABAC uygulamasını ifade eder.
rol atama koşulu Daha ayrıntılı erişim denetimi sağlamak için isteğe bağlı olarak rol atamanıza ekleyebileceğiniz ek denetim.
öznitelik Bu bağlamda Project=Blue gibi bir anahtar-değer çiftidir; burada Project öznitelik anahtarıdır ve Blue öznitelik değeridir. Öznitelikler ve etiketler, erişim denetimi amacıyla eş anlamlıdır.
ifade True veya false olarak değerlendirilen bir koşuldaki deyim. İfade, öznitelik><işleci><değerinin> biçimine <sahiptir.

Sınırlar

Koşullar için bazı sınırlar aşağıdadır.

Kaynak Sınırla Notlar
Görsel düzenleyicisini kullanan koşul başına ifade sayısı 5 Kod düzenleyicisini kullanarak beşten fazla ifade ekleyebilirsiniz

Bilinen sorunlar

Koşullarla ilgili bilinen sorunlar şunlardır:

  • Microsoft Entra Privileged Identity Management (PIM) ve özel güvenlik öznitelikleri kullanıyorsanız, koşul eklerken Asıl Öğe Öznitelik kaynağında görünmez.

Sonraki adımlar