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.
Penting
Lakebase Provisioned adalah penawaran Lakebase asli yang menggunakan komputasi yang disediakan yang Anda skalakan secara manual. Untuk wilayah yang didukung, lihat Ketersediaan wilayah. Untuk versi terbaru Lakebase, dengan komputasi penskalaan otomatis, skala-ke-nol, pencabangan, dan pemulihan instan, lihat Penskalaan Otomatis Lakebase.
Instans Lakebase baru akan dibuat sebagai proyek Autoscaling. Peluncuran dimulai 12 Maret 2026. Untuk informasi lebih lanjut, lihat Penskalaan otomatis yang diaktifkan secara default.
Halaman ini menjelaskan cara mengautentikasi ke instans database Lakebase. Ada dua cara untuk mengautentikasi:
- Dapatkan token OAuth dan autentikasi menggunakan identitas Azure Databricks.
- Gunakan peran Postgres asli dengan kata sandi.
Mengautentikasi dengan identitas Azure Databricks
Saat Mengautentikasi sebagai identitas Azure Databricks, Anda perlu membuat token OAuth dan menggunakannya sebagai kata sandi saat menyambungkan ke Postgres.
Pertimbangan sebelum Anda mulai
Token OAuth kedaluwarsa setelah satu jam, tetapi kedaluwarsa hanya diberlakukan saat masuk. Koneksi terbuka tetap aktif meskipun token kedaluwarsa. Namun, perintah PostgreSQL apa pun yang memerlukan autentikasi gagal jika token telah kedaluwarsa.
Token OAuth yang digunakan untuk autentikasi Postgres tercakup dalam ruang kerja dan harus termasuk dalam ruang kerja yang sama yang memiliki instans database. Autentikasi token lintas ruang kerja tidak didukung. Untuk mempelajari selengkapnya tentang autentikasi, lihat Autentikasi untuk Databricks CLI.
Autentikasi berbasis token memerlukan kata sandi teks biasa, sehingga hanya koneksi SSL yang diizinkan. Pastikan pustaka klien yang Anda gunakan untuk mengakses Postgres dengan autentikasi berbasis token dikonfigurasi untuk membuat koneksi SSL.
Mendapatkan token OAuth dalam alur pengguna-ke-komputer
Jika Anda adalah pemilik database, admin, atau identitas Azure Databricks Anda memiliki peran Postgres yang sesuai untuk instans database, Anda dapat memperoleh token OAuth dari UI, Databricks CLI, atau salah satu SDK Databricks. Anda dapat membatasi cakupan token dengan tepat menggunakan Databricks CLI.
Untuk pengguna identitas Azure Databricks lainnya, lihat Mengotorisasi akses pengguna ke Azure Databricks dengan OAuth untuk instruksi otorisasi tingkat ruang kerja untuk mendapatkan token OAuth.
Antarmuka Pengguna
Saat Status instance database Anda Tersedia, gunakan UI Azure Databricks untuk mendapatkan token OAuth.
- Klik
Aplikasi di sudut kanan atas dan pilih Lakebase Postgres.
- Klik Disediakan untuk membuka halaman Instans yang disediakan .
- Temukan dan klik nama instans database yang ingin Anda dapatkan token OAuth-nya.
- Klik tab Detail Koneksi.
- Klik Dapatkan Token OAuth. Bendera menunjukkan kapan token telah dibuat.
- Klik Salin OAuthToken untuk menyalin token ke clipboard Anda.
antarmuka baris perintah (CLI)
Saat Status instans database Anda Tersedia, gunakan Databricks CLI v0.256.0 atau versi lebih baru untuk mendapatkan token OAuth.
- Gunakan perintah berikut untuk mengambil token.
databricks database generate-database-credential \ --request-id $(uuidgen) \ --json '{ "instance_names": ["db-instance-name"] }' - Ini menghasilkan respons dalam format berikut. Salin
tokendari respons.{ "expiration_time": "2025-08-24T14:15:22Z", "token": "<string>" }
Untuk informasi selengkapnya tentang menggunakan Databricks CLI untuk mendapatkan token OAuth, lihat autentikasi OAuth user-to-machine (U2M).
Python SDK
Anda dapat menghasilkan token OAuth menggunakan Databricks SDK untuk Python. Pengikatan Azure Databricks SDK tersedia di Databricks SDK untuk versi Python v0.56.0.
Jika Anda menjalankan dengan versi SDK yang lebih lama, jalankan perintah ini terlebih dahulu.
%pip install --upgrade databricks-sdk
%restart_python
Databricks SDK untuk Python menghasilkan token OAuth yang aman, cred, untuk instans database Anda. Masukkan kredensial Anda jika diperlukan.
from databricks.sdk import WorkspaceClient
import uuid
w = WorkspaceClient()
instance_name = "<YOUR INSTANCE>"
cred = w.database.generate_database_credential(request_id=str(uuid.uuid4()), instance_names=[instance_name])
Java SDK
Anda dapat menghasilkan token OAuth menggunakan Databricks SDK untuk Java. Pengikatan SDK database tersedia di Databricks SDK untuk Java versi v0.53.0 atau lebih tinggi. Jika Anda menjalankan SDK versi lama, Anda mungkin perlu me-refresh SDK yang diimpor. Untuk informasi selengkapnya, lihat di sini.
%scala
import com.databricks.sdk.WorkspaceClient
import com.databricks.sdk.service.database.GetDatabaseInstanceRequest
import com.databricks.sdk.service.database.GenerateDatabaseCredentialRequest
import com.databricks.sdk.service.database.DatabaseInstance
import com.databricks.sdk.service.database.DatabaseCredential
import java.util.Collections
import java.util.UUID
val w = new WorkspaceClient()
val instanceName = "<YOUR INSTANCE>"
// Generate database credential
val cred = w.database().generateDatabaseCredential(
new GenerateDatabaseCredentialRequest()
.setRequestId(UUID.randomUUID().toString())
.setInstanceNames(Collections.singletonList(instanceName))
)
// Print out credential details
System.out.println("Credential: " + cred.getToken())
Mendapatkan token OAuth dalam alur mesin-ke-mesin
Untuk mengaktifkan akses yang aman dan otomatis (komputer-ke-mesin) ke instans database, Anda harus mendapatkan token OAuth menggunakan perwakilan layanan Azure Databricks. Proses ini melibatkan konfigurasi perwakilan layanan, menghasilkan kredensial, dan menambang token OAuth untuk autentikasi.
Konfigurasikan perwakilan layanan dengan kredensial yang berlaku tanpa batas waktu. Untuk petunjuknya, lihat Mengotorisasi akses perwakilan layanan ke Azure Databricks dengan OAuth.
Mencetak token OAuth baru sebagai prinsipal layanan.
antarmuka baris perintah (CLI)
Saat Status instans database Anda Tersedia, gunakan Databricks CLI v0.256.0 atau versi lebih baru untuk mendapatkan token OAuth.
Gunakan perintah berikut untuk mengambil token.
databricks database generate-database-credential \ --request-id $(uuidgen) \ --json '{ "instance_names": ["db-instance-name"] }'Ini menghasilkan respons dalam format berikut. Salin
tokendari respons.{ "expiration_time": "2025-08-24T14:15:22Z", "token": "<string>" }
Python SDK
Anda dapat menghasilkan token OAuth menggunakan Databricks SDK untuk Python. Pengikatan Azure Databricks SDK tersedia di Databricks SDK untuk versi Python v0.56.0.
Jika Anda menjalankan dengan versi SDK yang lebih lama, jalankan perintah ini terlebih dahulu.
%pip install --upgrade databricks-sdk %restart_pythonDatabricks SDK untuk Python menghasilkan token OAuth yang aman,
cred, untuk instans database Anda. Masukkan nama instans database Anda jika diperlukan.from databricks.sdk import WorkspaceClient import uuid w = WorkspaceClient( host = "https://<YOUR WORKSPACE URL>/", client_id = "<YOUR SERVICE PRINCIPAL ID>", client_secret = "REDACTED" ) instance_name = "<YOUR INSTANCE>" cred = w.database.generate_database_credential(request_id=str(uuid.uuid4()), instance_names=[instance_name])Java SDK
Anda dapat menghasilkan token OAuth menggunakan Databricks SDK untuk Java. Pengikatan SDK database tersedia di Databricks SDK untuk Java versi v0.53.0 atau lebih tinggi. Jika Anda menjalankan SDK versi lama, Anda mungkin perlu memperbarui ke SDK yang lebih baru. Untuk informasi selengkapnya, lihat di sini.
%scala import com.databricks.sdk.WorkspaceClient import com.databricks.sdk.core.DatabricksConfig import com.databricks.sdk.service.database.GetDatabaseInstanceRequest import com.databricks.sdk.service.database.GenerateDatabaseCredentialRequest import com.databricks.sdk.service.database.DatabaseInstance import com.databricks.sdk.service.database.DatabaseCredential import java.util.Collections import java.util.UUID val config = new DatabricksConfig() // See https://github.com/databricks/databricks-sdk-java#authentication val w = new WorkspaceClient(config) val instanceName = "<YOUR INSTANCE>" // Generate database credential val cred = w.database().generateDatabaseCredential( new GenerateDatabaseCredentialRequest() .setRequestId(UUID.randomUUID().toString()) .setInstanceNames(Collections.singletonList(instanceName)) ) // Print out credential details System.out.println("Credential: " + cred.getToken())
Nota
Putar token OAuth sebelum habis waktu setiap jam.
- Periksa waktu kedaluwarsa token OAuth pada setiap penggunaan dan refresh saat diperlukan.
- Atau, siapkan utas latar belakang untuk menyegarkan token OAuth yang sedang digunakan secara berkala.
Memecahkan masalah identitas token
Jika identitas token Anda tidak cocok dengan label keamanan, Anda mungkin menerima pesan kesalahan seperti berikut ini.
A valid oauth token was supplied but the token's identity "<USER>" did not match the security label configured for role "<SERVICE PRINCIPAL>". Please ensure that the token is generated for the correct databricks identity.
Jalankan perintah berikut untuk memeriksa identitas Azure Databricks mana yang dikembalikan:
antarmuka baris perintah (CLI)
databricks current-user me
Python SDK
w.current_user.me().user_name
Java SDK
w.currentUser.me().getUserName()
Jika identitas yang diharapkan tidak dikembalikan, verifikasi bahwa kredensial yang benar digunakan saat menginisialisasi klien ruang kerja.
Mengautentikasi dengan ID Microsoft Entra
Untuk Azure Databricks, identitas dan token ID Microsoft Entra juga dapat digunakan untuk mengautentikasi ke API Azure Databricks. Gunakan API ini untuk mendapatkan token untuk mengautentikasi ke Postgres.
Lihat Mengelola pengguna, perwakilan layanan, dan grup tentang cara mengelola identitas terkelola ID Microsoft Entra di Azure Databricks. Pengguna, grup, dan perwakilan layanan dari ID Microsoft Entra dapat dibuat di Azure Databricks. Setelah identitas ini ditambahkan ke Azure Databricks, Anda dapat menambahkannya ke instans database seperti yang dijelaskan dalam Mengelola peran PostgreSQL.
Untuk mengambil token ID Microsoft Entra, lihat yang berikut ini:
- Dapatkan token ID Microsoft Entra untuk Pengguna.
- Mendapatkan token ID Microsoft Entra untuk perwakilan layanan
Autentikasi sebagai grup Azure Databricks
Grup dan keanggotaan grup tidak disinkronkan dari Azure Databricks ke Postgres, dan izin Unity Catalog juga tidak. Namun, setelah grup Azure Databricks ditambahkan ke Postgres, setiap pengguna Azure Databricks dalam grup dapat masuk sebagai grup menggunakan kata sandi pengguna. Ini memungkinkan Anda mengelola izin di tingkat grup di Postgres. Setiap anggota langsung atau tidak langsung (pengguna atau perwakilan layanan) dari identitas grup Azure Databricks dapat mengautentikasi ke Postgres dan masuk sebagai peran Postgres grup Azure Databricks.
Saat mengautentikasi sebagai identitas grup menggunakan token pengguna atau perwakilan layanan, keanggotaan grup hanya divalidasi pada saat autentikasi. Setiap koneksi terbuka dengan token anggota grup tetap terbuka jika anggota dihapus dari grup setelah autentikasi. Setiap permintaan koneksi baru dari anggota grup yang dihapus ditolak selama autentikasi.
export PGPASSWORD='<OAuth token of a group member>'
export GROUPROLENAME=<pg-case-sensitive-group-role-name>
psql -h $HOSTNAME -p 5432 -d databricks_postgres -U $GROUPROLENAME
Hanya grup yang ditetapkan ke ruang kerja Azure Databricks dari instans database yang didukung untuk login Postgres berbasis grup. Untuk mempelajari cara menetapkan grup ke ruang kerja, lihat Menetapkan grup ke ruang kerja.
Mengautentikasi dengan peran dan kata sandi Postgres
Jika Anda memiliki klien yang tidak mendukung rotasi kredensial setelah satu jam, Anda dapat membuat peran Postgres asli dengan kata sandi:
Klik
Aplikasi di sudut kanan atas dan pilih Lakebase Postgres.
Klik Disediakan untuk membuka halaman Instans yang disediakan .
Pilih instans database yang ingin Anda perbarui.
Klik Edit di kanan atas.
Aktifkan Login Peran Asli Postgres.
Kliklah Simpan.
Masuk ke Postgres, atau gunakan Editor SQL, untuk membuat peran dengan kata sandi.
CREATE ROLE new_role LOGIN PASSWORD 'your strong password';Berikan izin Postgres tambahan ke peran baru. Lihat memberikan hak istimewa pada peran Postgres menggunakan PostgreSQL.
Langkah selanjutnya
Setelah mendapatkan kredensial (token OAuth atau kata sandi), Anda dapat terhubung ke instans database Anda: