Databricks İşleri için kimlikleri, izinleri ve ayrıcalıkları yönetme
Bu makale, Databricks İşleri için kimlikleri, izinleri ve ayrıcalıkları yönetmeye yönelik öneriler ve yönergeler içerir.
Not
Gizli diziler , kümenin Spark sürücü günlüğünden stdout
ve stderr
akışlarından yeniden işlenmez. Hassas verileri korumak için Spark sürücü günlükleri varsayılan olarak yalnızca iş, tek kullanıcı erişim modu ve paylaşılan erişim modu kümeleri üzerinde YÖNETİLEMİş iznine sahip kullanıcılar tarafından görüntülenebilir. CAN ATTACH TO veya CAN RESTART iznine sahip kullanıcıların bu kümelerdeki günlükleri görüntülemesine izin vermek için, küme yapılandırmasında aşağıdaki Spark yapılandırma özelliğini ayarlayın: spark.databricks.acl.needAdminPermissionToViewLogs false
.
Yalıtımsız Paylaşılan erişim modu kümelerinde Spark sürücü günlükleri, CAN ATTACH TO veya CAN MANAGE iznine sahip kullanıcılar tarafından görüntülenebilir. Günlükleri kimlerin okuyabileceğini yalnızca CAN MANAGE iznine sahip kullanıcılarla sınırlamak için true
olarak ayarlayınspark.databricks.acl.needAdminPermissionToViewLogs
.
Spark özelliklerini bir küme yapılandırmasına nasıl ekleyeceğinizi öğrenmek için Spark yapılandırmasına göz atın.
İşler için varsayılan ayrıcalıklar
İşler varsayılan olarak aşağıdaki ayrıcalıklara sahiptir:
- İşi oluşturana IS OWNER izni verilir.
- Çalışma alanı yöneticilerine CAN MANAGE izni verilir.
- İşin oluşturucusu Farklı çalıştır olarak ayarlanır.
İşler için yönetici izinleri
Varsayılan olarak, çalışma alanı yöneticileri iş sahibini veya Farklı çalıştır yapılandırmasını çalışma alanında herhangi bir kullanıcı veya hizmet sorumlusuyla değiştirebilir. Hesap yöneticileri bu davranışı değiştirmek için ayarı yapılandırabilir RestrictWorkspaceAdmins
. Bkz. Çalışma alanı yöneticilerini kısıtlama.
İşler Unity Kataloğu izinleriyle nasıl etkileşim kurar?
İşler, Farklı çalıştır ayarında kullanıcının kimliği olarak çalıştırılır. Bu kimlik, aşağıdakiler için izin vermelerine karşı değerlendirilir:
- Tablolar, birimler, modeller ve görünümler de dahil olmak üzere Unity Kataloğu tarafından yönetilen varlıklar.
- Eski Hive meta veri deposunda kayıtlı varlıklar için eski tablo erişim denetim listeleri (ACL'ler).
- İşlem, not defterleri, sorgular ve diğer çalışma alanı varlıkları için ACL'ler.
- Databricks gizli dizileri. Bkz. Gizli dizi yönetimi.
Not
Unity Kataloğu izinleri ve eski tablo ACL'leri uyumlu işlem erişim modları gerektirir. Bkz . İşler için işlem yapılandırma.
SQL görevleri ve izinleri
Dosya görevi, Farklı çalıştır kimliğine tam olarak saygılı olan tek SQL görev türüdür.
SQL sorguları, uyarılar ve eski pano görevleri yapılandırılmış paylaşım ayarlarına uyar.
- Sahip olarak çalıştır: Zamanlanmış SQL görevinin çalıştırmaları her zaman yapılandırılmış SQL varlığının sahibinin kimliğini kullanır.
- Görüntüleyici olarak çalıştır: Zamanlanmış SQL görevinin çalıştırmaları her zaman farklı çalıştır alanında ayarlanan kimliği kullanır.
Sorgu paylaşımı ayarları hakkında daha fazla bilgi edinmek için bkz . Sorgu izinlerini yapılandırma.
Örnek
Aşağıdaki senaryoda SQL paylaşım ayarlarının etkileşimi ve farklı çalıştır işi ayarı gösterilmektedir:
- A kullanıcısı adlı
my_query
SQL sorgusunun sahibidir. - Kullanıcı A, Sahip olarak çalıştır paylaşım ayarıyla yapılandırılır
my_query
. - B kullanıcısı adlı
my_job
bir işte görev olarak zamanlarmy_query
. - B kullanıcısı adlı
prod_sp
bir hizmet ilkesiyle çalışacak şekilde yapılandırıyormy_job
. - çalıştırıldığında
my_job
, kullanıcı A'nın komutunu çalıştırmasımy_query
için kimliğini kullanır.
Şimdi Kullanıcı B'nin bu davranışı istemediğini varsayalım. Mevcut yapılandırmadan başlayarak aşağıdakiler gerçekleşir:
- Kullanıcı A, paylaşım ayarını
my_query
Görüntüleyici olarak çalıştır olarak değiştirir. - Çalıştırıldığında
my_job
, öğesini tanımlarprod_sp
.
İş çalıştırmaları için kimlik yapılandırma
Farklı çalıştır ayarını değiştirmek için, iş üzerinde YÖNETİLEBİlİR veya SAHİBİDIR iznine sahip olmanız gerekir.
Farklı çalıştır ayarını kendinize veya Hizmet Sorumlusu Kullanıcı yetkilendirmesine sahip olduğunuz çalışma alanında herhangi bir hizmet sorumlusuna ayarlayabilirsiniz.
Çalışma alanı kullanıcı arabirimindeki bir işin Farklı çalıştır ayarını yapılandırmak için aşağıdaki adımları kullanarak var olan bir işi seçin:
- Kenar çubuğunda İş Akışları'na tıklayın .
- Ad sütununda iş adına tıklayın.
- İş ayrıntıları yan panelinde Farklı çalıştır alanının yanındaki kalem simgesine tıklayın.
- Bir kullanıcı veya hizmet sorumlusu arayın ve seçin.
- Kaydet'e tıklayın.
Hizmet sorumlularıyla çalışma hakkında daha fazla bilgi için aşağıdakilere bakın:
- Hizmet sorumlularını yönetme
- Hizmet sorumlularını yönetme rolleri
- Kullanabileceğiniz hizmet sorumlularını listeleyin.
İş idaresi için en iyi yöntemler
Databricks, tüm üretim işleri için aşağıdakileri önerir:
Hizmet sorumlusuna iş sahipliği atama
İş sahibi olan kullanıcı kuruluşunuzdan ayrılırsa iş başarısız olabilir. İşleri çalışan değişim sıklığına göre sağlam hale getirmek için hizmet sorumlularını kullanın.
Varsayılan olarak, çalışma alanı yöneticileri iş izinlerini yönetebilir ve gerekirse sahipliği yeniden atayabilir.
Hizmet sorumlusu kullanarak üretim işlerini çalıştırma
İşler varsayılan olarak iş sahibinin ayrıcalıklarını kullanarak çalışır. Bir hizmet sorumlusuna sahiplik atarsanız, iş çalıştırmaları hizmet sorumlusunun izinlerini kullanır.
Üretim işleri için hizmet sorumlularını kullanmak, üretim verileri üzerinde yazma izinlerini kısıtlamanıza olanak tanır. İşleri bir kullanıcının izinlerini kullanarak çalıştırırsanız, bu kullanıcının işin gerektirdiği üretim verilerini düzenlemek için aynı izinlere sahip olması gerekir.
Unity Kataloğu ile uyumlu işlem yapılandırmalarını her zaman kullanın
Unity Kataloğu veri idaresi için desteklenen bir işlem yapılandırması kullanmanız gerekir.
İşler ve SQL ambarları için sunucusuz işlem her zaman Unity Kataloğu'nu kullanır.
Databricks, klasik işlem içeren işler için desteklenen iş yükleri için paylaşılan erişim modu önerir. Gerektiğinde tek kullanıcı erişim modunu kullanın.
Unity Kataloğu ile yapılandırılan Delta Live Tables işlem hatlarının bazı sınırlamaları vardır. Bkz. Sınırlamalar.
Üretim işlerinde izinleri kısıtlama
İş çalıştırmalarını tetikleyen, durduran veya yeniden başlatan kullanıcıların Çalıştırmayı Yönetebilir iznine sahip olması gerekir.
İş yapılandırmasını veya izleyici çalıştırmalarını görüntüleyen kullanıcıların Görüntüleyebilir iznine sahip olması gerekir.
Üretim kodunu değiştirmek için güvenilen kullanıcılara yalnızca Yönetebilir veya SahibiDir ayrıcalıkları verin.
İşe erişimi denetleme
İş erişimi denetimi, iş sahiplerinin ve yöneticilerin işler üzerinde ayrıntılı izinler vermesine olanak tanır. Aşağıdaki izinler kullanılabilir:
Not
Her izin, aşağıdaki tabloda altındaki izinlerin verilmesini içerir.
İzin | İzin ver |
---|---|
Sahip | Varsayılan olarak Farklı çalıştır için kullanılan kimlik. |
Yönetilebilir | Kullanıcılar, izinler de dahil olmak üzere iş tanımını düzenleyebilir. Kullanıcılar bir zamanlamayı duraklatabilir ve sürdürebilir. |
Çalıştırmayı Yönetebilir | Kullanıcılar iş çalıştırmalarını tetikleyebilir ve iptal edebilir. |
Görüntüleyebilir | Kullanıcılar iş çalıştırma sonuçlarını görüntüleyebilir. |
İş izin düzeyleri hakkında bilgi için bkz . İş ACL'leri.
İş izinlerini yapılandırma
Çalışma alanı kullanıcı arabirimindeki bir işin izinlerini yapılandırmak için aşağıdaki adımları kullanarak var olan bir işi seçin:
- Kenar çubuğunda İş Akışları'na tıklayın .
- Ad sütununda iş adına tıklayın.
- İş ayrıntıları panelinde İzinleri düzenle'ye tıklayın. İzin Ayarları iletişim kutusu görüntülenir.
- Kullanıcı, Grup veya Hizmet Sorumlusu Seç... alanına tıklayın ve bir kullanıcı, grup veya hizmet sorumlusu yazmaya başlayın. alanı, çalışma alanındaki tüm kullanılabilir kimlikleri arar.
- Ekle'yi tıklatın.
- Kaydet'e tıklayın.
İş sahibini yönetme
İş sahibini yalnızca çalışma alanı yöneticileri düzenleyebilir. Tam olarak bir iş sahibi atanmalıdır. İş sahipleri kullanıcılar veya hizmet sorumluları olabilir.