Menggunakan autentikasi Azure Active Directory
BERLAKU UNTUK:
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Autentikasi Azure Active Directory (Azure AD) adalah mekanisme untuk menyambungkan ke Azure SQL Database, Azure SQL Managed Instance, dan Synapse SQL di Azure Synapse Analytics dengan menggunakan identitas di Azure AD.
Catatan
Artikel ini berlaku untuk Azure SQL Database dan Azure SQL Managed Instance, dan Azure Synapse Analytics.
Dengan autentikasi Azure AD, Anda dapat mengelola identitas pengguna database dan layanan Microsoft lainnya secara terpusat di satu lokasi. Manajemen ID Pusat menyediakan satu tempat untuk mengelola pengguna database dan menyederhanakan pengelolaan 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 eksternal (Azure AD).
Dapat menghapus penyimpanan kata sandi dengan mengaktifkan autentikasi Windows terintegrasi dan bentuk autentikasi lain yang didukung oleh Azure Active Directory.
Autentikasi Azure AD menggunakan pengguna database mandiri untuk mengautentikasi identitas di tingkat database.
Azure AD mendukung autentikasi berbasis token untuk aplikasi yang menyambungkan ke SQL Database dan SQL Managed Instance.
Autentikasi Azure AD mendukung:
- Identitas khusus cloud Azure AD.
- Identitas hibrid Azure AD 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 mengetahui informasi selengkapnya metode autentikasi Azure AD dan mana yang harus dipilih, lihat artikel berikut ini:
Azure AD mendukung koneksi dari SQL Server Management Studio yang menggunakan Active Directory Universal Authentication, yang mencakup Autentikasi Multifaktor (MFA). Autentikasi Multifaktor menyertakan 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 Azure AD dengan Azure SQL Database, SQL Managed Instance, dan Azure Synapse
Azure AD mendukung koneksi serupa dari SQL Server Data Tools (SSDT) yang menggunakan Active Directory Interactive Authentication. Untuk mengetahui informasi selengkapnya, lihat Dukungan Azure Active Directory di SQL Server Data Tools (SSDT)
Catatan
Menyambungkan ke instans SQL Server yang berjalan di mesin virtual (VM) Azure tidak didukung menggunakan Azure Active Directory atau Azure Active Directory Domain Services. Gunakan akun domain Active Directory sebagai gantinya.
Langkah-langkah konfigurasi mencakup prosedur berikut untuk mengonfigurasi dan menggunakan autentikasi Azure Active Directory.
- Membuat dan mengisi Azure AD.
- Opsional: Mengaitkan atau mengubah direktori aktif yang saat ini terkait dengan Langganan Azure Anda.
- Membuat administrator Azure Active Directory.
- Mengonfigurasikan komputer klien Anda.
- Membuat pengguna database mandiri dalam database Anda yang dipetakan ke identitas Azure AD.
- Menyambungkan ke database Anda dengan menggunakan identitas Azure AD.
Catatan
Untuk mempelajari cara membuat dan mengisi Azure AD, lalu mengonfigurasi Azure AD dengan Azure SQL Database, SQL Managed Instance, dan Synapse SQL di Azure Synapse Analytics, lihat Mengonfigurasi Azure AD dengan Azure SQL Database.
Arsitektur kepercayaan
- Hanya bagian cloud dari Azure AD, SQL Database, SQL Managed Instance, dan Azure Synapse yang dianggap mendukung kata sandi pengguna asli Azure AD.
- Untuk mendukung kredensial akses menyeluruh Windows (atau kredensial pengguna/kata sandi untuk Windows), gunakan kredensial Azure Active Directory dari domain terfederasi atau terkelola yang dikonfigurasi akses untuk autentikasi pass-through menyeluruh tanpa batas dan hash kata sandi. Untuk informasi selengkapnya, lihat Akses Menyeluruh tanpa batas Azure Active Directory.
- Untuk mendukung autentikasi Ffederasi (atau pengguna/kata sandi untuk kredensial Windows), diperlukan komunikasi dengan blok ADFS.
Untuk informasi selengkapnya identitas hibrid Azure AD, penyetelan, dan sinkronisasi, lihat artikel berikut ini:
- Autentikasi hash kata sandi - Menerapkan sinkronisasi hash kata sandi dengan sinkronisasi Azure AD Connect
- Autentikasi pass-through - Autentikasi Pass-through Azure Active Directory
- Autentikasi Terfederasi - Menerapkan Layanan Federasi Direktori Aktif di Azure dan Azure AD Connect dan federasi
Untuk contoh autentikasi terfederasi dengan infrastruktur ADFS (atau pengguna/kata sandi untuk kredensial Windows), lihat diagram di bawah ini. Panah menunjukkan jalur komunikasi.

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

Struktur administrator
Saat menggunakan autentikasi Azure AD, terdapat dua akun Administrator: administrator Azure SQL Database asli dan administrator Azure AD. Konsep yang sama berlaku untuk Azure Synapse. Hanya administrator dengan akun Azure AD yang bisa membuat pengguna database mandiri Azure AD pertama dalam database pengguna. Masuk administrator Azure AD bisa dari pengguna Azure AD atau grup Azure AD. Ketika administratornya adalah akun grup, fungsi administrator dapat digunakan oleh semua anggota grup, memungkinkan beberapa administrator Azure AD untuk server tersebut. Menggunakan akun grup sebagai administrator meningkatkan pengelolaan dengan memungkinkan Anda menambahkan dan menghapus anggota grup secara terpusat di Azure AD tanpa mengubah pengguna atau izin di SQL Database atau Azure Synapse. Hanya satu administrator Azure AD (pengguna atau grup) yang dapat dikonfigurasi kapan saja.

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, SQL Managed Instance, atau Azure Synapse, Anda harus menyambungkan ke database atau instans menggunakan identitas Azure AD. Untuk membuat pengguna database mandiri yang pertama, Anda harus tersambung ke database dengan menggunakan administrator Azure AD (yang merupakan pemilik database). Ini ditunjukkan dalam Mengonfigurasi dan mengelola autentikasi Azure Active Directory dengan SQL Database atau Azure Synapse. Autentikasi Azure AD hanya dimungkinkan jika admin Azure AD dibuat untuk Azure SQL Database, SQL Managed Instance, atau Azure Synapse. Jika admin Azure Active Directory dihapus dari server, pengguna Azure Active Directory yang dibuat sebelumnya di dalam SQL Server tidak bisa lagi tersambung ke database menggunakan kredensial Azure Active Directory mereka.
Fitur dan batasan Azure AD
Anggota Azure AD berikut ini dapat diprovisikan untuk Azure SQL Database:
- Anggota asli: Anggota yang dibuat di Azure AD, di domain terkelola atau di domain pelanggan. Untuk informasi selengkapnya, lihat Menambahkan nama domain Anda sendiri ke Azure AD.
- Anggota domain direktori aktif yang terfederasi dengan Azure Active Directory pada domain terkelola yang dikonfigurasi untuk autentikasi pass-through SSO atau hash kata sandi. Untuk informasi selengkapnya, lihat Microsoft Azure sekarang mendukung federasi dengan Active Directory lokal dan SSO Azure Active Directory.
- Anggota yang diimpor dari Azure AD lain yang merupakan anggota domain asli atau federasi.
- Grup Direktori Aktif dibuat sebagai grup keamanan.
Pengguna Azure AD yang merupakan bagian dari grup yang memiliki peran server
db_ownertidak bisa 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 does not exist or you do not have permission to use it.Berikan peran
db_ownerlangsung kepada pengguna Microsoft Azure AD individual untuk mengurangi masalah CREATE DATABASE SCOPED CREDENTIAL.Fungsi sistem ini mengembalikan nilai NULL saat dijalankan di bawah prinsipal Azure AD:
SUSER_ID()SUSER_NAME(<admin ID>)SUSER_SNAME(<admin SID>)SUSER_ID(<admin name>)SUSER_SID(<admin name>)
Instans Terkelola SQL
- Prinsipal server Azure AD (masuk) dan pengguna didukung untuk SQL Managed Instance.
- Pengaturan prinsipal server Azure AD (masuk) yang dipetakan ke grup Azure AD sebagai pemilik database tidak didukung di SQL Managed Instance.
- Perpanjangan dari hal ini adalah bahwa ketika grup ditambahkan sebagai bagian dari peran server
dbcreator, pengguna dari grup ini dapat tersambung ke SQL Managed Instance dan membuat database baru, tetapi tidak akan dapat mengakses database. Ini karena pemilik database baru adalah SA, dan bukan pengguna Azure AD. Masalah ini tidak muncul jika pengguna individu yang ditambahkan ke peran serverdbcreator.
- Perpanjangan dari hal ini adalah bahwa ketika grup ditambahkan sebagai bagian dari peran server
- Manajemen dan eksekusi pekerjaan SQL Agent didukung untuk prinsipal server Azure AD (masuk).
- Operasi pencadangan dan pemulihan database dapat dijalankan oleh prinsipal server Azure AD (masuk).
- Mengaudit semua pernyataan yang terkait dengan prinsipal server Azure AD (masuk) dan mendukung peristiwa autentikasi.
- Mendukung koneksi administrator khusus untuk prinsipal server Azure AD (masuk) yang merupakan anggota peran server sysadmin.
- Didukung melalui SQLCMD Utility dan SQL Server Management Studio.
- Pemicu masuk didukung untuk peristiwa log masuk yang berasal dari prinsipal server Azure AD (masuk).
- Service Broker dan mail DB dapat diatur menggunakan prinsipal server Azure AD (masuk).
Menyambungkan dengan menggunakan identitas Azure AD
Autentikasi Azure AD mendukung metode penyambungan berikut ke database menggunakan identitas Azure AD:
- Kata Sandi Azure Active Directory
- Terintegrasi Azure Active Directory
- Autentikasi Multifaktor Azure Active Directory
- Menggunakan autentikasi token aplikasi
Metode autentikasi berikut didukung untuk prinsipal server Microsoft Azure AD (masuk):
- Kata Sandi Azure Active Directory
- Terintegrasi Azure Active Directory
- Autentikasi Multifaktor Azure Active Directory
Pertimbangan tambahan
- Untuk meningkatkan pengelolaan, kami sarankan Anda menetapkan grup Azure AD khusus sebagai administrator.
- Hanya satu administrator Azure AD (pengguna atau grup) yang dapat dikonfigurasi untuk server di SQL Database atau Azure Synapse kapan saja.
- Penambahan prinsipal server Azure AD (masuk) untuk SQL Managed Instance memunculkan kemungkinan pembuatan beberapa prinsipal server Azure AD (masuk) yang dapat ditambahkan ke peran
sysadmin.
- Penambahan prinsipal server Azure AD (masuk) untuk SQL Managed Instance memunculkan kemungkinan pembuatan beberapa prinsipal server Azure AD (masuk) yang dapat ditambahkan ke peran
- Hanya administrator Azure AD untuk server yang awalnya dapat tersambung ke server atau instans terkelola menggunakan akun Azure Active Directory. Administrator Azure Ad dapat mengonfigurasi pengguna database Azure AD berikutnya.
- Pengguna dan prinsip layanan Microsoft Azure AD (aplikasi Microsoft Azure AD) yang merupakan anggota lebih dari 2048 kelompok keamanan Microsoft Azure AD tidak didukung untuk masuk ke database dalam SQL Database, Instans Terkelola, 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 Azure Active Directory. (Autentikasi Azure AD 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 Azure AD.
- Dimulai dengan versi 15.0.1, utilitas sqlcmd dan utilitas bcp mendukung autentikasi Interaktif Direktori Aktif dengan Autentikasi Multifaktor.
- SQL Server Data Tools untuk Visual Studio 2015 memerlukan setidaknya Data Tools versi April 2016 (versi 14.0.60311.1). Saat ini, pengguna Azure AD tidak ditampilkan di Object Explorer SSDT. Sebagai solusinya, lihat pengguna di sys.database_principals.
- Microsoft JDBC Driver 6.0 untuk SQL Server mendukung autentikasi Microsoft Azure AD. Lihat juga, Mengatur Properti Koneksi.
- PolyBase tidak dapat mengautentikasi menggunakan autentikasi Azure AD.
- Autentikasi Azure AD didukung untuk Azure SQL Database dan Azure Synapse dengan menggunakan bilah Impor Database dan Ekspor Database portal Microsoft Azure. Impor dan ekspor menggunakan autentikasi Azure AD juga didukung dari perintah PowerShell.
- Autentikasi Azure AD didukung untuk SQL Database, SQL Managed Instance, dan Azure Synapse dengan menggunakan CLI. Untuk informasi selengkapnya, lihat Mengonfigurasi dan mengelola autentikasi Azure AD dengan SQL Database atau Azure Synapse dan SQL Server - az sql server.
Langkah berikutnya
- Untuk mempelajari cara membuat dan mengisi instans Azure AD lalu mengonfigurasinya dengan Azure SQL Database, SQL Managed Instance, atau Azure Synapse, lihat Mengonfigurasi dan mengelola autentikasi Azure Active Directory dengan Azure SQL Database, SQL Managed Instance, atau Azure Synapse.
- Untuk tutorial penggunaan prinsipal server Azure AD (masuk) dengan SQL Managed Instance, lihat Prinsipal server Azure AD (masuk) dengan SQL Managed Instance
- Untuk gambaran umum login, pengguna, peran database, dan izin di SQL Database, lihat Masuk, pengguna, peran database, dan izin.
- Untuk informasi lengkap prinsipal database, lihat Prinsipal.
- Untuk informasi lengkap peran database, lihat Peran database.
- Untuk sintaksis tentang membuat prinsipal server Microsoft Azure AD (masuk) untuk SQL Managed Instance, lihat CREATE LOGIN.
- Untuk informasi lengkap aturan firewall di SQL Database, lihat Aturan firewall SQL Database.