Bagikan melalui


Id Microsoft Entra dan autentikasi PostgreSQL dengan Azure Cosmos DB for PostgreSQL

Penting

Azure Cosmos DB for PostgreSQL tidak lagi didukung untuk proyek baru. Jangan gunakan layanan ini untuk proyek baru. Sebagai gantinya, gunakan salah satu dari dua layanan ini:

Azure Cosmos DB for PostgreSQL mendukung autentikasi dan integrasi PostgreSQL dengan MICROSOFT Entra ID. Setiap kluster Azure Cosmos DB for PostgreSQL dibuat dengan autentikasi PostgreSQL asli diaktifkan dan satu peran PostgreSQL bawaan bernama citus. Anda dapat menambahkan lebih banyak peran PostgreSQL asli setelah provisi kluster selesai.

Anda juga dapat mengaktifkan autentikasi Microsoft Entra ID (sebelumnya Azure Active Directory) pada kluster selain metode autentikasi PostgreSQL atau bukannya. Anda dapat mengonfigurasi metode autentikasi pada setiap kluster Azure Cosmos DB for PostgreSQL secara independen. Jika Anda perlu mengubah metode autentikasi, Anda dapat melakukannya kapan saja setelah provisi kluster selesai. Mengubah metode autentikasi tidak memerlukan mulai ulang kluster.

Autentikasi PostgreSQL

Mesin PostgreSQL menggunakan peran untuk mengontrol akses ke objek database. Kluster Azure Cosmos DB for PostgreSQL yang baru dibuat dilengkapi dengan beberapa peran yang telah ditentukan sebelumnya:

Karena Azure Cosmos DB for PostgreSQL adalah layanan PaaS terkelola, hanya Microsoft yang dapat masuk dengan postgres peran superuser. Untuk akses administratif terbatas, Azure Cosmos DB for PostgreSQL menyediakan peran citus tersebut.

Layanan terkelola perlu mereplikasi semua peran PostgreSQL ke semua simpul dalam kluster. Untuk memfasilitasi persyaratan ini, semua peran PostgreSQL lainnya perlu dibuat menggunakan kemampuan manajemen Azure Cosmos DB for PostgreSQL.

Peran Citus

Izin untuk peran citus:

  • Membaca semua variabel konfigurasi, termasuk variabel yang biasanya hanya terlihat oleh superuser.
  • Baca semua tampilan pg_stat_* dan gunakan berbagai ekstensi terkait statistik--bahkan tampilan atau ekstensi yang biasanya hanya terlihat oleh superuser.
  • Jalankan fungsi pemantauan yang mungkin mengambil kunci ACCESS SHARE pada tabel, yang mungkin berlangsung lama.
  • Membuat ekstensi PostgreSQL.

Terutama, peran citus memiliki beberapa batasan:

  • Tidak dapat membuat peran
  • Tidak dapat membuat database

citus peran tidak dapat dihapus tetapi akan dinonaktifkan jika metode autentikasi 'hanya autentikasi ID Microsoft Entra' dipilih pada kluster.

Autentikasi ID Microsoft Entra

Autentikasi MICROSOFT Entra ID (sebelumnya Azure Active Directory) adalah mekanisme menyambungkan ke Azure Cosmos DB for PostgreSQL menggunakan identitas yang ditentukan dalam ID Microsoft Entra. Dengan autentikasi ID Microsoft Entra, Anda dapat mengelola identitas pengguna database dan layanan Microsoft lainnya di lokasi pusat, yang menyederhanakan manajemen izin.

Manfaat menggunakan ID Microsoft Entra meliputi:

  • Autentikasi pengguna di seluruh Layanan Azure dengan cara yang seragam
  • Manajemen kebijakan kata sandi dan rotasi kata sandi di satu tempat
  • Beberapa bentuk autentikasi yang didukung oleh MICROSOFT Entra ID, yang dapat menghilangkan kebutuhan untuk menyimpan kata sandi
  • Autentikasi ID Microsoft Entra menggunakan peran database PostgreSQL untuk mengautentikasi identitas di tingkat database
  • Dukungan autentikasi berbasis token untuk aplikasi yang terhubung ke Azure Cosmos DB for PostgreSQL

Mengelola akses PostgreSQL untuk prinsipal ID Microsoft Entra

Saat autentikasi ID Microsoft Entra diaktifkan dan prinsipal ID Microsoft Entra ditambahkan sebagai administrator ID Microsoft Entra, akun mendapatkan hak istimewa yang sama dengan citus tersebut. Masuk administrator ID Microsoft Entra dapat berupa pengguna ID Microsoft Entra, Prinsipal Layanan, atau Identitas Terkelola. Beberapa administrator ID Microsoft Entra dapat dikonfigurasi kapan saja dan Anda dapat secara opsional menonaktifkan autentikasi PostgreSQL (kata sandi) ke kluster Azure Cosmos DB for PostgreSQL untuk kebutuhan audit dan kepatuhan yang lebih baik.

Selain itu, sejumlah peran ID Microsoft Entra nonadmin dapat ditambahkan ke kluster kapan saja setelah autentikasi ID Microsoft Entra diaktifkan. Izin database untuk peran ID Microsoft Entra nonadmin dikelola mirip dengan peran reguler.

Terhubung menggunakan identitas Microsoft Entra ID

Autentikasi ID Microsoft Entra mendukung metode menyambungkan ke database berikut menggunakan identitas ID Microsoft Entra:

  • Kata Sandi Microsoft Entra ID
  • Microsoft Entra ID yang terintegrasi
  • Microsoft Entra ID Universal dengan MFA
  • Menggunakan sertifikat Aplikasi ID Microsoft Entra atau rahasia klien
  • Identitas Terkelola

Setelah mengautentikasi terhadap ID Microsoft Entra, Anda kemudian mengambil token. Token ini adalah kata sandi Anda untuk masuk.

Pertimbangan lain

  • Beberapa prinsipal ID Microsoft Entra (pengguna, perwakilan layanan, atau identitas terkelola) dapat dikonfigurasi sebagai administrator ID Microsoft Entra untuk kluster Azure Cosmos DB for PostgreSQL kapan saja.
  • Jika perwakilan ID Microsoft Entra dihapus dari layanan ID Microsoft Entra, peran tersebut masih tetap ada sebagai peran PostgreSQL pada kluster, tetapi tidak lagi dapat memperoleh token akses baru. Dalam hal ini, meskipun peran yang cocok masih ada di database Postgres, peran tersebut tidak dapat mengautentikasi ke node kluster. Administrator database perlu mentransfer kepemilikan dan menghilangkan peran tersebut secara manual.

Catatan

Masuk dengan pengguna ID Microsoft Entra yang dihapus masih dapat dilakukan sampai token kedaluwarsa (hingga 90 menit dari penerbitan token). Jika Anda juga menghapus pengguna dari kluster Azure Cosmos DB for PostgreSQL, akses ini akan segera dicabut.

  • Azure Cosmos DB for PostgreSQL mencocokkan token akses dengan peran database menggunakan ID unik Microsoft Entra pengguna, bukan menggunakan nama pengguna. Jika pengguna ID Microsoft Entra dihapus dan pengguna baru dibuat dengan nama yang sama, Azure Cosmos DB for PostgreSQL menganggap bahwa pengguna yang berbeda. Oleh karena itu, jika pengguna dihapus dari ID Microsoft Entra dan pengguna baru ditambahkan dengan nama yang sama, pengguna baru tidak akan dapat terhubung dengan peran yang ada.

Langkah berikutnya