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.
Nota
Git Privat Tanpa Server Databricks sedang dalam Pratinjau Umum. Biaya komputasi dan jaringan berlaku saat sumber daya komputasi tanpa server tersambung ke sumber daya eksternal. Lihat Memahami biaya jaringan tanpa server Databricks untuk detail penagihan.
Databricks Serverless Private Git memungkinkan Anda menyambungkan ruang kerja Databricks ke server Git privat menggunakan komputasi tanpa server dan Azure Private Link. Server Git bersifat pribadi jika pengguna internet tidak dapat mengaksesnya.
Diagram berikut mengilustrasikan arsitektur sistem keseluruhan:
Mengapa menggunakan Git Privat Tanpa Server?
Dibandingkan dengan proksi server Git, Git Privat Tanpa Server menawarkan keuntungan berikut:
- Git Privat Tanpa Server memperoleh komputasi tanpa server hanya ketika menerima permintaan Git, dan dapat tidak aktif saat tidak digunakan. Sebaliknya, proksi Git mengharuskan kluster proksi aktif saat pengguna mengirimkan permintaan Git.
- Git Privat Tanpa Server menggunakan Azure Private Link untuk terhubung dengan aman ke instans Git privat.
Persyaratan
- Aktifkan komputasi tanpa server untuk ruang kerja.
- Tempatkan server Git privat di Azure VNet yang sama dengan Load Balancer Standar.
- Pastikan server Git privat memiliki sertifikat yang ditandatangani dan nama domain yang sepenuhnya memenuhi syarat (FQDN) HTTPS yang valid.
- Konfigurasikan VNet dengan Load Balancer Standar (SLB) untuk layanan Private Link.
Menyiapkan Git Privat Tanpa Server
- Ikuti langkah-langkah untuk Mengonfigurasi konektivitas privat ke sumber daya di VNet Anda. Ini memungkinkan Anda membuat koneksi Azure Private Link dari Serverless ke backend pada jaringan Anda di belakang SLB.
- Buat konfigurasi konektivitas jaringan (NCC) untuk mengatur lalu lintas keluar ke penyeimbang beban standar.
- Anda hanya dapat mengonfigurasi satu NCC per ruang kerja untuk Git privat. Jika ruang kerja terhubung ke beberapa server Git privat, semuanya harus menggunakan NCC yang sama.
- Untuk batasan NCC, seperti batas wilayah dan batas lampiran ruang kerja, lihat Persyaratan.
- Dapatkan token API akun menggunakan service principal dengan akses tingkat akun.
curl --location 'https://accounts.azuredatabricks.net/oidc/accounts/{accountid}/v1/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=SP_CLIENT_ID_HERE' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=2ff814a6-3304-4ab8-85cb-cd0e6f879c1d/.default' \
--data-urlencode 'client_secret=SP_CLIENT_SECRET_HERE'
Respons berisi token akses:
{ "access_token": "...", "scope": "all-apis", "token_type": "Bearer", "expires_in": 3600 }
Atau, Anda dapat menggunakan token akses ID Microsoft Entra:
BEARER_TOKEN=$(az account get-access-token --resource \
2ff814a6-3304-4ab8-85cb-cd0e6f879c1d --query "accessToken" -o tsv)
- Tambahkan aturan titik akhir privat untuk menentukan logika DNS menggunakan API.
Dalam contoh, tentukan hal berikut:
- ID Pengguna Akun
- NCC ID
- Token OAuth Akun
- ID sumber daya layanan Private Link
- FQDN server Git dalam daftar
domain_name
curl --location 'https://accounts.azuredatabricks.net/api/2.0/accounts/{accountid}/network-connectivity-configs/{nccid}/private-endpoint-rules' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer BEARER_TOKEN' \
--data '{
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"domain_names": ["git-server.contoso.com"]
}'
Respons berisi detail aturan titik akhir privat:
{
"rule_id": "843ba2e5-bbbb-bbbb-bbbb-7f0d55555215",
"network_connectivity_config_id": "5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2",
"resource_id": "/subscriptions/3f262328b/resourceGroups/rg/providers/Microsoft.Network/privateLinkServices/example",
"endpoint_name": "databricks-5a9bdc5f-c43d-41cd-9a6d-1b653e20c7d2-pe-99cbbac3",
"connection_state": "PENDING",
"creation_time": 1740000647980,
"updated_time": 1740000647949,
"domain_names": ["git-server.contoso.com"]
}
- Tunggu beberapa menit setelah menyiapkan aturan titik akhir privat NCC. NCC menampilkan aturan titik akhir privat dengan status tertunda.
- Setujui koneksi titik akhir privat yang tertunda di layanan Private Link yang Anda konfigurasi di Langkah 1.
- Kembali ke NCC di dalam konsol akun dan periksa apakah hal tersebut telah didirikan.
- Lakukan operasi Git di ruang kerja. Indikator UI mengonfirmasi bahwa Git Privat Tanpa Server aktif. Indikator mungkin membutuhkan waktu beberapa detik untuk muncul saat komputasi tanpa server dimulai.
Setelah Anda mengonfigurasinya, Git Privat Tanpa Server lebih diutamakan daripada bentuk konektivitas Git privat lain yang sudah Anda provisikan, seperti proksi Git klasik. Jika Anda memiliki kluster proksi Git klasik yang berjalan, hentikan setelah menyiapkan Git Privat Tanpa Server.
Konfigurasi tambahan
Kustomisasi operasi Git menggunakan file konfigurasi.
- Buat file konfigurasi dengan mengikuti spesifikasi di
/Workspace/.git_settings/config.jsonbawah ini. - Berikan semua pengguna Git Izin tampilan ke file konfigurasi dan file sertifikat CA apa pun yang dirujuknya.
- Validasi konektivitas ke server Git dengan melakukan operasi Git, seperti menggandakan folder Git.
- Sistem dapat memakan waktu hingga satu menit untuk menerapkan perubahan file konfigurasi.
Struktur file konfigurasi tingkat atas
{
"default": { ... }, // Optional global settings
"remotes": [ ... ] // Optional list of per-remote settings
}
default bagian (opsional)
Default global berlaku untuk semua operasi Git kecuali jika jarak jauh tertentu mengambil alihnya.
| Bidang | Tipe | Diperlukan | Nilai Bawaan | Description |
|---|---|---|---|---|
sslVerify |
Boolean | Tidak. | true | Apakah akan memverifikasi sertifikat SSL. |
caCertPath |
string | Tidak. | "" (kosong) | Jalur ruang kerja ke sertifikat CA kustom. |
httpProxy |
string | Tidak. | "" (kosong) | Proksi HTTP untuk merutekan lalu lintas Git. |
customHttpPort |
bilangan bulat | Tidak. | Tidak disebutkan | Port HTTP kustom Git server. |
remotes bagian (opsional)
Daftar objek yang menentukan pengaturan untuk server Git jarak jauh individual. Pengaturan ini menggantikan blok default untuk setiap konfigurasi jarak jauh.
| Bidang | Tipe | Diperlukan | Nilai Bawaan | Description |
|---|---|---|---|---|
| urlPrefix | string | Yes | — | Awalan agar sesuai dengan URL remote Git. |
| sslVerify | Boolean | Tidak. | true | Apakah akan memverifikasi sertifikat SSL. |
| caCertPath | string | Tidak. | "" (kosong) | Jalur ruang kerja menuju jalur sertifikat CA kustom untuk koneksi jarak jauh ini. |
| httpProxy | string | Tidak. | "" (kosong) | Proksi HTTP untuk merutekan lalu lintas Git. |
| kustomHttpPort | bilangan bulat | Tidak. | Tidak disebutkan | Port HTTP kustom Git server. |
Contoh konfigurasi tanpa konfigurasi khusus jarak jauh
{
"default": {
"sslVerify": false
}
}
Contoh konfigurasi lengkap
{
"default": {
"sslVerify": true,
"caCertPath": "/Workspace/my_ca_cert.pem",
"httpProxy": "https://git-proxy-server.company.com",
"customHttpPort": "8080"
},
"remotes": [
{
"urlPrefix": "https://my-private-git.company.com/",
"caCertPath": "/Workspace/my_ca_cert_2.pem"
},
{
"urlPrefix": "https://another-git-server.com/project.git",
"sslVerify": false
}
]
}
Catatan
- Bagian
defaultharus ada setidaknya sebagian. - Bagian
remotesini bersifat opsional. Jika disertakan, setiap entri harus menyertakanurlPrefixkolom. - Bidang yang tidak ditentukan menggunakan nilai defaultnya.
- Bidang yang tidak diketahui diabaikan.
Keterbatasan
- Log proxy tanpa server tidak tersedia.
- Git Privat Tanpa Server hanya tersedia di wilayah tanpa server Azure.