Anda dapat mengintegrasikan Cloud SQL untuk SQL Server dengan Layanan Terkelola untuk Microsoft Active Directory (juga disebut Microsoft AD Terkelola).
Halaman ini berisi informasi untuk ditinjau sebelum Anda memulai integrasi. Setelah meninjau informasi berikut, termasuk batasan, lihat Menggunakan Cloud SQL dengan Microsoft AD Terkelola.
Keuntungan berintegrasi dengan Microsoft AD Terkelola
Autentikasi, otorisasi, dan lainnya tersedia melalui Microsoft AD Terkelola. Misalnya, menggabungkan instance ke domain Microsoft AD Terkelola memungkinkan Anda login menggunakan Autentikasi Windows dengan identitas berbasis AD.
Mengintegrasikan Cloud SQL untuk SQL Server dengan domain AD memiliki keuntungan tambahan, yaitu integrasi Cloud dengan AD lokal.
Prasyarat untuk integrasi
Anda dapat berintegrasi dengan Microsoft AD Terkelola, menambahkan dukungan untuk Autentikasi Windows ke instance. Namun, sebelum mengintegrasikan, hal berikut diperlukan untuk project Google Cloud Anda:
- Domain Microsoft AD Terkelola. Untuk mengetahui informasi tentang cara menyiapkan
domain, lihat
Buat domain.
- Domain AD lokal memerlukan kepercayaan AD terkelola. Lihat Membuat kepercayaan satu arah dan Menggunakan pengguna AD lokal untuk membuat login Windows ke Cloud SQL.
- Akun Layanan Per Produk, Per Project, seperti yang dijelaskan di bagian berikut; lihat Membuat akun layanan.
Membuat dan mengonfigurasi akun layanan
Anda memerlukan akun layanan Per Produk dan Per Project untuk setiap project yang Anda
rencanakan untuk integrasi dengan Microsoft AD terkelola. Gunakan gcloud
atau Konsol untuk
membuat akun di level project. Akun layanan Per Produk dan Per Project
harus memiliki managedidentities.sqlintegrator
peran dalam
project. Untuk informasi tambahan, lihat
gcloud projects set-iam-policy.
Jika Anda menggunakan konsol Google Cloud, maka Cloud SQL akan otomatis membuat
akun layanan untuk Anda, dan meminta Anda untuk memberikan
managedidentities.sqlintegrator
peran.
Untuk membuat akun layanan dengan gcloud
, jalankan perintah berikut:
gcloud beta services identity create --service=sqladmin.googleapis.com \ --project=PROJECT_NUMBER
Perintah tersebut menampilkan nama akun layanan dalam format berikut:
service-PROJECT_NUMBER
@gcp-sa-cloud-sql.iam.gserviceaccount.com
Berikut adalah contoh nama akun layanan:
service-333445@gcp-sa-cloud-sql.iam.gserviceaccount.com
Memberikan izin yang diperlukan untuk integrasi yang memerlukan izin yang ada. Untuk izin yang diperlukan, lihat Izin yang diperlukan.
Untuk memberikan izin yang diperlukan untuk integrasi, jalankan perintah berikut. Jika
Microsoft AD Terkelola Anda berada dalam project yang berbeda,
AD_PROJECT_ID
harus berupa project yang berisi
instance Layanan Terkelola untuk Microsoft Active Directory, sedangkan akun layanan
SQL_PROJECT_NUMBER
harus berupa project yang berisi instance SQL
Server:
gcloud projects add-iam-policy-binding AD_PROJECT_ID \ --member=serviceAccount:service-SQL_PROJECT_NUMBER@gcp-sa-cloud-sql.iam.gserviceaccount.com \ --role=roles/managedidentities.sqlintegrator
Lihat juga gcloud beta services identity create.
Praktik terbaik untuk berintegrasi dengan Microsoft AD Terkelola
Saat Anda merencanakan integrasi, tinjau hal berikut:
- Prasyarat untuk integrasi
- Mengintegrasikan domain AD terkelola dalam project yang berbeda
- Dokumentasi Microsoft AD terkelola
- Men-deploy pengontrol domain di region tambahan
- Gunakan alat diagnosis AD untuk memecahkan masalah penyiapan AD dengan domain lokal dan instance Cloud SQL untuk SQL Server di konsol Google Cloud.
Memiliki instance SQL Server dan instance AD terkelola di region yang sama menawarkan latensi jaringan terendah dan performa terbaik. Jadi, jika memungkinkan, atur instance SQL Server dan instance AD di region yang sama. Selain itu, baik Anda mengaturnya di region yang sama atau tidak, atur region utama dan cadangan untuk ketersedian yang lebih tinggi.
Topologi untuk berintegrasi dengan Microsoft AD Terkelola
Cloud SQL untuk SQL Server tidak mendukung grup lokal domain. Namun, Anda dapat:
- Menambahkan grup global atau login pengguna individual langsung di SQL Server
- Menggunakan grup universal ketika semua grup dan pengguna berada di forest yang sama
Jika grup lokal domain didukung, akun pengguna individual, dan grup global serta universal dapat ditambahkan sebagai subordinat dari grup lokal domain (yang melindungi akses ke SQL Server). Hal ini memungkinkan Anda untuk menambahkan grup lokal domain sebagai login SQL Server. Di Cloud SQL untuk SQL Server, Anda dapat mengaktifkan kemampuan serupa, seperti yang dijelaskan di bagian ini.
Opsi 1: Tambahkan akun pengguna dan grup sebagai login ke SQL Server
Jika Anda memiliki beberapa domain pada beberapa forest dan beberapa grup global, Anda dapat menambahkan semua akun pengguna individual dan grup global serta universal secara langsung sebagai login ke SQL Server. Sebagai contoh Opsi 1, lihat diagram berikut:
Opsi 2: Menentukan grup universal di salah satu domain Anda
Jika domain Anda berada di forest yang sama, Anda dapat menentukan grup universal di salah satu domain. Kemudian, Anda dapat menambahkan semua akun pengguna individual, dan grup global serta universal, sebagai turunan dari grup universal yang ditentukan tersebut, dan tambahkan grup universal yang ditentukan sebagai login SQL Server. Sebagai contoh Opsi 2, lihat diagram berikut:
Batasan dan alternatif
Batasan berikut berlaku saat berintegrasi dengan Microsoft AD Terkelola:
- Grup lokal domain tidak didukung, tetapi Anda dapat menambahkan grup global atau login pengguna individual langsung di SQL Server. Atau, Anda dapat menggunakan grup universal ketika semua grup dan pengguna berada di forest yang sama.
- Secara umum, pengguna baru yang dibuat melalui konsol Google Cloud akan diberikan
CustomerDbRootRole
peran, yang mencakup Peran database SQL Server Agent yang tetap:SQLAgentUserRole
. Namun, pengguna yang dibuat melalui SQL Server secara langsung, seperti pengguna Microsoft AD Terkelola, tidak dapat diberi peran ini atau menggunakan SQL Server Agent, karena database MSDB yang harus diberi peran ini dilindungi. - Beberapa operasi yang dibatasi dapat mengakibatkan error berikut: "Tidak dapat memperoleh informasi tentang grup/pengguna Windows NT". Salah satu contoh dari jenis operasi yang dibatasi ini adalah membuat login oleh pengguna dari domain yang terhubung melalui hubungan kepercayaan. Contoh lainnya adalah memberikan hak istimewa kepada pengguna dari domain yang terhubung melalui hubungan kepercayaan. Dalam kasus ini, mencoba ulang operasi sering kali berhasil. Jika percobaan ulang gagal, tutup koneksi dan buka koneksi baru.
- Nama domain yang sepenuhnya memenuhi syarat (FQDN) tidak didukung oleh SQL Server pada
Windows. Oleh karena itu, gunakan nama domain (nama pendek), bukan FQDN, saat
Anda membuat login SQL Server. Misalnya, jika nama domain Anda adalah
ad.mydomain.com
, maka buat login SQL Server untukad\user
, bukan untukad.mydomain.com\user
. - Untuk mengakses instance SQL Server, selalu gunakan FQDN. Misalnya, Anda dapat
menggunakan FQDN yang mirip dengan
private.myinstance.us-central1.myproject.cloudsql.mydomain.com
. Nama Netbios tidak didukung, begitu juga nama pendek apa pun jika suffix DNS tidak disertakan. - Login SQL Server yang didasarkan pada pengguna dan grup Active Directory tidak dapat dikelola dari konsol Google Cloud.
- Pada Cloud SQL, jika instance SQL Server dibuat pada atau sebelum 12 Maret 2021, instance SQL tidak dapat diintegrasikan dengan Microsoft AD Terkelola.
- Autentikasi Windows tidak akan berfungsi dengan kepercayaan eksternal. Error dapat berupa berikut: "Nama prinsip target tidak benar. Tidak dapat membuat konteks SSPI." Selain itu, terkait dengan Rekomendasi Microsoft, gunakan kepercayaan forest bukan kepercayaan eksternal untuk autentikasi Kerberos.
Tidak didukung untuk integrasi
Fitur berikut tidak didukung saat berintegrasi dengan Microsoft AD Terkelola:
- Grup lokal domain.
- Menghapus login SQL Server oleh pengguna dari domain yang terhubung melalui
hubungan kepercayaan. Anda dapat melakukan operasi ini dengan pengguna dari domain
terkelola Anda, atau melalui login
sqlserver
. - Autentikasi NTLM.
- Login dengan alamat IP dari domain yang terhubung melalui hubungan kepercayaan.
- Instance dengan nama panjang (lebih dari 63 karakter).
Langkah berikutnya
- Tinjau Panduan memulai untuk membuat domain Microsoft AD Terkelola.
- Bersiaplah untuk membuat instance Cloud SQL terintegrasi.
- Pelajari cara membuat hubungan kepercayaan antara domain lokal dan domain Microsoft AD terkelola.
- Tinjau cara melihat instance terintegrasi.