Halaman ini menjelaskan cara menggunakan Microsoft Active Directory yang dikelola pelanggan (juga disebut sebagai AD (CMAD) yang dikelola pelanggan):
- Mengintegrasikan Cloud SQL untuk SQL Server dengan CMAD.
- Menghubungkan ke instance dengan pengguna Active Directory (AD).
Instance Cloud SQL yang terintegrasi dengan CMAD mendukung Autentikasi Windows selain Autentikasi SQL.
Sebelum memulai
- Di konsol Google Cloud , pilih nama project Anda.
- Pastikan penagihan diaktifkan untuk project Google Cloud Anda. Pelajari cara mengonfirmasi bahwa penagihan diaktifkan untuk project Anda.
- Instal dan lakukan inisialisasi gcloud CLI.
- Pastikan Anda memiliki peran Admin Cloud SQL di akun pengguna Anda. Buka halaman Identity and Access Management (IAM).
- Tinjau prasyarat untuk integrasi.
- Pastikan replikasi Active Directory berfungsi dengan benar. Jika tidak diterapkan dengan benar, Anda mungkin mengalami masalah dengan integrasi CMAD.
Buat instance dengan Autentikasi Windows
Anda dapat berintegrasi dengan CMAD selama pembuatan instance, dengan mengaktifkan Autentikasi Windows untuk instance. Untuk berintegrasi, pilih domain untuk bergabung dengan instance. Jika bergabung dengan domain gagal, pembuatan instance akan gagal.
Sebagai persiapan untuk membuat instance dengan Autentikasi Windows, tinjau tips serta batasan dan alternatif.
Meskipun Anda dapat memilih untuk menggunakan IP publik, instance Cloud SQL juga harus memiliki akses ke IP pribadi.
Gunakan salah satu opsi berikut untuk membuat instance yang terintegrasi dengan CMAD dan, sebagai hasilnya, diaktifkan untuk Autentikasi Windows. Untuk mengetahui informasi tentang perintah dasar untuk membuat instance, lihat Membuat instance.
gcloud
Untuk membuat instance dengan CMAD, jalankan perintah berikut:
gcloud sql instances create INSTANCE_NAME \ --database-version=DATABASE_VERSION \ --root-password=PASSWORD \ --active-directory-domain=DOMAIN \ --active-directory-mode=CUSTOMER_MANAGED_ACTIVE_DIRECTORY \ --active-directory-organizational-unit="OU=CLOUD_OU,DC=DC1,DC=DC2" \ --active-directory-secret-manager-key=projects/PROJECT_ID/secrets/SECRET_NAME \ --active-directory-dns-servers=IP1,IP2 \ --cpu=CPU \ --memory=MEMORY \ --network=NETWORK
Ganti kode berikut:
- INSTANCE_NAME: nama instance Cloud SQL untuk SQL Server yang ingin Anda buat.
- DATABASE_VERSION: versi database yang ingin Anda gunakan, seperti
SQLSERVER_2019_STANDARD. - DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance akan berada.
- SECRET_NAME: adalah secret yang ingin Anda gunakan.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - CPU: adalah jumlah CPU yang ingin Anda tetapkan ke instance.
- MEMORY: adalah jumlah memori yang ingin Anda tetapkan ke instance.
- NETWORK: adalah nama jaringan yang akan terhubung ke instance Anda, seperti
projects/my-gcp-project-123/global/networks/my-production-vpc.
REST v1
Untuk membuat instance dengan CMAD, gunakan permintaan POST dengan metode users:insert.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Ganti kode berikut:
- DATABASE_VERSION: versi database yang ingin Anda gunakan, seperti
SQLSERVER_2019_STANDARD. - INSTANCE_NAME: nama instance Cloud SQL untuk SQL Server yang ingin Anda buat.
- REGION: region tempat Anda ingin instance berada, seperti
us-central1. - PASSWORD: sandi untuk instance.
- MACHINE_TYPE: jenis mesin yang ingin Anda gunakan untuk instance,
seperti
db-n1-standard-8. - NETWORK: adalah nama jaringan yang akan terhubung ke instance Anda, seperti
projects/my-gcp-project-123/global/networks/my-production-vpc. - DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance akan berada.
- SECRET_NAME: adalah secret yang ingin Anda gunakan.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Meminta isi JSON:
{
"databaseVersion":"DATABASE_VERSION",
"name":"INSTANCE_NAME",
"region":"REGION",
"rootPassword":"PASSWORD",
"settings":{
"tier":"MACHINE-TYPE",
"ipConfiguration":{
"privateNetwork":"NETWORK"
},
"activeDirectoryConfig":{
"domain":"DOMAIN"
"mode": "CUSTOMER_MANAGED_ACTIVE_DIRECTORY",
"organizational_unit":"OU=CLOUDOU,DC=DC1,DC=DC2"
"admin_credential_secret_name":"projects/PROJECT_ID/secrets/SECRET_NAME"
"dns_servers":"IP1,IP2"
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Untuk membuat instance dengan CMAD, gunakan permintaan POST dengan metode users:insert.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
Ganti kode berikut:
- DATABASE_VERSION: versi database yang ingin Anda gunakan, seperti
SQLSERVER_2019_STANDARD. - INSTANCE_NAME: nama instance Cloud SQL untuk SQL Server yang ingin Anda buat.
- REGION: region tempat Anda ingin instance berada, seperti
us-central1. - PASSWORD: sandi untuk instance.
- MACHINE_TYPE: jenis mesin yang ingin Anda gunakan untuk instance,
seperti
db-n1-standard-8. - NETWORK: adalah nama jaringan yang akan terhubung ke instance Anda, seperti
projects/my-gcp-project-123/global/networks/my-production-vpc. - DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance akan berada.
- SECRET_NAME: adalah secret yang ingin Anda gunakan.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
Metode HTTP dan URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Meminta isi JSON:
{
"databaseVersion":"DATABASE_VERSION",
"name":"INSTANCE_NAME",
"region":"REGION",
"rootPassword":"PASSWORD",
"settings":{
"tier":"MACHINE-TYPE",
"ipConfiguration":{
"privateNetwork":"NETWORK"
},
"activeDirectoryConfig":{
"domain":"DOMAIN"
"mode": "CUSTOMER_MANAGED_ACTIVE_DIRECTORY",
"organizational_unit":"OU=CLOUDOU,DC=DC1,DC=DC2"
"admin_credential_secret_name":"projects/PROJECT_ID/secrets/SECRET_NAME"
"dns_servers":"IP1,IP2"
}
}
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Perbarui instance dengan Autentikasi Windows
Anda dapat memperbarui domain instance yang ada, seperti mengubah atau menambahkan domain.
Untuk informasi umum tentang cara mengupdate instance, lihat Mengedit instance.
Jika saat ini instance bergabung dengan domain CMAD, instance awalnya tidak digabungkan dengan domain tersebut, sebelum digabungkan ke domain baru. Jika update gagal, instance mungkin tidak dapat lagi digabungkan ke domain mana pun.
gcloud
Berikut adalah contoh perintah untuk memperbarui instance yang ada. Perintah
dapat menambah atau mengganti domain. Teruskan
--active-directory-domain=DOMAIN ke perintah, seperti berikut:
gcloud sql instances patch INSTANCE_NAME \ --active-directory-domain=DOMAIN \ --active-directory-mode=CUSTOMER_MANAGED_ACTIVE_DIRECTORY \ --active-directory-organizational-unit="OU=CLOUDOU,DC=DOMAIN,DC=COM" \ --active-directory-secret-manager-key=projects/PROJECT_ID/secrets/SECRET_NAME \ --active-directory-dns-servers=IP1,IP2
Ganti kode berikut:
- INSTANCE_NAME: nama instance Cloud SQL for SQL Server yang ingin Anda update.
- DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance berada.
- SECRET_NAME: adalah secret yang terkait dengan instance.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
REST v1
Untuk mengupdate instance CMAD, gunakan permintaan PATCH dengan metode users:insert.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance berada.
- SECRET_NAME: adalah secret yang terkait dengan instance.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Meminta isi JSON:
{
"settings":{
"activeDirectoryConfig":{
"domain":"DOMAIN"
"mode": "CUSTOMER_MANAGED_ACTIVE_DIRECTORY",
"organizational_unit":"OU=CLOUDOU,DC=DC1,DC=DC2"
"admin_credential_secret_name":"projects/PROJECT_ID/secrets/SECRET_NAME"
"dns_servers":"IP1,IP2"
}
}
}Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
REST v1beta4
Untuk mengupdate instance CMAD, gunakan permintaan PATCH dengan metode users:insert.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance berada.
- SECRET_NAME: adalah secret yang terkait dengan instance.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
Metode HTTP dan URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Meminta isi JSON:
{
"settings":{
"activeDirectoryConfig":{
"domain":"DOMAIN"
"mode": "CUSTOMER_MANAGED_ACTIVE_DIRECTORY",
"organizational_unit":"OU=CLOUDOU,DC=DC1,DC=DC2"
"admin_credential_secret_name":"projects/PROJECT_ID/secrets/SECRET_NAME"
"dns_servers":"IP1,IP2"
}
}
}Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
Migrasi antara Managed Service for Microsoft Active Directory dan CMAD
Untuk memigrasikan instance dari integrasi dengan Managed Microsoft AD ke integrasi dengan CMAD, gunakan perintah gcloud CLI berikut:
gcloud sql instances patch INSTANCE_NAME \ --active-directory-domain=DOMAIN \ --active-directory-mode=CUSTOMER_MANAGED_ACTIVE_DIRECTORY \ --active-directory-organizational-unit="OU=CLOUDOU,DC=DOMAIN,DC=COM" \ --active-directory-secret-manager-key=projects/PROJECT_ID/secrets/SECRET_NAME \ --active-directory-dns-servers=IP1,IP2
Ganti kode berikut:
- INSTANCE_NAME: nama instance Cloud SQL for SQL Server yang ingin Anda ubah.
- DOMAIN: nama domain yang ingin Anda gunakan, seperti
myaddomain.com. - CUSTOMER_MANAGED_ACTIVE_DIRECTORY: menunjukkan mode
domain. Jika domain dibuat dan dimiliki oleh Google, masukkan
MANAGED_ACTIVE_DIRECTORY. Jika domain dibuat dan dimiliki oleh pengguna, masukkanCUSTOMER_MANAGED_ACTIVE_DIRECTORY. - CLOUD_OU: adalah nama unit organisasi yang ingin Anda gunakan.
Contoh,
CLOUDOU. Anda dapat memasukkan unit organisasi sebanyak yang diperlukan. - DC1: adalah komponen domain pertama yang digunakan untuk nama khusus unit organisasi. Contoh,
DOMAIN. Anda dapat memasukkan sebanyak mungkin komponen domain sesuai kebutuhan. - DC2: adalah komponen domain kedua yang digunakan untuk nama khusus
unit organisasi. Contoh,
COM. Nilai lengkap untuk flag--active-directory-organizational-unitmungkin terlihat seperti berikut:"OU=CLOUDOU,DC=DOMAIN,DC=COM". Anda dapat memasukkan komponen domain sebanyak yang diperlukan. - PROJECT_ID: adalah project ID tempat instance berada.
- SECRET_NAME: adalah secret yang terkait dengan instance.
- IP1: adalah alamat IP server DNS pertama yang ingin Anda gunakan,
seperti
10.20.30.40. Anda dapat memasukkan alamat IP sebanyak yang diperlukan. - IP2: adalah alamat IP server DNS kedua yang ingin Anda gunakan,
seperti
20.30.40.50. Anda dapat memasukkan alamat IP sebanyak yang diperlukan.
Sambungkan ke instance dengan pengguna
Untuk Cloud SQL untuk SQL Server, pengguna
default-nya adalah sqlserver.
Setelah mengintegrasikan instance dengan CMAD, Anda dapat terhubung ke instance dengan
pengguna sqlserver, sebagai berikut:
- Buat login SQL Server berdasarkan pengguna atau grup Windows, sebagai berikut:
CREATE LOGIN [domain\user_or_group] FROM WINDOWS
- Login ke instance, menggunakan Autentikasi Windows, dengan nama DNS
instance. Contoh nama DNS instance yang harus ditentukan mencakup:
- Menampilkan contoh koneksi melalui IP pribadi:
private.myinstance.us-central1.myproject.cloudsql.mydomain.com
- Menampilkan contoh koneksi melalui IP publik:
public.myinstance.us-central1.myproject.cloudsql.mydomain.com
- Menampilkan contoh koneksi melalui Proxy Auth Cloud SQL:
proxy.myinstance.us-central1.myproject.cloudsql.mydomain.com
Untuk mengetahui informasi selengkapnya, lihat Menggunakan Proxy Auth Cloud SQL dengan Autentikasi Windows.
- Menampilkan contoh koneksi melalui IP pribadi:
Jika menggunakan alamat IP instance, Anda harus mengonfigurasi klien Kerberos untuk mendukung nama host IP. Cloud SQL tidak mendukung login menggunakan alamat IP dari domain yang terhubung melalui hubungan kepercayaan.
Gunakan Proxy Auth Cloud SQL dengan Autentikasi Windows
Anda dapat menggunakan Proxy Auth Cloud SQL dengan integrasi CMAD Anda.
Sebelum memulai, tinjau hal berikut:
Langkah-langkah untuk Autentikasi Windows
Untuk mengetahui latar belakang cara memulai Proxy Auth Cloud SQL, lihat Mulai Proxy Auth Cloud SQL.
Untuk Autentikasi Windows, Anda harus menjalankan Proxy Auth Cloud SQL pada port 1433. Untuk memetakan entri Nama Utama Layanan (SPN) yang telah ditentukan ke alamat Proxy Auth Cloud SQL, gunakan perintah berikut:
Proxy.[instance].[location].[project].cloudsql.[domain]
Jalankan Proxy Auth Cloud SQL secara lokal
Jika Anda menjalankan Proxy Auth Cloud SQL secara lokal, gunakan file host Anda untuk memetakan hal berikut ke
127.0.0.1:
Proxy.[instance].[location].[project].cloudsql.[domain]
Misalnya, Anda dapat menambahkan kode berikut ke file host (misalnya, ke
c:\windows\system32\drivers\etc\hosts):
127.0.0.1 proxy.[instance].[location].[project].cloudsql.[domain]
Dalam contoh tersebut, Anda dapat menjalankan Proxy Auth Cloud SQL menggunakan perintah ini, dan membuatnya
tersedia di 127.0.0.1:1433:
cloud-sql-proxy.exe --credentials-file credential.json project:name
Jalankan Proxy Auth Cloud SQL secara non-lokal
Untuk menjalankan Proxy Auth Cloud SQL secara eksternal, ikuti petunjuk di bagian Menjalankan Proxy Auth Cloud SQL secara lokal, tetapi gunakan entri yang berbeda di file host.
Khususnya, jika host non-lokal, misalnya, MyOtherHost, Anda dapat menambahkan kode berikut ke file host:
127.0.0.1 MyOtherHost proxy.[instance].[location].[project].cloudsql.[domain]
Pecahkan masalah untuk penggantian NTLM di klien
Jika Anda menggunakan Autentikasi Windows dan alamat IP instance untuk login ke instance, Anda harus mengonfigurasi klien Kerberos untuk mendukung nama host IP.
Cloud SQL tidak mendukung autentikasi NTLM, tetapi beberapa klien Kerberos mungkin mencoba menggantinya. Seperti yang telah dibahas di bagian ini, jika Anda mencoba terhubung dengan SQL Server Management Studio (SSMS), dan muncul pesan error berikut, kemungkinan penyebabnya adalah penggantian NTLM:
NTLM adalah set protokol keamanan Microsoft untuk autentikasi. Untuk mengetahui informasi selengkapnya, lihat Alasan penggantian NTLM.
Verifikasi penggantian NTLM untuk klien Windows
Dari terminal Windows, untuk memverifikasi bahwa penggantian NTLM menyebabkan error, selesaikan langkah-langkah berikut:
- Login dengan kredensial lokal yang ingin Anda gunakan. Jangan gunakan perintah
"Run as...". - Buka command prompt.
- Jalankan
klist purge. - Dari SSMS, coba hubungkan ke SQL Server dengan Autentikasi Windows.
- Jalankan
klistdan periksa apakah ada tiket yang diterbitkan untuk error yang ditampilkan, - Jika tidak ada tiket tersebut, kemungkinan error tersebut disebabkan oleh penggantian NTLM.
- Jika tiket tersebut ada, pastikan driver SQL Server Anda tidak menerapkan autentikasi NTLM. Selain itu, periksa apakah autentikasi NTLM diterapkan melalui Group Policy.
Verifikasi penggantian NTLM untuk klien Linux
Dari Ubuntu 16.04, untuk memverifikasi bahwa penggantian NTLM menyebabkan error, gunakan langkah-langkah di bagian ini. Langkah-langkahnya serupa dengan langkah-langkah untuk distribusi Linux lainnya.
Siapkan autentikasi Kerberos
- Siapkan klien Kerberos:
sudo apt-get install krb5-user
- Saat diminta untuk memasukkan realm default, ketik nama domain lokal, menggunakan huruf besar.
- Jalankan perintah berikut untuk menginstal alat command line SQL Server:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/msprod.list sudo apt-get update sudo apt-get install mssql-tools unixodbc-dev
Sambungkan dengan Autentikasi Windows
- Jalankan alat kinit sebagai berikut:
kinit
- Untuk terhubung dengan Autentikasi Windows, jalankan perintah berikut:
/opt/mssql-tools/bin/sqlcmd -S
- Jalankan perintah klist dan periksa apakah tiket dikeluarkan secara khusus
untuk pesan yang ditampilkan berikut:
MSSQLSvc/:1433 @ domain
- Jika tiket tidak diterbitkan, error sebelumnya mungkin menunjukkan masalah yang menyebabkan penggantian NTLM.
Alasan untuk penggantian NTLM
Penggantian ke NTLM adalah kesalahan konfigurasi klien yang dapat dikaitkan dengan kondisi berikut:
- Secara default, Windows tidak mencoba autentikasi Kerberos untuk host jika nama host adalah alamat IP. Untuk mengaktifkan autentikasi Kerberos untuk alamat IP, coba metode yang dijelaskan dalam dokumentasi Microsoft.
- Autentikasi Kerberos melalui kepercayaan eksternal tidak berfungsi. Gunakan kepercayaan hutan sebagai gantinya.
- Autentikasi Kerberos memerlukan perutean akhiran nama agar layanan ditemukan di forest lain. Coba metode yang dijelaskan dalam Menyiapkan hubungan kepercayaan antara dua domain.
- Autentikasi Kerberos tidak berfungsi jika tidak ada SPN yang terdaftar untuk layanan. Hanya gunakan FQDN atau alamat IP yang Anda peroleh dari konsol Google Cloud untuk terhubung dengan Autentikasi Windows.
Membuat login Windows untuk pengguna AD lokal
Ikuti petunjuk CREATE LOGIN
untuk membuat login Windows bagi pengguna lokal. Misalnya, tentukan
perintah yang mirip dengan berikut ini:
CREATE LOGIN [DOMAIN_NAME\USER_NAME] FROM WINDOWS
Tips untuk menggunakan CMAD dengan Cloud SQL
- Instance dengan IP publik didukung, selama instance tersebut juga memiliki IP pribadi. IP pribadi harus diaktifkan untuk instance. Kemudian, Anda dapat memilih untuk menggunakan IP publik atau IP pribadi untuk terhubung ke instance, selama keduanya tersedia.
- Sebelum membuat instance, termasuk sebagai instance pengganti, tinjau hal berikut:
- Jika Autentikasi Windows gagal dari domain yang terhubung melalui
hubungan kepercayaan, verifikasi bahwa Autentikasi Windows berfungsi untuk pengguna dari
domain yang dikelola pelanggan. Jika ya, selesaikan langkah-langkah berikut:
- Verifikasi bahwa Anda menggunakan nama DNS. Alamat IP tidak didukung dari domain yang terhubung menggunakan hubungan kepercayaan.
- Pastikan Anda telah menyelesaikan langkah-langkah dalam Menyiapkan hubungan kepercayaan antara dua domain, termasuk membuka semua port firewall.
- Validasi kepercayaan.
- Verifikasi bahwa arah kepercayaan memungkinkan pengguna dari domain (terhubung melalui hubungan kepercayaan) untuk melakukan autentikasi.
- Ikuti langkah-langkah yang dijelaskan dalam Menyiapkan domain yang tidak dapat dirutekan untuk sinkronisasi direktori.
- Verifikasi bahwa kepercayaan berfungsi tanpa menggunakan Cloud SQL untuk SQL Server:
- Buat VM Windows.
- Gabungkan ke domain CMAD.
- Coba jalankan, misalnya, Notepad sebagai pengguna dari domain yang terhubung melalui hubungan kepercayaan.
- Mulai ulang VM klien dan uji ulang Autentikasi Windows.
- Anda dapat mencoba membuat login SQL Server, tetapi kemudian menerima error
berikut:
Hal ini mungkin terjadi karena grup lokal domain tidak didukung; jika berlaku, gunakan grup global atau universal sebagai gantinya.
- Jika kueri SQL Server menghasilkan error berikut, perhatikan bahwa alamat IP
tidak didukung untuk pengguna dari domain yang terhubung melalui hubungan kepercayaan:
Tindakan berikut dapat menyelesaikan masalah ini:
- Jika alamat IP digunakan untuk menghubungkan pengguna dari domain terkelola, ikuti petunjuk di dokumentasi Microsoft.
- Hindari penggunaan proxy apa pun, dan selalu gunakan nama DNS yang sama untuk terhubung ke Cloud SQL untuk SQL Server, seperti yang Anda lihat di konsol Google Cloud .
Jika instance mengalami masalah berkelanjutan dengan Autentikasi Windows (baik
instance tersebut baru saja diupdate atau tidak), coba batalkan penggabungannya dari domain
lalu gabungkan kembali. Untuk melakukannya, gunakan
prosedur update
untuk batal bergabung kemudian bergabung kembali dengan domain. Tindakan ini tidak akan menghapus login atau pengguna terautentikasi Windows yang sudah ada dalam database Anda. Namun,
menghapus Autentikasi Windows akan menyebabkan instance dimulai ulang.
- Gunakan alat Diagnosis AD untuk memecahkan masalah penyiapan AD dengan domain yang dikelola pelanggan dan instance Cloud SQL untuk SQL Server di konsol Google Cloud . Lewati langkah-langkah yang terkait dengan Microsoft AD Terkelola.
Memecahkan masalah
Tabel berikut mencantumkan pesan error umum dan cara mengatasinya:
| Untuk error ini... | Masalahnya mungkin adalah... | Coba langkah ini: |
|---|---|---|
Per-product, per-project Service Account (P4 SA) not found for project. |
Nama akun layanan tersebut tidak tepat. | Di halaman Akun Layanan, pastikan Anda membuat akun layanan untuk project pengguna yang benar. |
The operation completed but an update to Active Directory failed.
You may experience issues with Windows Authentication on this instance, please
see https://cloud.google.com/sql/docs/sqlserver/configure-cmad for tips. |
Update yang diperlukan tidak dapat dilakukan di domain CMAD. | Jika Anda mengalami masalah dengan Autentikasi Windows, Anda dapat mencoba membatalkan penggabungan domain CMAD, lalu bergabung kembali. Untuk melakukannya, gunakan prosedur update untuk batal bergabung kemudian bergabung kembali dengan domain. Tindakan ini tidak akan menghapus login atau pengguna terautentikasi Windows yang sudah ada dalam database Anda. Namun, menghapus Autentikasi Windows akan menyebabkan instance dimulai ulang. |
This instance would need new network architecture to support Active
Directory. See https://cloud.google.com/sql/docs/sqlserver/configure-cmad." |
Instance ini tidak menggunakan arsitektur jaringan baru. | Upgrade instance ke arsitektur jaringan baru. |
Admin credential secret name / Organizational unit / DNS Server
names is required or Invalid Admin credential secret name /
OrganizationalUnit / DNS Server names provided. |
Kredensial admin, Unit organisasi, dan Server DNS adalah parameter yang wajib diisi. | Coba lagi permintaan Anda dengan parameter ini yang ditentukan. |
Integration failed due to insufficient permissions. The Service
Agent for this project must be granted the secretmanager.secrets.getIamPolicy
and secretmanager.secrets.setIamPolicy permissions on the provided admin
credential key in Secret Manager. |
Agen Layanan untuk project ini tidak memiliki izin yang diperlukan. | Buat peran khusus dengan izin secretmanager.secrets.getIamPolicy
dan secretmanager.secrets.setIamPolicy, lalu tetapkan
peran tersebut kepada agen layanan untuk project ini. Untuk mengetahui informasi selengkapnya, lihat
Peran dan izin Secret Manager. |
Langkah berikutnya
- Ringkasan Active Directory yang dikelola pelanggan (CMAD)
- Menggunakan alat Diagnostik Active Directory