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.
Lakeflow İşleri iki izin kümesi kullanır: bir işi kimlerin görüntüleyebileceğini, çalıştırabileceğini ve yönetebileceğini denetleyen iş izinleri ve bir işin verilere ve diğer kaynaklara erişmek için kullandığı kimliği belirleyen Çalıştıran ayrıcalıkları. Bu makalede, idare en iyi yöntemleriyle birlikte her ikisi de açıklanmaktadır.
Not
Gizli bilgiler, klasik işlem kaynağının Spark sürücüsünün stdout ve stderr akışlarında maskelenmez. Hassas verileri korumak için, varsayılan olarak Spark sürücüsü günlükleri yalnızca iş işlem kaynaklarında ve ayrılmış veya standart erişim modundaki genel amaçlı işlem kaynaklarında CAN MANAGE iznine sahip kullanıcılar tarafından görüntülenebilir. Aynı varsayılan, havuzdan oluşturulan işlem kaynakları için de geçerlidir. CAN ATTACH TO veya CAN RESTART iznine sahip kullanıcıların günlükleri görüntülemesine izin vermek için, işlemin Spark yapılandırma alanında aşağıdaki özelliği ayarlayın: spark.databricks.acl.needAdminPermissionToViewLogs false.
Yalıtımsız paylaşılan erişim modu olan eski işlemde Spark sürücü günlükleri CAN ATTACH TO, CAN RESTART 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ırlandırmak için spark.databricks.acl.needAdminPermissionToViewLogstrueolarak ayarlayın.
spark.databricks.acl.needAdminPermissionToViewLogs İşlem düzeyinde bir Spark özelliği olduğundan, bunu ihtiyacı olan her işlemde ayarlamanız gerekir.
jobs/runs/submit aracılığıyla gönderilen geçici iş çalıştırmaları için, örneğin harici bir orkestratör tarafından tetiklenenler gibi, özelliği gönderim sırasında new_cluster.spark_conf içinde tüm access_control_list girdileriyle birlikte ayarlayın.
İş ayrıcalıkları ve Farklı Kullanıcı Olarak Çalıştır
İşler Azure Databricks nesnelerdir ve bu işlere erişmenize veya bunları yönetmenize olanak tanıyan ayrıcalıklara sahiptir. Bu sayfada bu ayrıcalıklar iş ayrıcalıkları (veya izinler ) olarak açıklanmaktadır.
İşler, kaynaklara ilişkin referanslar üzerinde işlem yapma ayrıcalıklarına sahip olan bir kullanıcı (veya yetkili) adına görevleri çalıştırır ve yerine getirir. İşin işlevi gören kullanıcıya Farklı çalıştır kullanıcısı adı verilir ve bu ayrıcalıklara bu sayfada Farklı çalıştır ayrıcalıkları (veya izinleri) adı verilir. İş çalıştırıldığında Bir kullanıcı olarak çalıştır ayrıcalıkları kullanılır.
Örneğin, A kullanıcısı bir iş oluşturur ve Farklı çalıştır kullanıcısını B kullanıcısına ayarlarsa, iş B kullanıcısının ayrıcalıklarıyla çalışır. C kullanıcısı işi çalıştırırsa, iş B kullanıcısının ayrıcalıklarıyla çalışmaya devam eder. Bu, birisine veri kümelerine erişimi olmayan verilerden bilgi elde edebilmek için bir iş çalıştırma yeteneği verebileceğiniz anlamına gelir.
İşler için varsayılan ayrıcalıklar
İşler varsayılan olarak aşağıdaki ayrıcalıklara sahiptir:
- İşi oluşturana iş üzerinde IS OWNER izni verilir.
- Çalışma alanı yöneticilerine iş üzerinde CAN MANAGE izni verilir.
- İşin yaratıcısı ,olarak çalıştırılmak üzere ayarlanmıştır.
- Farklı çalıştır kullanıcı izinleri, işin (işin içindeki görevler dahil) çalıştırılması sırasında kullanılır.
Varsayılan ayar oluşturucuyu hem sahip hem de Farklı çalıştır kullanıcısına ayarlamak olduğundan, oluşturucunun ayrıcalıkları işi varsayılan olarak çalıştırırken kullanılır. Databricks, ayrıcalıkların sahibin ayrıcalıklarından bağımsız olarak denetlenebilmesi ve sahibin ayrıldığında veya ayrıcalıkları değiştiğinde işlerin bozulmaması için Çalıştır olarak kullanıcısının bir hizmet ilkesine değiştirilmesini önerir.
İş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ğiyle çalıştırılır. Görevler çalıştırılırken bu kimlik, bu görevlerde kullanılabilecek kaynaklara verilen izinleri karşısında 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 bilgileri. Bkz. Gizlilik 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ırmayı yapılandırın.
Ayrıcalıklar değerlendirildiğinde
İş ayrıcalıkları, kullanıcı bu iş üzerinde işi düzenleme veya çalıştırma gibi bir eylem gerçekleştirdiğinde değerlendirilir.
Olarak çalıştır yetkileri bir iş çalıştırması sırasında değerlendirilir. Bu nedenle, görev başlatıldığında veya çalıştırma sırasında her görev ayrıcalıkları denetleyebilir.
Not
Bir iş çalıştırmasının başında tüm Farklı çalıştır ayrıcalıkları doğrulanmaz. İş çalışırken, özellikle ayrıcalıkları kaldırırsanız, Farklı çalıştır kullanıcısının ayrıcalıklarını değiştirirseniz, iş tamamlanmadan önce başarısız olabilir.
SQL görevleri ve izinleri
Dosya görevi, Farklı kullanıcı olarak çalıştır seçeneğine tam olarak saygı gösteren tek SQL görev türüdür.
SQL sorguları ve uyarıları, 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, işteki Olarak Ç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 ve Run as ayarının etkileşimi gösterilmektedir.
- A kullanıcısı adlı
my_querySQL sorgusunun sahibidir. - Kullanıcı A,
my_querypaylaşım ayarını Sahip olarak çalıştır şeklinde yapılandırır. - Kullanıcı B,
my_queryadlı bir işte,my_job'yı görev olarak zamanlar. - B kullanıcısı
my_jobprod_spadlı hizmet sorumlusuyla çalışacak şekilde yapılandırıyor. -
my_jobçalıştırıldığında,my_queryçalıştırmak için Kullanıcı A'nın 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_queryGörüntüleyici olarak çalıştır olarak değiştirir. - Çalıştırıldığında
my_job,prod_spkimliğini kullanır.
İş çalıştırmaları için 'Run as user' ayarını yapılandırma
İş üzerindeki "Başka Hesapla Çalıştır" ayarını değiştirmek için YÖNETEBİLİR veya SAHİBİ 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ı arabiriminde bir işin Olarak Çalıştır ayarını yapılandırmak için mevcut bir işi aşağıdaki adımlarla seçin:
- Azure Databricks çalışma alanınızın sol kenar çubuğunda İşler ve İşlem Hatları öğesine tıklayın.
- İsteğe bağlı olarak, işi bulmayı kolaylaştırmak için İşler ve Bana ait filtrelerini seçin.
- Listedeki işin adına tıklayın.
- İş ayrıntıları bölmesinde, 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ı
- Hizmet sorumlularını yönetme rolleri
- Kullanabileceğiniz hizmet ilkelerini listeleyin.
İş idaresi için en iyi yöntemler
Databricks, tüm üretim işleri için aşağıdakileri önerir:
Hizmet sorumlusu kullanarak üretim işlerini çalıştırma
İşler Varsayılan olarak iş oluşturucusu olarak çalıştırılır . Run as kullanıcısı kuruluşunuzdan ayrılırsa iş başarısız olabilir.
Farklı çalıştır kullanıcısını bir hizmet sorumlusuna atarsanız, iş çalıştırmaları hizmet sorumlusunun izinlerini kullanır ve kullanıcılar ayrıldığında veya ayrıcalıkları değiştiğinde değişmez.
Varsayılan olarak, çalışma alanı yöneticileri iş izinlerini yönetebilir ve gerekirse sahipliği yeniden atayabilir.
Üretim işleri için hizmet sorumlularını kullanmak, üretim verileri üzerinde yazma izinlerini kısıtlamanıza da 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 uyumlu işlem yapılandırmalarını her zaman kullan
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 standart erişim modu önerir. Gerektiğinde ayrılmış erişim modunu kullanın.
Unity Kataloğu ile yapılandırılan Lakeflow Spark Bildirimli İşlem Hatları'nın bazı sınırlamaları vardır. Bkz. Sınırlamalar.
Üretim işlerinde iş ayrıcalıklarını kısıtlama
İş ayrıcalıkları, işleri kimlerin görüntüleyebileceğini, çalıştırabileceğini veya yönetebileceğini denetler.
- İş yapılandırmasını görüntüleyen veya çalıştırmaları izleyen kullanıcıların Görüntüleme iznine sahip olması gerekir.
- İş çalıştırmalarını tetikleyen, durduran veya yeniden başlatan kullanıcıların Çalıştırma Yönetme iznine sahip olması gerekir.
- Üretim kodunu değiştirme yetkisine sahip olmak üzere güvenilen kullanıcılara yalnızca Yönetebilir veya Sahibi 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 yer alan, kendisinin altında bulunan izinleri de içerir.
| İzin | Bahşetmek |
|---|---|
| SAHİPTİR | Varsayılan olarak Farklı çalıştır özelliği için kullanılan kimlik. Bunu geçersiz kılmak için Farklı çalıştır kullanıcısını ayarlayabilirsiniz. |
| YÖNETEBİLİR | Yapılandırma, görevler ve izinler dahil olmak üzere iş tanımını düzenleyebilir. Zamanlamayı duraklatabilir ve devam ettirebilir. |
| ÇALIŞTIRMAYI YÖNETEBİLİR | İşletimleri tetikleyebilir ve iptal edebilir. |
| GÖRÜNTÜLEYEBILIR | Ayrıntılar, geçmiş ve durum dahil olmak üzere iş çalıştırma sonuçlarını görüntüleyebilir. |
- Bir işin oluşturucusu varsayılan olarak IS OWNER iznine sahiptir.
- Bir işin birden fazla sahibi olamaz.
- Bir gruba sahip olarak IS OWNER izni atanamaz.
- Şimdi Çalıştır aracılığıyla tetiklenen işler, Olarak Çalıştır kullanıcısının (varsayılan olarak sahibi) izinlerini taşır, bu işlemi gerçekleştiren kullanıcının değil.
- İşler erişim denetimi, İşler ve İşlem Hatları kullanıcı arabiriminde görüntülenen işler ve bunların yeniden çalıştırmaları için geçerlidir. Bu, şu durum için geçerli değildir:
Modüler veya bağlı kod çalıştıran not defteri iş akışları. Bunlar, not defterinin kendi izinlerini kullanır. Not defteri Git'ten geliyorsa, yeni bir kopya oluşturulur ve dosyaları çalıştırmayı tetikleyen kullanıcının izinlerini devralır.
API tarafından gönderilen işler. API isteğinde
access_control_list'yi açıkça ayarlamadığınız sürece, bunlar not defterinin varsayılan izinlerini kullanır.
İş izin düzeyleri hakkında bilgi için İş ACL'leri'ne bakın.
İş 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:
- Azure Databricks çalışma alanınızın sol kenar çubuğunda İşler ve İşlem Hatları öğesine tıklayın.
- İsteğe bağlı olarak İşler ve Bana ait filtrelerini seçin.
- İşinizin Ad bağlantısına tıklayın.
- İş ayrıntıları bölmesinde İ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. Bu alan, çalışma alanındaki tüm kullanılabilir kimlikleri arar.
- Ekle'yi tıklatın.
- Kaydet'e tıklayın.
Var olan bir izni değiştirmek veya kaldırmak için İzinleri düzenle'ye tıklayarak İzin Ayarları iletişim kutusunu açın. bir izni değiştirmek için, kimliğin yanındaki açılan listeden farklı bir düzey seçin. bir izni kaldırmak için kimliğin yanındaki x işaretine 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.
Not defteri görevleri ve API erişimi
Kullanıcı arabirimi aracılığıyla bir not defteri görevi çalıştırdığınızda, çıktıya (not defteri içinde) yalnızca kullanıcının temel not defterine erişimi varsa erişilebilir. Ancak, aynı iş API üzerinden çalıştırıldığında, API kullanıcısının not defterine değil yalnızca işe erişimi olsa bile çalıştırma çıkışı API tarafından görülebilir.