Aracılığıyla paylaş


Azure Data Lake Storage 2. Nesil'da erişim denetimi ve veri gölü yapılandırmaları

Bu makale, Azure Data Lake Storage 2. Nesil erişim denetimi mekanizmalarını değerlendirmenize ve anlamanıza yardımcı olur. Bu mekanizmalar Azure rol tabanlı erişim denetimi (RBAC) ve erişim denetimi listelerini (ACL) içerir. Şunları öğreneceksiniz:

  • Azure RBAC ile ACL'ler arasındaki erişimi değerlendirme
  • Bu mekanizmalardan birini veya her ikisini kullanarak erişim denetimini yapılandırma
  • Erişim denetimi mekanizmalarını data lake uygulama desenlerine uygulama

Depolama kapsayıcıları, güvenlik grupları, Azure RBAC ve ACL'ler hakkında temel bilgilere ihtiyacınız vardır. Tartışmayı çerçeve içine almak için ham, zenginleştirilmiş ve seçilmiş bölgelerin genel bir veri gölü yapısına başvuruyoruz.

Bu belgeyi Veri erişim yönetimi ile kullanabilirsiniz.

Yerleşik Azure RBAC rollerini kullanma

Azure Depolama iki erişim katmanına sahiptir: hizmet yönetimi ve veriler. Aboneliklere ve depolama hesaplarına hizmet yönetimi katmanı üzerinden erişebilirsiniz. Kapsayıcılara, bloblara ve diğer veri kaynaklarına veri katmanı üzerinden erişin. Örneğin, Azure'dan depolama hesaplarının listesini istiyorsanız yönetim uç noktasına bir istek gönderin. Depolama hesabındaki dosya sistemlerinin, klasörlerin veya dosyaların listesini istiyorsanız, bir hizmet uç noktasına istek gönderin.

Roller, yönetim veya veri katmanı erişimi izinleri içerebilir. Okuyucu rolü yönetim katmanı kaynaklarına salt okunur erişim verir ancak verilere okuma erişimi vermez.

Sahip, Katkıda Bulunan, Okuyucu ve Depolama Hesap Katkıda Bulunanı gibi roller, bir güvenlik sorumlusuna depolama hesabını yönetme izni verir. Ancak bu hesaptaki verilere erişim sağlamaz. Yalnızca veri erişimi için açıkça tanımlanan roller, güvenlik sorumlusunun verilere erişmesine izin verir. Okuyucu dışındaki bu roller, verilere erişmek için depolama anahtarlarına erişim elde eder.

Yerleşik yönetim rolleri

Yerleşik yönetim rolleri aşağıdadır.

  • Sahip: Kaynaklara erişim dahil olmak üzere her şeyi yönetin. Bu rol anahtar erişimi sağlar.
  • Katkıda Bulunan: Kaynaklara erişim dışında her şeyi yönetin. Bu rol anahtar erişimi sağlar.
  • Depolama Hesap Katkıda Bulunanı: Depolama hesaplarının tam yönetimi. Bu rol anahtar erişimi sağlar.
  • Okuyucu: Kaynakları okuma ve listeleme. Bu rol anahtar erişimi sağlamaz.

Yerleşik veri rolleri

Yerleşik veri rolleri aşağıdadır.

Depolama Blob Veri Sahibi, tüm sessize alma işlemlerine tam erişim izni verilen bir süper kullanıcı rolüdür. Bu işlemler, bir dizinin veya dosyanın sahibini ayarlamayı ve sahibi olmayan dizinler ve dosyalar için ACL'leri içerir. Süper kullanıcı erişimi, kaynağın sahibini değiştirme yetkisi olan tek özelliktir.

Dekont

Azure RBAC atamalarının yayılması ve etkili olması beş dakika kadar sürebilir.

Erişim nasıl değerlendirilir?

Güvenlik sorumlusu tabanlı yetkilendirme sırasında sistem izinleri aşağıdaki sırayla değerlendirir. Daha fazla bilgi için aşağıdaki diyagrama bakın.

  • Önce Azure RBAC değerlendirilir ve tüm ACL atamalarına göre öncelik alır.
  • İşlem RBAC temelinde tam yetkilendirilmişse, ACL'ler hiç değerlendirilmez.
  • İşlem tam olarak yetkilendirilmezse, ACL'ler değerlendirilir.

Daha fazla bilgi için bkz . İzinler nasıl değerlendirilir?

Dekont

Bu izin modeli yalnızca Azure Data Lake Depolama için geçerlidir. Hiyerarşik ad alanı etkinleştirilmeden genel amaçlı veya blob depolama için geçerli değildir. Bu açıklama paylaşılan anahtar ve SAS kimlik doğrulama yöntemlerini dışlar. Ayrıca, güvenlik sorumlusuna süper kullanıcı erişimi sağlayan Depolama Blob Veri Sahibi yerleşik rolünün atandığı senaryoları da dışlar. Erişimin kimlik tarafından denetlenmesi için false olarak ayarlayın allowSharedKeyAccess .

Diagram of a flow chart that shows how access is evaluated.

Belirli bir işlem için hangi ACL tabanlı izinlerin gerekli olduğu hakkında daha fazla bilgi için bkz. Azure Data Lake Storage 2. Nesil erişim denetim listeleri.

Dekont

  • Erişim denetim listeleri yalnızca konuk kullanıcılar dahil olmak üzere aynı kiracıdaki güvenlik sorumluları için geçerlidir.
  • Kümeye ekleme izinleri olan tüm kullanıcılar Azure Databricks bağlama noktaları oluşturabilir. Hizmet sorumlusu kimlik bilgilerini veya Microsoft Entra geçiş seçeneğini kullanarak bağlama noktasını yapılandırın. Oluşturma sırasında izinler değerlendirilmez. bir işlem bağlama noktasını kullandığında izinler değerlendirilir. Kümeye ekleyebilen tüm kullanıcılar bağlama noktasını kullanmayı deneyebilir.
  • Bir kullanıcı Azure Databricks veya Azure Synapse Analytics'te bir tablo tanımı oluşturduğunda, temel alınan verilere okuma erişimine sahip olması gerekir.

Azure Data Lake Depolama erişimini yapılandırma

Azure RBAC, ACL'ler veya her ikisinin birleşimini kullanarak Azure Data Lake Depolama erişim denetimini ayarlayın.

Erişimi yalnızca Azure RBAC kullanarak yapılandırma

Kapsayıcı düzeyinde erişim denetimi yeterliyse, Azure RBAC atamaları verilerin güvenliğini sağlamak için basit bir yönetim yaklaşımı sunar. Çok sayıda kısıtlanmış veri varlığı için veya ayrıntılı erişim denetimine ihtiyaç duymanız için erişim denetimi listelerini kullanmanız önerilir.

Erişimi yalnızca ACL'leri kullanarak yapılandırma

Aşağıda, bulut ölçeğinde analiz için yapılandırma önerilerinin yer alan erişim denetimi listeleri yer alır.

Erişim denetimi girdilerini tek bir kullanıcı veya hizmet sorumlusu yerine bir güvenlik grubuna atayın. Daha fazla bilgi için bkz . Güvenlik gruplarını ve tek tek kullanıcıları kullanma.

Gruba kullanıcı eklediğinizde veya gruptan kullanıcı kaldırdığınızda Data Lake Depolama güncelleştirmeleri yapmanız gerekmez. Ayrıca grupların kullanılması, dosya veya klasör ACL'sine göre 32 erişim denetimi girdisini aşma olasılığını azaltır. Dört varsayılan girdiden sonra, izin atamaları için yalnızca 28 girdi kaldı.

Grupları kullandığınızda bile, dizin ağacının en üst düzeylerinde birçok erişim denetimi girdiniz olabilir. Bu durum, farklı gruplar için ayrıntılı izinler gerektiğinde ortaya çıkar.

Diagram that shows several security groups requiring access to three data products.

Hem Azure RBAC hem de erişim denetimi listelerini kullanarak erişimi yapılandırma

Depolama Blob Veri Katkıda Bulunanı ve Depolama Blob Veri Okuyucusu izinleri depolama hesabına değil verilere erişim sağlar. Depolama hesabı düzeyinde veya kapsayıcı düzeyinde erişim vekleyebilirsiniz. Depolama Blob Veri Katkıda Bulunanı atanırsa, ACL'ler erişimi yönetmek için kullanılamaz. Blob Veri Okuyucusu'Depolama atandığında, ACL'leri kullanarak yükseltilmiş yazma izinleri vekleyebilirsiniz. Daha fazla bilgi için bkz . Erişim nasıl değerlendirilir.

Bu yaklaşım, kullanıcıların çoğunun okuma erişimine ihtiyaç duyduğu ancak yalnızca birkaç kullanıcının yazma erişimine ihtiyaç duyduğu senaryoları destekler. Data Lake bölgeleri farklı depolama hesapları ve veri varlıkları farklı kapsayıcılar olabilir. Data Lake bölgeleri, kapsayıcılar ve klasörler tarafından temsil edilen veri varlıklarıyla temsil edilebilir.

İç içe erişim denetimi liste grubu yaklaşımları

İç içe ACL grupları için iki yaklaşım vardır.

Seçenek 1: Üst yürütme grubu

Dosya ve klasör oluşturmadan önce bir üst grupla başlayın. Bu grup çalıştırma izinlerini hem varsayılan hem de erişim ACL'lerine kapsayıcı düzeyinde atayın. Ardından üst gruba veri erişimi gerektiren grupları ekleyin.

Uyarı

Özyinelemeli silme işlemleri yaptığınız ve bunun yerine Seçenek 2: Erişim denetimi listesi diğer girdiyi kullandığınız bu desene karşı öneririz.

Bu teknik iç içe grup olarak bilinir. Üye grubu, tüm üye gruplarına genel çalıştırma izinleri sağlayan üst grubun izinlerini devralır. Bu izinler devralındığından üye grubunun çalıştırma izinlerine ihtiyacı yoktur. Daha fazla iç içe yerleştirme daha fazla esneklik ve çeviklik sağlayabilir. Veri erişim okuyucusu ve yazıcı gruplarına ekipleri veya otomatik işleri temsil eden güvenlik grupları ekleyin.

Diagram that shows nested groups where global run includes data assets for readers and writers and includes analysis team and engineering jobs.

Seçenek 2: Erişim denetimi listesi diğer giriş

Önerilen yaklaşım, kapsayıcı veya kökte ACL diğer giriş kümesini kullanmaktır. Aşağıdaki ekranda gösterildiği gibi varsayılanları belirtin ve ACL'lere erişin. Bu yaklaşım, yolun kökten en alt düzeye kadar her bölümünün çalıştırma izinlerine sahip olmasını sağlar.

Screen capture that shows the manage access dialog box with other highlighted and access and default selected.

Bu çalıştırma izni, eklenen tüm alt klasörlere aşağı doğru yayılır. İzin, istenen erişim grubunun okuma ve çalıştırma izinlerine ihtiyaç duyduğu derinliğe yayılır. Düzey, aşağıdaki ekranda gösterildiği gibi zincirin en alt kısmındadır. Bu yaklaşım, verileri okumak için grup erişimi verir. Yaklaşım, yazma erişimi için benzer şekilde çalışır.

Screen capture that shows the manage access dialog box with businessgrp 1 highlighted and access and default selected.

Aşağıdaki kullanımlar, data lake bölgelerinin her biri için önerilen güvenlik desenleridir:

  • Ham, verilere yalnızca güvenlik asıl adlarını (SPN) kullanarak erişim izni vermelidir.
  • Zenginleştirilmiş yalnızca güvenlik asıl adlarını (SPN) kullanarak verilere erişime izin vermelidir.
  • Seçilen, hem güvenlik asıl adları (SPN' ler) hem de kullanıcı asıl adları (UPN) ile erişime izin vermelidir.

Microsoft Entra güvenlik gruplarını kullanmak için örnek senaryo

Grupları ayarlamanın birçok farklı yolu vardır. Örneğin, sunucunuz tarafından oluşturulan günlük verilerini tutan adlı /LogData bir dizininiz olduğunu düşünün. Azure Data Factory bu klasöre veri alır. Hizmet mühendisliği ekibinden belirli kullanıcılar günlükleri karşıya yükler ve bu klasörün diğer kullanıcılarını yönetir. Azure Databricks analizi ve veri bilimi çalışma alanı kümeleri bu klasördeki günlükleri analiz edebilir.

Bu etkinlikleri etkinleştirmek için bir LogsWriter grup ve grup LogsReader oluşturun. Aşağıdaki izinleri atayın:

  • LogsWriter İzinlerle rwx grubu dizinin ACL'sine /LogData ekleyin.
  • LogsReader İzinlerle r-x grubu dizinin ACL'sine /LogData ekleyin.
  • Data Factory LogsWriters için hizmet sorumlusu nesnesini veya yönetilen hizmet kimliğini (MSI) gruba ekleyin.
  • Hizmet mühendisliği ekibindeki LogsWriter kullanıcıları gruba ekleyin.
  • Azure Databricks, Azure Data Lake deposuna Microsoft Entra geçişi için yapılandırılır.

Hizmet mühendisliği ekibindeki bir kullanıcı farklı bir ekime aktarırsa, bu kullanıcıyı gruptan LogsWriter kaldırmanız yeter.

Bu kullanıcıyı bir gruba eklemediyseniz, bunun yerine o kullanıcı için ayrılmış bir ACL girdisi eklediyseniz, bu ACL girdisini /LogData dizinden kaldırmanız gerekir. Ayrıca, girdiyi dizinin tüm dizin hiyerarşisindeki /LogData tüm alt dizinlerden ve dosyalardan kaldırmanız gerekir.

Azure Synapse Analytics veri erişim denetimi

Azure Synapse çalışma alanını dağıtmak için bir Azure Data Lake Storage 2. Nesil hesabı gerekir. Azure Synapse Analytics, çeşitli tümleştirme senaryoları için birincil depolama hesabını kullanır ve verileri bir kapsayıcıda depolar. Kapsayıcı, adlı /synapse/{workspaceName}bir klasörün altında Apache Spark tablolarını ve uygulama günlüklerini içerir. Çalışma alanı ayrıca yüklediğiniz kitaplıkları yönetmek için bir kapsayıcı kullanır.

Azure portalı aracılığıyla çalışma alanı dağıtımı sırasında mevcut bir depolama hesabı sağlayın veya yeni bir hesap oluşturun. Sağlanan depolama hesabı, çalışma alanının birincil depolama hesabıdır. Dağıtım işlemi, Depolama Blob Veri Katkıda Bulunanı rolünü kullanarak çalışma alanı kimliğine belirtilen Data Lake Storage 2. Nesil hesabına erişim verir.

Çalışma alanını Azure portalın dışında dağıtırsanız, Depolama Blob Verileri Katkıda Bulunanı rolüne Azure Synapse Analytics çalışma alanı kimliğini el ile ekleyin. En düşük ayrıcalık ilkesini izlemek için kapsayıcı düzeyinde Blob Veri Katkıda Bulunanı Depolama rolünü atamanız önerilir.

İşlem hatlarını, iş akışlarını ve not defterlerini işler aracılığıyla çalıştırdığınızda, bunlar çalışma alanı kimliği izin bağlamını kullanır. İşlerden herhangi biri çalışma alanı birincil depolama alanını okur veya yazarsa, çalışma alanı kimliği Depolama Blog Verileri Katkıda Bulunanı aracılığıyla verilen okuma/yazma izinlerini kullanır.

Kullanıcılar betik çalıştırmak veya geliştirme amacıyla çalışma alanında oturum açarken, kullanıcının bağlam izinleri birincil depolama alanında okuma/yazma erişimine izin verir.

Erişim denetim listelerini kullanarak Azure Synapse Analytics ayrıntılı veri erişim denetimi

Data Lake erişim denetimini ayarladığınızda, bazı kuruluşlar ayrıntılı düzeyde erişim gerektirir. Kuruluştaki bazı gruplar tarafından görülmeyecek hassas verilere sahip olabilirler. Azure RBAC yalnızca depolama hesabı ve kapsayıcı düzeyinde okuma veya yazma işlemine izin verir. ACL'lerle, belirli gruplar için verilerin bir alt kümesinde okuma/yazma işlemine izin vermek için klasör ve dosya düzeyinde ayrıntılı erişim denetimi ayarlayabilirsiniz.

Spark tablolarını kullanırken dikkat edilmesi gerekenler

Spark havuzunda Apache Spark tablolarını kullandığınızda bir ambar klasörü oluşturulur. Klasör, çalışma alanı birincil depolama alanında kapsayıcının kökündedir:

synapse/workspaces/{workspaceName}/warehouse

Azure Synapse Spark havuzunda Apache Spark tabloları oluşturmayı planlıyorsanız Spark tablosunu oluşturan komutu çalıştıran grubun ambar klasöründe yazma izni verin. Komut bir işlem hattında tetiklenen bir iş üzerinden çalışıyorsa, çalışma alanı MSI'sine yazma izni verin.

Bu örnek bir Spark tablosu oluşturur:

df.write.saveAsTable("table01")

Daha fazla bilgi için bkz . Synapse çalışma alanınız için erişim denetimini ayarlama.

Azure Data Lake erişiminin özeti

Data Lake erişimini yönetmeye yönelik tek bir yaklaşım herkese uygun değildir. Veri gölünün önemli avantajlarından biri, verilere sorunsuz erişim sağlamaktır. Uygulamada, farklı kuruluşlar farklı idare düzeyleri ve verileri üzerinde denetim sahibi olmak ister. Bazı kuruluşların sıkı iç denetimler altında erişim ve sağlama gruplarını yönetmek için merkezi bir ekibi vardır. Diğer kuruluşlar daha çeviktir ve merkezi olmayan denetime sahiptir. İdare düzeyinize uygun yaklaşımı seçin. Seçiminiz, verilere erişim kazanmada gereksiz gecikmelere veya sürtüşmelere neden olmamalıdır.

Sonraki adımlar