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.
Bu makalede, Bildirim temelli Otomasyon Paketlerinde kaynaklar için izinlerin nasıl ayarlanacağı açıklanmaktadır. Paketlerde desteklenen kaynaklar hakkında bilgi için bkz . Bildirim temelli Otomasyon Paketleri kaynakları.
Azure Databricks bundle yapılandırma dosyalarında, pakette tanımlanan tüm kaynaklara uygulanacak izinleri en üst düzeyde tanımlayabilir veya belirli kaynaklara uygulanacak izinler tanımlayabilirsiniz.
Not
İzinler çakışamaz. Başka bir deyişle, kullanıcı, grup veya hizmet sorumlusu izinleri hem üst düzey permissions eşlemede hem de alt düzey resources eşlemede tanımlanamaz.
Tip
Yönetici olmayan kullanıcıların dağıtıldıktan sonra varlıkları değiştirmesini önlemek için paketinizi sabit, salt okunur bir klasöre dağıtın. Bkz. immutable_folder.
Tüm kaynaklara uygulanacak izinleri tanımlama
en üst düzey resources eşlemeyi kullanarak içinde permissions tanımlanan tüm desteklenen kaynaklara uygulanacak izinleri tanımlayabilirsiniz. Databricks, Bildirim temelli Otomasyon Paketleri kaynak izinlerini yönetmek için bu yaklaşımı önerir.
İzinler , user_namegroup_nameveya service_principal_nameiçin izin verilen izin düzeyini tanımlar. İzin verilen en üst düzey izin düzeyleri , CAN_VIEWve CAN_MANAGE'dırCAN_RUN. Üst düzey permissions eşleme hakkında daha fazla bilgi için bkz. izinler.
Aşağıdaki örnek, hedef için dev üst düzey izinleri ayarlar. Kullanıcının someone@example.com üzerinde CAN_RUNizinleri olacaktırmy-job:
bundle:
name: my-bundle
resources:
jobs:
my-job:
# ...
targets:
dev:
# ...
permissions:
- user_name: someone@example.com
level: CAN_RUN
Belirli bir kaynak için izinleri tanımlama
Bir pano, deneme, iş, model veya işlem hattı tanımında permissions eşlemeyi kullanarak, bu kaynak için bir veya daha fazla izin tanımlayabilirsinizresources.
Eşlemedeki permissions her izin aşağıdakileri içermelidir:
- Sırasıyla
user_name, ,group_nameveyaservice_principal_name, kullanıcı, grup veya hizmet sorumlusunun adına ayarlanır. -
level, izin seviyesinin adı olarak ayarlayın. Her kaynak için izin verilen izin düzeyleri şunlardır:-
Uyarılar:
CAN_EDIT,CAN_MANAGE,CAN_READ,CAN_RUN -
Uygulamalar:
CAN_MANAGE,CAN_USE -
Kümeler:
CAN_ATTACH_TO,CAN_MANAGE,CAN_RESTART -
Gösterge Panelleri:
CAN_EDIT,CAN_MANAGE,CAN_RUN,CAN_READ* -
Veritabanı örnekleri:
CAN_MANAGE,CAN_USE,CAN_CREATE -
Genie aracıları:
CAN_EDIT,CAN_MANAGE,CAN_RUN,CAN_VIEW -
Denemeler:
CAN_EDIT,CAN_MANAGE,CAN_READ,CAN_RUN -
İşler:
CAN_MANAGE,CAN_MANAGE_RUN,CAN_VIEW,IS_OWNER -
Modeller:
CAN_EDIT,CAN_MANAGE,CAN_MANAGE_STAGING_VERSIONS,CAN_MANAGE_PRODUCTION_VERSIONS,CAN_READ -
İşlem Hatları:
CAN_MANAGE,CAN_RUN,CAN_VIEW,IS_OWNER -
Gizli kapsamlar:
READ,WRITE,MANAGE -
SQL ambarı:
CAN_MANAGE,CAN_USE,CAN_VIEW,CAN_MONITOR,IS_OWNER
-
Uyarılar:
* Çalışma alanı kullanıcı arabirimi yalnızca görüntüleme erişimini CAN VIEW olarak ifade ederken, İzinler API'sinde aynı erişim düzeyini temsil eden CAN READ kullanılır.
Önemli
Kaynaklar için izin verilen izin düzeyleri, üst düzey permissions eşlemesinin kullanılmasıyla kaynaklara her zaman uygulanamayabilir. En üst düzey permissions eşleme için geçerli izin düzeyleri için bkz. izinler.
Aşağıdaki söz dizimi, en üst düzey resources eşlemede ve resources bir hedef içindeki eşlemede bir kaynak türü (bu örnekte işlem hatları) için izinleri bildirmeyi gösterir:
# ...
resources:
pipelines:
<some-programmatic-identifier-for-this-pipeline>:
# ...
permissions:
- user_name: <user-name> # Or:
group_name: <group-name-1> # Or:
service_principal_name: <service-principal-name>
level: <permission-level>
# ...
targets:
<some-programmatic-identifier-for-this-target>:
resources:
pipelines:
<some-programmatic-identifier-for-this-pipeline>:
# ...
permissions:
- user_name: <user-name> # Or:
group_name: <group-name> # Or:
service_principal_name: <service-principal-name>
level: <permission-level>
# ...
# ...
Üst düzey resources eşlemedeki bir kaynak için bildirilen tüm izinler, tek bir hedefte aynı resources eşleme için bildirilen izinlerle birleştirilir. Örneğin, aynı kaynak için hem üst düzeyde hem de hedefte aşağıdaki resources eşlemesi göz önünde bulundurulduğunda:
bundle:
name: my-bundle
resources:
jobs:
my-job:
# ...
permissions:
- group_name: test-group
level: CAN_VIEW
# ...
targets:
dev:
# ...
resources:
jobs:
my-job:
# ...
permissions:
- user_name: someone@example.com
level: CAN_MANAGE_RUN
# ...
Bu örnek için databricks bundle validate çalıştırdığınızda, sonuçta elde edilen grafik aşağıdaki gibidir:
{
"...": "...",
"resources": {
"jobs": {
"my-job": {
"permissions": [
{
"level": "CAN_VIEW",
"group_name": "test-group"
},
{
"level": "CAN_MANAGE_RUN",
"user_name": "someone@example.com"
}
],
"...": "..."
}
}
}
}
Öncelik izin sırası
Paket yapılandırmanızda birden çok yerde tanımladıysanız permissions , kaynaklara, çalışma alanı dizinlerine ve pakette belirtilen dosyalara verilen izinler aşağıdaki sıradadır:
- Hedef dağıtımda kaynak için tanımlanan izinler
- Hedef dağıtım için tanımlanan izinler
- Paketteki kaynak için tanımlanan izinler
- Paketin en üst düzey izinlerinde tanımlanan izinler
Örneğin, aşağıdaki yapılandırmada, test-group grubunun CAN_MANAGE hedefindeki iş için dev izinleri, ancak CAN_MANAGE_RUN hedefindeki iş için prod izinleri olacaktır.
bundle:
name: my-bundle
permissions:
- group_name: test-group
level: CAN_VIEW
resources:
jobs:
my-job:
# ...
permissions:
- group_name: test-group
level: CAN_MANAGE_RUN
# ...
targets:
dev:
# ...
resources:
jobs:
my-job:
# ...
permissions:
- group_name: test-group
level: CAN_MANAGE
# ...
prod:
# ...
resources:
jobs:
my-job:
# ...