RBAC ile başlayın

Azure Databricks'te rol tabanlı erişim kontrolü (RBAC) kurun, böylece kullanıcılar ve hizmet sorumluları her görev için ihtiyaç duydukları izinlere sahip rolleri üstlenebilir. Rol olarak kullanacak bir grup seçin, rolü üstlenme izni verin ve erişimini yapılandırın. İzin modeli için bkz. Rol tabanlı erişim kontrolü (RBAC).

Requirements

  • Kimlik federasyonu için etkinleştirilmiş bir çalışma alanı. Bkz. Kimlik federasyonu.
  • Hesap ve çalışma alanı seviyelerinde RBAC etkinleştirildi. Ayarlar ve çalışma alanı varsayılanları için RBAC'ı etkinleştir bölümüne bakın.
  • Gruplar oluşturmak ve bunları çalışma alanlarına atamak için hesap yöneticisi veya çalışma alanı yöneticisi izinlerine sahip olmanız gerekir.
  • Assume iznini vermek veya iptal etmek için rolün grubu üzerindeki izni yönetin. Hesap yöneticileri tüm gruplarda Yönetme iznine sahiptir. İş alanı yöneticileri, oluşturdukları gruplarda Yönet iznine sahip olur. Bkz . Grupları kimler yönetebilir?.
  • Mevcut bir grubun çalışma alanı yetkilerini yönetmek için çalışma alanı yöneticisi izinleri.
  • Rolün ihtiyaç duyduğu veri, hesaplama ve çalışma alanı varlıklarına erişim verme izni. Gerekli izinler, seçtiğiniz kaynaklara bağlıdır.

Bu görevleri farklı yöneticiler yerine getirebilir. Grup yöneticileri API üzerinden grup izinlerini yönetebilir. Bkz. Bir gruptaki izinleri yönetme.

RBAC'ı etkinleştir

RBAC zaten çoğu müşteri için etkinleştirilmiştir. Hesabınız ve çalışma alanlarınız için etkin olup olmadığından emin değilseniz, şu ayarları kontrol edin:

  1. Bir hesap yöneticisi olarak, Rol tabanlı erişim kontrolü (RBAC) hesap düzeyinde etkinleştirme özelliğinin hesap Önizlemeler sayfasında etkinleştirildiğinden emin olun.
  2. Bir çalışma alanı yöneticisi olarak, Rol tabanlı erişim kontrolünün (RBAC) çalışma alanı Önizlemeler sayfasında etkin olduğundan emin olun.

Hesap ayarını etkinleştirmek çalışma alanı ayarını kullanılabilir hale getiriyor. RBAC, uyumluluk güvenlik profili olmayan çalışma alanlarında varsayılan olarak etkin durumdadır. Profilli çalışma alanlarında RBAC varsayılan olarak devre dışı bırakılır ve bir çalışma alanı yöneticisinin bunu etkinleştirmesi gerekir. Açıkça kaydedilmiş bir çalışma alanı ayarı bu varsayılanların yerine geçer.

Bir rol seçin veya oluşturun

Azure Databricks'te bir rol hesap grubu olarak uygulanır. Azure Databricks'te oluşturulan bir grup veya Microsoft Entra ID'den harici bir grup kullanabilirsiniz. Dış gruplar da hesap gruplarıdır. Grup kaynakları ve hesap gruplarının çalışma alanı yerel gruplardan nasıl farklılaştığı hakkında bilgi için Grup kaynakları bölümüne bakın.

Grubun üyeleri olup olmadığına karar verin:

  • Üyeler, ana gruplardan gelen izinler dahil olmak üzere grubun izinlerini kendi kimliklerinin bir parçası olarak devralır. Üyeler, oturumu grubun izinleriyle sınırlamak ve grubun sahip olduğu varlıklar üzerinde iş birliği yapmak için grubun rolünü üstlenebilir.
  • Assume iznini, üye olarak eklemeden doğrudan üye olmayanlara verebilirsiniz; böylece grubun izinlerini kendi kimlikleri kapsamında devralmazlar. Verilere erişmek için kasıtlı rol varsayımını gerektiren bir desen için, boş bir grup kullanın ve boş tutun. Öğreticiye bakınız: RBAC ile modele özel erişim.

Hesaba yerel bir rol oluşturmak için:

Hesap konsolu

  1. Hesap yöneticisi olarak hesap konsolunda oturum açın.
  2. Kenar çubuğunda Kullanıcı yönetimi'ne tıklayın.
  3. Gruplar sekmesinde Grup ekle'ye tıklayın.
  4. Rol için bir isim girin, sonra Onayla düğmesine tıklayın.
  5. Üyeleri yalnızca grup izinlerini kendi kimlikleri olarak da devralacakları durumlarda ekleyin.

Çalışma alanı yöneticisi ayarları

  1. Çalışma alanı yöneticisi olarak Azure Databricks çalışma alanında oturum açın.
  2. Üst çubukta kullanıcı adınıza tıklayın ve Ayarlar'ı seçin.
  3. Kimlik ve erişim sekmesine tıklayın.
  4. Gruplar'ın yanında Yönet'e tıklayın.
  5. Grup Ekle'ye tıklayın, ardından Yeni Ekle.
  6. Rol için bir isim girin ve ihtiyaç duyduğu yetkileri seçin. Bkz. Çalışma alanı erişimini yapılandırma.
  7. Ekle'yi tıklatın.
  8. Üyeleri yalnızca grup izinlerini kendi kimlikleri olarak da devralacakları durumlarda ekleyin.

Bu aynı zamanda grubu çalışma alanına atar. Grup üzerinde Yönet izni alırsınız, bu da üyeliği yönetmenize ve Assume iznini vermenize olanak tanır.

Databricks, rol olarak kullanılan grupları ayırt etmek için tutarlı bir önek örneğin role-, kullanılmasını önerir. Örneğin, bir rol için trial-researchers, üyeleri bu rolü üstlenebilen bir grup için role-study-1 kullanın.

Grup senkronizasyon prosedürleri için bkz. Azure Databricks gruplarını yönetme.

İsteğe Bağlı: Hesap Grupları API'sini kullanın

Ayrıca Hesap Grupları API'si kullanarak gruplar oluşturup yönetebilirsiniz. Uç noktalar ve örnekler için bkz. API kullanarak grupları yönet.

Rol üstlenme iznini yönetme

Kullanıcılar ve hizmet sorumluları, doğrudan veya grup üyeliği yoluyla Assume iznine sahip olduklarında bir rol üstlenebilirler. Rolü uygulayan gruba izni tanıyın. Grup üyeleri otomatik olarak Assume iznine sahip, bu yüzden sadece üye olmayanlar için açık yetki verme gerekiyor.

Assume iznini vermek için hesap konsolunu veya çalışma alanı yönetici ayarlarını kullanın:

Hesap konsolu

  1. Bir hesap yöneticisi olarak, Kullanıcı yönetim>Grupları'nı açın ve rolün grubunu seçin.
  2. İzinler'e tıklayın, sonra Erişim ver.
  3. Görevi üstlenebilecek kullanıcı, hizmet sorumlusu veya hesap grubunu seçin.
  4. Üstlen seçin, ardından Kaydet'e tıklayın.

Çalışma alanı yöneticisi ayarları

  1. Rol üzerinde Yönet iznine sahip bir çalışma alanı yöneticisi olarak, Ayarlar>Kimlik ve erişim'i açın.
  2. Grupların yanında Yönet'e tıklayın, ardından rolün grubunu seçin.
  3. İzinler'e tıklayın, sonra Erişim ver.
  4. Görevi üstlenebilecek kullanıcı, hizmet sorumlusu veya hesap grubunu seçin.
  5. Üstlen seçin, ardından Kaydet'e tıklayın.

Bir gruba Assume izni verdiğinizde, üyeleri rolü Assume edebilir. Rolün kendisinin üyesi olmaları gerekmez. Ayrıca Assume iznini doğrudan bireysel kullanıcılara veya hizmet sorumlularına verebilirsiniz.

Assume iznini iptal etmek için, geçerli izni kaldırın. Sorumlunun, roldeki üyeliği veya Assume izni verilmiş başka bir grup aracılığıyla rolü hâlâ üstlenip üstlenemeyeceğini kontrol edin. Doğrudan bir hibenin kaldırılması, diğer yolları ortadan kaldırmaz.

Rolde Yönet iznini üyelik ve izinlerden sorumlu yöneticilerle sınırlayın. Manage adlı bir kimlik, başkalarına Assume izni verebilir. Hesap konsolu ve workspace-admin yordamları için bir grubun izinlerini yönetme bölümüne, Access Control API'si için ise bir grupta Assume iznini verme veya iptal etme bölümüne bakın.

Çalışma alanı erişimini yapılandırma

Rolü, kullanılabilir olması gereken her çalışma alanına atayın. Hesap yöneticileri ve çalışma alanı yöneticileri grupları çalışma alanlarına atayabilir. Bkz. Çalışma alanına grup atama.

Her erişim hakkı, çalışma alanında belirli bir özellik setine erişim tanır. Rolün ihtiyaç duyduğu yetkileri seçin:

  • Çalışma alanı erişimi: Notebook'lar ve görevler gibi temel çalışma alanı özelliklerine erişim sağlar.
  • Databricks SQL erişimi: Panolar, sorgular ve SQL ambarları gibi Databricks SQL özelliklerine erişim verir.

Tüketici erişimi de dahil olmak üzere tüm erişim hakları ve bunların nasıl yönetileceği için Erişim hakları bölümüne bkz. Çalışma alanının varsayılan haklarına güvenmek yerine rolün yetkilerini açıkça seçin. Bkz. Genel Bakış.

Kullanıcıların kendi kimlikleri olarak çalışma alanına da atanıp atanmamasına karar verin:

  • Doğrudan veya miras alınan bir çalışma alanı ataması ve erişim yetkisi olan kullanıcılar, kendi kimlikleriyle oturum açabilir ve üstlenmeye yetkili oldukları bir role geçebilirler.
  • Doğrudan veya miras alınan çalışma alanı ataması olmayan kullanıcılar, girmek için o çalışma alanına atanmış bir rolü üstlenmelidir. Rol üzerinde Assume iznine ihtiyaçları var ve rol için erişim yetkisi gerekiyor. Öğretici: Çalışma alanı erişimi için kullanıcıların bir rol üstlenmesini zorunlu kılma

Assume izni, rolü kimlerin kullanabileceğini kontrol eder. Çalışma alanı atamaları, nerede erişilebilir olduğunu kontrol eder ve erişim hakları hangi çalışma alanı özelliklerini kullanabileceğini kontrol eder. Hesaplama ve çalışma alanı nesneleri üzerinde ayrı ayrı veri ayrıcalıkları ve izinleri verin.

Kaynaklara erişim ver

Rolün görevi için gerekli izinleri role verin:

  • Veri: SQL veya Katalog Gezgini kullanarak Unity Kataloğu ayrıcalıkları verin. Bir tablonun okunması, kataloğunda USE CATALOG, şemasında USE SCHEMA ve tabloda SELECT gerektirir. Bir katalog veya şema üzerinde SELECT gibi verilen ayrıcalıklar, mevcut ve gelecekteki alt nesneleri için de geçerlidir. Ayrıcalık devralma ve Unity Catalog'da ayrıcalıkları yönet bölümlerine bakınız.
  • Hesaplama: Seçilen hesaplama kaynağını kullanma izni. Bir SQL deposu için, rolün sorguları çalıştırmasına izin vermek üzere Can use iznini verin. Bkz. SQL ambarıyönetmek. Bir gruba atanan özel hesaplama için bkz. Özel hesaplama grubu erişimi.
  • Çalışma alanı nesneleri: Defterlere, işlere ve diğer çalışma alanı nesnelerine erişim izni vermek için erişim kontrol listeleri (ACL) kullanın. Bkz. Erişim denetim listeleri.

Roller, üst gruplarından izinleri devralır. Varsayılan olarak, rolleriniz ayrıca workspace'in users sistem grubuna ve hesabın account users sistem grubuna tanımlanan izinleri de devralır. Paylaşılan izinlerin değişmesi, diğer kullanıcıları ve bunları devralan rolleri etkiler. Rol izinlerinin nasıl uygulandığına bakınız.

Eğer rolü temsil eden kullanıcılar, rolun sahip olduğu çalışma alanı varlıklarını paylaşmamak zorundaysa, çalışma alanı varlık paylaşım kontrollerini yapılandırın.

Rolü kullanıp doğrulayın

Assume iznine sahip bir kullanıcı veya hizmet sorumlusu, Switch RBAC rolleri arasında geçiş yapma bölümündeki bir yöntemi kullanarak rol olarak kimlik doğrulaması yapar. Rolün gerekli kaynaklara erişebildiğini ve amaçlanan erişimi dışındaki kaynaklar için izin hataları aldığını kontrol edin. Bu sonuçları, rol olmadan hareket eden aynı kimlikle karşılaştırın.

Nitelik tabanlı erişim kontrolü (ABAC) ile yönetilen veriler için, politikalar aktif rolü değerlendirir. Kimlik fonksiyonu davranışı ve birleşik kullanım kalıpları için ABAC ile RBAC kullanmaya bakınız.

Denetim ilişkilendirmesini doğrulayın

Rolü test ettiğiniz çalışma alanıyla aynı hesapta ve bulut bölgesinde bulunan Unity Kataloğu özellikli bir çalışma alanından system.access.audit sorgulayın. Denetim okuyucusunun system üzerinde USE SCHEMA, SELECT üzerinde system.access, USE CATALOG üzerinde system.access.audit ve sorgu hesaplamasını kullanma iznine ihtiyacı vardır. Bkz . Sistem tablolarına erişim izni verme.

Kimlik meta veri alanları, bir olayda yer alan kimlikleri ayırt eder:

  • run_by: etkinliği başlatan kimlik.
  • run_as: yetkilendirme için kullanılan kimlik.
  • run_by_display_name ve run_as_display_name: karşılık gelen insan tarafından okunabilir isimler.

Bir rol üstlenirken yapılan etkileşimli talepler için, run_by kullanıcıyı ve run_as rolü tanımlar. İş iş yükleri için, run_by Jobs hizmetinin uygulama hizmet sorumlusunu belirler. Bkz. Farklı çalıştır'ı bir grup olarak ayarlama.

Test aktivitenizi bulmak için workspace_id ve event_date ile filtreleyin. Denetim sistemi tablosu verileri gün boyunca güncellenir ve gerçek zamanlı izlemeyi desteklemez. Yakın tarihli bir etkinlik eksikse, sonra tekrar kontrol edin. Denetim günlüğü sistem tablosu referansı ve Sistem tabloları referansı bakınız.

Ek kaynaklar

Tam bir kurulum ve doğrulama prosedürü için bir eğitim seçin:

Bir rolü diğer iş yüklerine uygulamadan önce, Rol tabanlı erişim kontrolü (RBAC) sınırlamalarını gözden geçirin.