Menggunakan autentikasi Microsoft Entra

Berlaku untuk:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Artikel ini memberikan gambaran umum tentang menggunakan MICROSOFT Entra ID (sebelumnya Azure Active Directory) untuk mengautentikasi ke Azure SQL Database, Azure SQL Managed Instance, SQL Server di VM Windows Azure, Synapse SQL di Azure Synapse Analytics , dan SQL Server untuk Windows dan Linux.

Untuk mempelajari cara membuat dan mengisi ID Microsoft Entra, lalu mengonfigurasi ID Microsoft Entra dengan Azure SQL Database, Azure SQL Managed Instance, dan Synapse SQL di Azure Synapse Analytics, tinjau Mengonfigurasi ID Microsoft Entra dan ID Microsoft Entra dengan SQL Server di Azure VM.

Catatan

ID Microsoft Entra sebelumnya dikenal sebagai Azure Active Directory (Azure AD).

Gambaran Umum

Dengan autentikasi Microsoft Entra, Anda dapat mengelola identitas pengguna database secara terpusat dan layanan Microsoft lainnya dari satu lokasi terpusat. Manajemen ID Pusat menyediakan satu tempat untuk mengelola pengguna database dan menyederhanakan manajemen izin. Manfaatnya meliputi:

  • Menyediakan alternatif untuk autentikasi SQL Server.

  • Membantu menghentikan proliferasi identitas pengguna di seluruh server database.

  • Mengizinkan rotasi kata sandi di satu tempat.

  • Pelanggan dapat mengelola izin database menggunakan grup Microsoft Entra.

  • Ini dapat menghilangkan penyimpanan kata sandi dengan mengaktifkan autentikasi Windows terintegrasi dan bentuk autentikasi lain yang didukung oleh ID Microsoft Entra.

  • Autentikasi Microsoft Entra menggunakan pengguna database mandiri untuk mengautentikasi identitas di tingkat database.

  • MICROSOFT Entra ID mendukung autentikasi berbasis token untuk aplikasi yang terhubung ke SQL Database dan SQL Managed Instance.

  • Autentikasi Microsoft Entra mendukung:

    • Identitas khusus cloud Microsoft Entra.
    • Identitas hibrid Microsoft Entra yang mendukung:
      • Autentikasi Cloud dengan dua opsi dipasangkan dengan autentikasi akses Pass-through menyeluruh (SSO) tanpa batas dan autentikasi hash kata sandi.
      • Autentikasi terfederasi.
    • Untuk informasi selengkapnya tentang metode autentikasi Microsoft Entra dan mana yang harus dipilih, lihat artikel berikut ini:
  • SQL Server Management Studio mendukung koneksi yang menggunakan Microsoft Entra dengan autentikasi multifaktor. Autentikasi multifaktor menyediakan autentikasi yang kuat dengan berbagai opsi verifikasi yang mudah — panggilan telepon, pesan teks, kartu pintar dengan pin, atau pemberitahuan aplikasi seluler. Untuk informasi selengkapnya, lihat Dukungan SSMS untuk autentikasi multifaktor Microsoft Entra dengan Azure SQL Database, SQL Managed Instance, dan Azure Synapse

  • SQL Server Data Tools (SSDT) juga mendukung berbagai opsi autentikasi dengan ID Microsoft Entra. Untuk informasi selengkapnya, lihat Dukungan ID Microsoft Entra di SQL Server Data Tools (SSDT).

Langkah-langkah konfigurasi mencakup prosedur berikut untuk mengonfigurasi dan menggunakan autentikasi Microsoft Entra.

  1. Membuat dan mengisi penyewa Microsoft Entra.
  2. Opsional: Kaitkan atau ubah direktori saat ini yang terkait dengan Langganan Azure Anda.
  3. Buat administrator Microsoft Entra.
  4. Mengonfigurasikan komputer klien Anda.
  5. Buat pengguna database mandiri dalam database Anda yang dipetakan ke identitas Microsoft Entra.
  6. Koneksi ke database Anda dengan identitas Microsoft Entra.

Catatan

Untuk Azure SQL, Azure VM, dan SQL Server 2022, autentikasi Microsoft Entra hanya mendukung token akses yang berasal dari ID Microsoft Entra dan tidak mendukung token akses pihak ketiga. ID Microsoft Entra juga tidak mendukung pengalihan kueri ID Microsoft Entra ke titik akhir pihak ketiga. Ini berlaku untuk semua platform SQL dan semua sistem operasi yang mendukung autentikasi Microsoft Entra.

Arsitektur kepercayaan

  • Hanya bagian cloud dari ID Microsoft Entra, SQL Database, SQL Managed Instance, SQL Server di VM Windows Azure, dan Azure Synapse yang dianggap mendukung kata sandi pengguna asli Microsoft Entra.
  • Untuk mendukung kredensial akses menyeluruh Windows (atau pengguna/kata sandi untuk kredensial Windows), gunakan kredensial Microsoft Entra dari domain federasi atau terkelola yang dikonfigurasi untuk akses menyeluruh tanpa hambatan untuk autentikasi hash pass-through dan kata sandi. Untuk informasi selengkapnya, lihat Single sign-on tanpa hambatan Microsoft Entra.
  • Untuk mendukung autentikasi Federasi (atau pengguna/kata sandi untuk info masuk Windows), diperlukan komunikasi dengan blok ADFS.

Untuk informasi selengkapnya tentang identitas hibrid Microsoft Entra, penyiapan, dan sinkronisasi, lihat artikel berikut ini:

Untuk contoh autentikasi terfederasi dengan infrastruktur ADFS (atau pengguna/kata sandi untuk kredensial Windows), lihat diagram di bawah ini. Tanda panah menunjukkan jalur komunikasi.

Diagram of Microsoft Entra authentication for Azure SQL.

Diagram berikut menunjukkan hubungan federasi, kepercayaan, dan hosting yang memungkinkan klien menyambungkan ke database dengan mengirimkan token. Token diautentikasi oleh ID Microsoft Entra, dan dipercaya oleh database. Pelanggan 1 dapat mewakili ID Microsoft Entra dengan pengguna asli atau ID Microsoft Entra dengan pengguna federasi. Pelanggan 2 mewakili solusi yang mungkin termasuk pengguna yang diimpor, dalam contoh ini berasal dari ID Microsoft Entra federasi dengan ADFS yang disinkronkan dengan ID Microsoft Entra. Penting untuk dipahami bahwa akses ke database menggunakan autentikasi Microsoft Entra mengharuskan langganan hosting dikaitkan dengan ID Microsoft Entra. Langganan yang sama harus digunakan untuk membuat sumber daya Azure SQL Database, SQL Managed Instance, atau Azure Synapse.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

Struktur admin

Saat menggunakan autentikasi Microsoft Entra, ada dua akun Administrator: administrator Azure SQL Database asli dan administrator Microsoft Entra. Konsep yang sama berlaku untuk Azure Synapse. Hanya administrator berdasarkan akun Microsoft Entra yang dapat membuat pengguna database berisi ID Microsoft Entra pertama dalam database pengguna. Login administrator Microsoft Entra dapat menjadi pengguna Microsoft Entra atau grup Microsoft Entra. Ketika administrator adalah akun grup, administrator dapat digunakan oleh anggota grup mana pun, mengaktifkan beberapa administrator Microsoft Entra untuk server. Menggunakan akun grup sebagai administrator meningkatkan pengelolaan dengan memungkinkan Anda menambahkan dan menghapus anggota grup secara terpusat di ID Microsoft Entra tanpa mengubah pengguna atau izin di SQL Database atau Azure Synapse. Hanya satu administrator Microsoft Entra (pengguna atau grup) yang dapat dikonfigurasi kapan saja.

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Catatan

Autentikasi Microsoft Entra dengan Azure SQL hanya mendukung satu penyewa Microsoft Entra tempat sumber daya Azure SQL saat ini berada. Semua objek Microsoft Entra dari penyewa ini dapat disiapkan karena pengguna mengizinkan akses ke Azure SQL di penyewa ini. Admin Microsoft Entra juga harus berasal dari penyewa sumber daya Azure SQL. Autentikasi multi-penyewa Microsoft Entra yang mengakses Azure SQL dari penyewa yang berbeda tidak didukung.

Izin

Untuk membuat pengguna baru, Anda harus memiliki izin ALTER ANY USER dalam database. Izin ALTER ANY USER dapat diberikan kepada pengguna database mana pun. Izin ALTER ANY USER juga dipegang oleh akun administrator server, dan pengguna database dengan izin CONTROL ON DATABASE atau ALTER ON DATABASE untuk database tersebut, dan oleh anggota peran database db_owner.

Untuk membuat pengguna database mandiri di Azure SQL Database, Azure SQL Managed Instance, atau Azure Synapse, Anda harus menyambungkan ke database atau instans menggunakan identitas Microsoft Entra. Untuk membuat pengguna database mandiri pertama, Anda harus menyambungkan ke database dengan menggunakan administrator Microsoft Entra (yang merupakan pemilik database). Ini ditunjukkan dalam Mengonfigurasi dan mengelola autentikasi Microsoft Entra dengan SQL Database atau Azure Synapse. Autentikasi Microsoft Entra hanya dimungkinkan jika admin Microsoft Entra dibuat untuk Azure SQL Database, Azure SQL Managed Instance, atau Azure Synapse. Jika admin Microsoft Entra dihapus dari server, pengguna Microsoft Entra yang sudah ada yang dibuat sebelumnya di dalam server tidak dapat lagi tersambung ke database menggunakan kredensial Microsoft Entra mereka.

Fitur dan batasan Microsoft Entra

  • Anggota ID Microsoft Entra berikut dapat disediakan untuk Azure SQL Database:

    • Pengguna Microsoft Entra: Semua jenis pengguna di penyewa Microsoft Entra, termasuk internal, eksternal, tamu, dan anggota. Anggota domain Direktori Aktif yang dikonfigurasi untuk federasi dengan ID Microsoft Entra juga didukung, dan dapat dikonfigurasi untuk akses menyeluruh yang mulus.
    • Aplikasi: aplikasi yang ada di Azure dapat menggunakan perwakilan layanan atau identitas terkelola untuk mengautentikasi langsung ke Azure SQL Database. Menggunakan identitas terkelola untuk autentikasi lebih disukai karena tanpa kata sandi dan menghilangkan kebutuhan akan kredensial yang dikelola pengembang.
    • Grup Microsoft Entra, yang dapat menyederhanakan manajemen akses di seluruh organisasi Anda dengan mengelola akses pengguna dan aplikasi yang sesuai berdasarkan keanggotaan grup mereka.
  • Pengguna Microsoft Entra yang merupakan bagian dari grup yang merupakan anggota db_owner peran database tidak dapat menggunakan sintaksIS CREATE DATABASE SCOPED CREDENTIAL terhadap Azure SQL Database dan Azure Synapse. Anda akan melihat kesalahan berikut:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.

    Untuk mengurangi masalah CREATE DATABASE SCOPED CREDENTIAL , tambahkan peran pengguna Microsoft Entra individual secara db_owner langsung.

  • Fungsi sistem ini tidak didukung dan mengembalikan nilai NULL saat dijalankan oleh perwakilan Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Azure SQL Database tidak membuat pengguna implisit untuk pengguna yang masuk sebagai bagian dari keanggotaan grup Microsoft Entra. Karena itu, berbagai operasi yang memerlukan penetapan kepemilikan akan gagal, bahkan jika grup Microsoft Entra ditambahkan sebagai anggota ke peran dengan izin tersebut.

    Misalnya, pengguna yang masuk ke database melalui grup Microsoft Entra dengan peran db_ddladmin , tidak akan dapat menjalankan CREATE SCHEMA, ALTER SCHEMA, dan pernyataan pembuatan objek lainnya tanpa skema yang ditentukan secara eksplisit (seperti tabel, tampilan, atau jenis, misalnya). Untuk mengatasi hal ini, pengguna Microsoft Entra harus dibuat untuk pengguna tersebut, atau grup Microsoft Entra harus diubah untuk menetapkan DEFAULT_SCHEMA ke dbo.

Instans Terkelola SQL

  • Perwakilan server Microsoft Entra (login) dan pengguna didukung untuk SQL Managed Instance.

  • Mengatur login Microsoft Entra yang dipetakan ke grup Microsoft Entra sebagai pemilik database tidak didukung di SQL Managed Instance.

    • Ekstensi ini adalah bahwa ketika grup ditambahkan sebagai bagian dbcreator dari peran server, pengguna dari grup ini dapat terhubung ke SQL Managed Instance dan membuat database baru, tetapi tidak akan dapat mengakses database. Ini karena pemilik database baru adalah SA, dan bukan pengguna Microsoft Entra. Masalah ini tidak bermanifestasi jika pengguna individual ditambahkan ke dbcreator peran server.
  • Manajemen Agen SQL dan eksekusi pekerjaan didukung untuk login Microsoft Entra.

  • Operasi pencadangan dan pemulihan database dapat dijalankan oleh prinsipal server Microsoft Entra (login).

  • Audit semua pernyataan yang terkait dengan perwakilan server Microsoft Entra (login) dan peristiwa autentikasi didukung.

  • Koneksi administrator khusus untuk prinsipal server Microsoft Entra (login) yang merupakan anggota peran server sysadmin didukung.

    • Didukung melalui SQLCMD Utility dan SQL Server Management Studio.
  • Pemicu masuk didukung untuk peristiwa masuk yang berasal dari prinsipal server Microsoft Entra (login).

  • Service Broker dan DB mail dapat disiapkan menggunakan perwakilan server Microsoft Entra (login).

Tersambung dengan menggunakan identitas Microsoft Entra

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

  • Kata Sandi Microsoft Entra
  • Microsoft Entra terintegrasi
  • Microsoft Entra Universal dengan autentikasi multifaktor
  • Menggunakan autentikasi token aplikasi

Metode autentikasi berikut didukung untuk prinsipal server Microsoft Entra (masuk):

  • Kata Sandi Microsoft Entra
  • Microsoft Entra terintegrasi
  • Microsoft Entra Universal dengan autentikasi multifaktor

Pertimbangan tambahan

  • Untuk meningkatkan pengelolaan, kami sarankan Anda menyediakan grup Microsoft Entra khusus sebagai administrator.
  • Hanya satu administrator Microsoft Entra (pengguna atau grup) yang dapat dikonfigurasi untuk server di SQL Database atau Azure Synapse kapan saja.
    • Penambahan prinsipal server Microsoft Entra (login) untuk SQL Managed Instance memungkinkan kemungkinan membuat beberapa prinsipal server Microsoft Entra (login) yang dapat ditambahkan ke peran tersebut sysadmin .
  • Hanya administrator Microsoft Entra untuk server yang awalnya dapat tersambung ke server atau instans terkelola menggunakan akun Microsoft Entra. Administrator Microsoft Entra dapat mengonfigurasi pengguna database Microsoft Entra berikutnya.
  • Pengguna Microsoft Entra dan perwakilan layanan (aplikasi Microsoft Entra) yang merupakan anggota lebih dari 2048 grup keamanan Microsoft Entra tidak didukung untuk masuk ke database di SQL Database, SQL Managed Instance, atau Azure Synapse.
  • Sebaiknya atur batas waktu koneksi ke 30 detik.
  • SQL Server 2016 Management Studio dan SQL Server Data Tools for Visual Studio 2015 (versi 14.0.60311.1April 2016 atau yang lebih baru) mendukung autentikasi Microsoft Entra. (Autentikasi Microsoft Entra didukung oleh Penyedia Data .NET Framework untuk SqlServer; setidaknya versi .NET Framework 4.6). Oleh karena itu, versi terbaru dari alat dan aplikasi tingkat data ini (DAC dan BACPAC) dapat menggunakan autentikasi Microsoft Entra.
  • Dimulai dengan versi 15.0.1, utilitas sqlcmd dan utilitas bcp mendukung autentikasi Interaktif Direktori Aktif dengan autentikasi multifaktor.
  • SQL Server Data Tools fo Visual Studio 2015 memerlukan setidaknya Data Tools versi April 2016 (versi 14.0.60311.1). Saat ini, pengguna Microsoft Entra tidak ditampilkan di SSDT Object Explorer. Sebagai solusinya, lihat pengguna di sys.database_principals.
  • Microsoft JDBC Driver 6.0 untuk SQL Server mendukung autentikasi Microsoft Entra. Lihat juga, Mengatur Properti Koneksi.
  • PolyBase tidak dapat mengautentikasi dengan menggunakan autentikasi Microsoft Entra.
  • Autentikasi Microsoft Entra didukung untuk Azure SQL Database dan Azure Synapse dengan menggunakan bilah Portal Azure Impor Database dan Ekspor Database. Impor dan ekspor menggunakan autentikasi Microsoft Entra juga didukung dari perintah PowerShell.
  • Autentikasi Microsoft Entra didukung untuk SQL Database, SQL Managed Instance, dan Azure Synapse dengan menggunakan CLI. Untuk informasi selengkapnya, lihat Mengonfigurasi dan mengelola autentikasi Microsoft Entra dengan SQL Database atau Azure Synapse dan SQL Server - az sql server.

Langkah berikutnya