Ringkasan Microsoft AD Terkelola di Cloud SQL

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:

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:

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:

Topologi AD, Opsi 1.

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:

Topologi AD, Opsi 2.

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 untuk ad\user, bukan untuk ad.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