Ringkasan Active Directory

Pilih versi dokumentasi:

Halaman ini menjelaskan cara PostgreSQL terintegrasi dengan Direktori Aktif di AlloyDB Omni menggunakan Generic Security Services Application Programming Interface (GSSAPI), dan memperkenalkan konsep utama Kerberos. Kerberos adalah protokol autentikasi yang mendukung Active Directory.

Active Directory adalah layanan direktori yang dikembangkan oleh Microsoft untuk jaringan domain Windows. Active Directory adalah sistem terpusat dan standar yang mengotomatiskan pengelolaan jaringan data pengguna, keamanan, dan resource terdistribusi. Layanan direktori ini menyediakan satu titik administrasi untuk akun pengguna, grup, dan objek jaringan lainnya. Fungsi utama Active Directory adalah autentikasi, yang mengonfirmasi identitas dan otorisasi pengguna, serta memberikan akses pengguna ke resource tertentu di jaringan.

Komponen Active Directory

Realm adalah domain administratif untuk autentikasi Kerberos. Dalam konteks Active Directory, realm setara dengan domain Active Directory. Realm mewakili grup logis pengguna, komputer, dan layanan yang berbagi database autentikasi yang sama. Saat mengonfigurasi Kerberos, Anda harus menentukan realm tempat klien dan layanan Anda berada. Realm adalah versi huruf besar dari nama domain—misalnya, jika domainnya adalah ad.example.com, maka realm-nya adalah AD.EXAMPLE.COM.

Key Distribution Center (KDC) adalah layanan Kerberos inti yang berjalan di setiap pengontrol domain di Active Directory. KDC memiliki fungsi utama berikut:

  • Layanan Autentikasi (AS): memverifikasi identitas pengguna saat login awal, misalnya, saat Anda login ke Windows, dan menerbitkan Ticket-Granting Ticket (TGT).
  • Ticket-Granting Service (TGS): menerbitkan tiket layanan kepada pengguna yang diautentikasi yang menunjukkan TGT yang valid. Tiket layanan ini memberikan akses ke layanan tertentu, seperti database PostgreSQL.

Principal adalah identitas unik di realm Kerberos yang dapat diberi tiket. Berikut jenis utama akun utama:

  • Akun utama pengguna: merepresentasikan pengguna manusia—misalnya, username@REALM.
  • Akun utama layanan (SPN): mewakili layanan tertentu di host tertentu—misalnya, postgres/db-server.ad.example.com@REALM. Agar klien dapat meminta tiket layanan untuk database Anda, layanan database harus memiliki SPN terdaftar.

File keytab atau file tabel kunci berisi daftar akun utama dan kunci rahasia yang sesuai, yang berasal dari sandi akun utama. Layanan menggunakan file keytab untuk membuktikan identitasnya ke KDC dan untuk mendekripsi tiket layanan yang diberikan oleh klien.

Pendekatan ini memungkinkan layanan seperti PostgreSQL mengautentikasi dirinya ke sistem Kerberos tanpa memerlukan interaksi manusia atau menyimpan sandi teks biasa di server. File keytab sangat sensitif dan harus disimpan dan dilindungi dengan aman.

Integrasi PostgreSQL dengan Active Directory

Dengan mengintegrasikan PostgreSQL dengan Active Directory, Anda akan mendapatkan pengelolaan pengguna yang terpusat berdasarkan identitas perusahaan, yang meningkatkan keamanan database Anda.

Untuk mendukung autentikasi, PostgreSQL menawarkan metode berikut untuk berintegrasi dengan Active Directory:

  • Lightweight Directory Access Protocol (LDAP): Anda dapat mengonfigurasi PostgreSQL untuk mengautentikasi pengguna terhadap server Active Directory menggunakan protokol LDAP. Saat pengguna mencoba terhubung ke database, PostgreSQL berkomunikasi dengan server Active Directory melalui LDAP untuk memverifikasi kredensial pengguna, yang biasanya berupa nama pengguna dan sandi. Metode ini menggunakan Active Directory sebagai penyedia autentikasi eksternal.

  • Generic Security Services Application Program Interface (GSSAPI) dengan Kerberos: ini adalah metode yang lebih aman dan kompleks yang menggunakan protokol Kerberos, yang merupakan mekanisme autentikasi default di Active Directory. GSSAPI menyediakan antarmuka standar bagi aplikasi untuk mengakses layanan keamanan.

Meskipun LDAP dan GSSAPI mencapai tujuan integrasi Active Directory, GSSAPI dengan Kerberos adalah pendekatan yang lebih aman dan andal untuk lingkungan perusahaan karena autentikasi kriptografinya yang kuat dan berbasis tiket. Halaman ini membahas penerapan integrasi Active Directory untuk AlloyDB Omni menggunakan metode GSSAPI.

Autentikasi Active Directory dengan GSSAPI

AlloyDB Omni memungkinkan Anda melakukan autentikasi melalui Kerberos menggunakan Active Directory sebagai backend autentikasi. Langkah-langkah untuk mencapai autentikasi ditunjukkan dalam diagram berikut.

gambar

  1. Klien psql memulai permintaan autentikasi menggunakan Layanan Autentikasi (AS) di Key Distribution Center (KDC).
  2. AS mengautentikasi klien dan menerbitkan Ticket Granting Ticket (TGT) (T1) kepada klien. TGT kemudian digunakan untuk meminta tiket layanan.
  3. Klien menggunakan TGT untuk meminta tiket layanan dari Ticket Granting Service (TGS) di KDC untuk layanan PostgreSQL. Klien kini meminta akses ke server PostgreSQL tertentu.
  4. TGS memvalidasi TGT dan menerbitkan tiket layanan (T2) kepada klien. Tiket ini berisi kunci sesi (T3) dan dienkripsi menggunakan kunci rahasia server PostgreSQL.
  5. Klien mengirimkan tiket layanan terenkripsi (T2) ke server PostgreSQL.
  6. Server PostgreSQL menggunakan kuncinya (dari file keytab) untuk mendekripsi tiket layanan (T2), lalu server mengambil kunci sesi (T3) dan memverifikasi keaslian tiket. Jika operasi ini berhasil, server akan memberikan akses dan membuat saluran komunikasi yang aman dengan klien menggunakan kunci sesi.

Langkah berikutnya