Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini menjelaskan cara mengatur izin untuk sumber daya di Bundel Otomatisasi Deklaratif. Untuk informasi tentang sumber daya yang didukung dalam bundel, lihat Sumber Daya Bundel Otomasi Deklaratif.
Dalam file konfigurasi Azure Databricks bundle, Anda dapat menentukan izin di tingkat atas untuk diterapkan ke semua sumber daya yang ditentukan dalam bundel, atau Anda dapat menentukan izin untuk diterapkan ke sumber daya tertentu.
Catatan
Izin tidak dapat tumpang tindih. Dengan kata lain, izin untuk pengguna, grup, atau perwakilan layanan tidak dapat ditentukan baik dalam pemetaan tingkat atas permissions maupun dalam pemetaan resources.
Tentukan izin untuk diterapkan ke semua sumber daya
Anda dapat menentukan izin untuk diterapkan ke semua sumber daya yang didukung yang ditentukan dalam resources dengan menggunakan pemetaan permissions tingkat atas. Databricks merekomendasikan pendekatan ini untuk mengelola izin sumber daya Bundel Otomatisasi Deklaratif.
Izin menentukan tingkat izin yang diizinkan untuk user_name, , group_nameatau service_principal_name. Tingkat izin tingkat atas yang diizinkan adalah CAN_VIEW, , CAN_MANAGEdan CAN_RUN. Untuk informasi selengkapnya tentang pemetaan tingkat permissions atas, lihat izin.
Contoh berikut menetapkan izin tingkat atas untuk dev target. Pengguna someone@example.com akan memiliki CAN_RUN izin pada my-job:
bundle:
name: my-bundle
resources:
jobs:
my-job:
# ...
targets:
dev:
# ...
permissions:
- user_name: someone@example.com
level: CAN_RUN
Menentukan izin untuk sumber daya tertentu
Anda dapat menggunakan permissions pemetaan di dasbor, eksperimen, tugas, model, atau definisi alur di resources untuk mendefinisikan satu atau beberapa izin untuk sumber daya tersebut.
Setiap izin dalam permissions pemetaan harus menyertakan yang berikut ini:
- Baik
user_name,group_name, atauservice_principal_name, diatur ke nama pengguna, grup, atau perwakilan layanan, masing-masing. -
level, atur ke nama tingkat izin. Tingkat izin yang diizinkan untuk setiap sumber daya adalah sebagai berikut:-
Pemberitahuan:
CAN_EDIT,CAN_MANAGE,CAN_READ,CAN_RUN -
Aplikasi:
CAN_MANAGE,CAN_USE -
Kluster:
CAN_ATTACH_TO,CAN_MANAGE,CAN_RESTART -
Dashboard:
CAN_EDIT,CAN_MANAGE,CAN_RUN,CAN_READ* -
Instans database:
CAN_MANAGE,CAN_USE,CAN_CREATE -
Eksperimen:
CAN_EDIT,CAN_MANAGE,CAN_READ,CAN_RUN -
Pekerjaan:
CAN_MANAGE,CAN_MANAGE_RUN,CAN_VIEW,IS_OWNER -
Model:
CAN_EDIT,CAN_MANAGE,CAN_MANAGE_STAGING_VERSIONS,CAN_MANAGE_PRODUCTION_VERSIONS,CAN_READ -
Pipeline:
CAN_MANAGE,CAN_RUN,CAN_VIEW,IS_OWNER -
Lingkup rahasia:
READ,WRITE,MANAGE -
Gudang SQL:
CAN_MANAGE,CAN_USE,CAN_VIEW,CAN_MONITOR,IS_OWNER
-
Pemberitahuan:
* UI ruang kerja mengacu pada akses tampilan saja sebagai CAN VIEW, sementara API Hak akses menggunakan DAPAT MEMBACA untuk mewakili tingkat akses yang sama.
Penting
Tingkat izin yang diizinkan untuk sumber daya tidak selalu dapat diterapkan ke sumber daya menggunakan pemetaan tingkat permissions atas. Untuk tingkat izin valid pada pemetaan tingkat tertinggi permissions, lihat izin.
Sintaks berikut menunjukkan cara mendeklarasikan hak akses untuk tipe sumber daya (dalam contoh ini, alur kerja) dalam pemetaan level resources tertinggi dan dalam pemetaan resources di dalam target.
# ...
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>
# ...
# ...
Setiap izin yang dideklarasikan untuk sumber daya dalam pemetaan resources tingkat atas dikombinasikan dengan izin mana pun yang dideklarasikan untuk pemetaan resources yang sama dalam target individual. Misalnya, dengan adanya pemetaan resources berikut untuk sumber daya yang sama pada tingkat atas maupun di dalam target.
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
# ...
Saat Anda menjalankan databricks bundle validate untuk contoh ini, grafik yang dihasilkan adalah sebagai berikut:
{
"...": "...",
"resources": {
"jobs": {
"my-job": {
"permissions": [
{
"level": "CAN_VIEW",
"group_name": "test-group"
},
{
"level": "CAN_MANAGE_RUN",
"user_name": "someone@example.com"
}
],
"...": "..."
}
}
}
}
Urutan tingkat prioritas izin
Jika Anda telah mendefinisikan permissions di beberapa tempat dalam konfigurasi bundel Anda, maka izin yang diberikan kepada sumber daya, direktori ruang kerja, dan file yang ditentukan dalam bundel diatur dalam urutan berikut:
- Izin yang ditentukan untuk sumber daya dalam penyebaran target
- Izin yang ditentukan untuk penerapan target
- Izin yang ditentukan untuk sumber daya dalam bundel
- Izin yang ditentukan dalam izin tingkat atas bundel
Misalnya, dalam konfigurasi berikut, grup test-group akan memiliki CAN_MANAGE izin untuk pekerjaan di dev target, tetapi CAN_MANAGE_RUN izin untuk pekerjaan di prod target:
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:
# ...