View a markdown version of this page

Menggabungkan instans DB Anda ke Active Directory yang dikelola sendiri - Amazon Relational Database Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggabungkan instans DB Anda ke Active Directory yang dikelola sendiri

Untuk menggabungkan instans RDS for SQL Server DB ke AD yang dikelola sendiri, ikuti langkah-langkah berikut:

Langkah 1: Membuat atau memodifikasi instance SQL Server DB

Anda dapat menggunakan konsol, CLI, atau API RDS untuk SQL Server dengan domain AD yang dikelola sendiri. Anda dapat melakukannya dengan salah satu cara berikut:

Saat Anda menggunakan AWS CLI, parameter berikut diperlukan agar instance DB dapat menggunakan domain AD yang dikelola sendiri yang Anda buat:

  • Untuk --domain-fqdn parameter, gunakan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari AD yang dikelola sendiri.

  • Untuk parameter --domain-ou, gunakan OU yang Anda buat di AD yang dikelola sendiri.

  • Untuk parameter --domain-auth-secret-arn, gunakan nilai ARN Rahasia yang Anda buat pada langkah sebelumnya.

  • Untuk parameter --domain-dns-ips, gunakan alamat IPv4 primer dan sekunder dari server DNS untuk AD yang dikelola sendiri. Jika Anda tidak memiliki alamat IP server DNS sekunder, masukkan alamat IP primer dua kali.

Contoh perintah CLI berikut menunjukkan cara membuat, memodifikasi, dan menghapus instans DB RDS for SQL Server dengan domain AD yang dikelola sendiri.

penting

Jika Anda memodifikasi instans DB untuk menggabungkannya ke atau menghapusnya dari domain AD yang dikelola sendiri, boot ulang instans DB tersebut diperlukan agar modifikasi diterapkan. Anda dapat memilih untuk segera menerapkan perubahan atau menunggu hingga periode pemeliharaan berikutnya. Memilih opsi Terapkan Segera akan menyebabkan waktu henti untuk instans DB AZ Tunggal. Instans DB Multi-AZ akan melakukan failover sebelum menyelesaikan boot ulang. Untuk informasi selengkapnya, lihat Menggunakan pengaturan modifikasi jadwal.

Perintah CLI berikut membuat RDS baru untuk instans DB SQL Server dan menggabungkannya ke domain AD yang dikelola sendiri.

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance \ --db-instance-identifier my-DB-instance \ --db-instance-class db.m5.xlarge \ --allocated-storage 50 \ --engine sqlserver-se \ --engine-version 15.00.4043.16.v1 \ --license-model license-included \ --master-username my-master-username \ --master-user-password my-master-password \ --domain-fqdn my_AD_domain.my_AD.my_domain \ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ --domain-dns-ips "10.11.12.13" "10.11.12.14"

Untuk Windows:

aws rds create-db-instance ^ --db-instance-identifier my-DB-instance ^ --db-instance-class db.m5.xlarge ^ --allocated-storage 50 ^ --engine sqlserver-se ^ --engine-version 15.00.4043.16.v1 ^ --license-model license-included ^ --master-username my-master-username ^ --master-user-password my-master-password ^ --domain-fqdn my-AD-test.my-AD.mydomain ^ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ ^ --domain-dns-ips "10.11.12.13" "10.11.12.14"

Perintah CLI berikut memodifikasi instance RDS untuk SQL Server DB yang ada untuk menggunakan domain AD yang dikelola sendiri.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --domain-fqdn my_AD_domain.my_AD.my_domain \ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" \ --domain-dns-ips "10.11.12.13" "10.11.12.14"

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-DBinstance ^ --domain-fqdn my_AD_domain.my_AD.my_domain ^ --domain-ou OU=my-AD-test-OU,DC=my-AD-test,DC=my-AD,DC=my-domain ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:my-AD-test-secret-123456" ^ --domain-dns-ips "10.11.12.13" "10.11.12.14"

Perintah CLI berikut menghapus instans RDS untuk SQL Server DB dari domain AD yang dikelola sendiri.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier my-DB-instance \ --disable-domain

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-DB-instance ^ --disable-domain

Langkah 2: Menggunakan Kerberos atau Otentikasi NTLM

Otentikasi NTLM

Setiap instans Amazon RDS DB memiliki titik akhir dan setiap titik akhir memiliki nama DNS dan nomor port untuk instans DB. Untuk menghubungkan instans basis Anda menggunakan aplikasi klien SQL, Anda memerlukan nama dan nomor port DNS untuk instans tersebut. Untuk mengotentikasi menggunakan otentikasi NTLM, Anda harus terhubung ke titik akhir RDS atau titik akhir pendengar jika Anda menggunakan penerapan. Multi-AZ

Selama pemeliharaan database yang direncanakan atau gangguan layanan yang tidak direncanakan, Amazon RDS secara otomatis gagal beralih ke database sekunder terbaru sehingga operasi dapat dilanjutkan dengan cepat tanpa intervensi manual. Instans primer dan sekunder menggunakan titik akhir yang sama, yang alamat jaringan fisiknya bertransisi ke sekunder sebagai bagian dari proses failover. Anda tidak perlu mengonfigurasi ulang aplikasi Anda saat terjadi failover.

Autentikasi Kerberos

Kerberos-based otentikasi untuk RDS untuk SQL Server memerlukan koneksi dibuat ke Service Principal Name (SPN) tertentu. Namun, setelah peristiwa failover, aplikasi mungkin tidak mengetahui SPN baru. Untuk mengatasi hal ini, RDS untuk SQL Server menawarkan Kerberos-based titik akhir.

T Kerberos-based itik akhir mengikuti format tertentu. Jika titik akhir RDS Anda adalahrds-instance-name.account-region-hash.aws-region.rds.amazonaws.com, Kerberos-based titik akhir yang sesuai adalah. rds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)

Misalnya, jika titik akhir RDS adalah ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com dan nama domain adalahcorp-ad.company.com, Kerberos-based titik akhir akan menjadiad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com.

T Kerberos-based itik akhir ini dapat digunakan untuk mengautentikasi dengan instance SQL Server menggunakan Kerberos, bahkan setelah peristiwa failover, karena titik akhir diperbarui secara otomatis untuk menunjuk ke SPN baru dari instance SQL Server primer.

Menemukan CNAME Anda

Untuk menemukan CNAME Anda, sambungkan ke pengontrol domain Anda dan buka Manajer DNS. Arahkan ke Zona Pencarian Terus dan FQDN Anda.

Navigasi melalui awsrds, aws-region, dan hash khusus akun dan wilayah.

Ubah jumlah penyimpanan untuk instance DB.

Jika setelah menghubungkan CNAME dari klien jarak jauh, koneksi NTLM dikembalikan, periksa apakah port yang diperlukan terdaftar.

Untuk memeriksa apakah koneksi Anda menggunakan Kerberos, jalankan kueri berikut:

SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SPID;

Jika instans Anda mengembalikan koneksi NTLM saat Anda menyambung ke titik akhir Kerberos, verifikasi konfigurasi jaringan dan konfigurasi pengguna Anda. Lihat Konfigurasikan konektivitas jaringan Anda.

Langkah 3: Buat login SQL Server Otentikasi Windows

Gunakan kredensial pengguna master Amazon RDS untuk terhubung ke instans basis data SQL Server sebagaimana Anda lakukan dengan instans DB lain. Karena instans DB digabungkan ke domain AD yang dikelola sendiri, Anda dapat menyediakan login dan pengguna SQL Server. Anda melakukannya dari utilitas pengguna dan grup AD di domain AD yang dikelola sendiri. Izin basis data dikelola melalui izin SQL Server standar yang diberikan dan dicabut ke login Windows ini.

Agar akun layanan domain AD yang dikelola sendiri dapat diautentikasi dengan SQL Server, login Windows SQL Server harus ada untuk akun layanan domain AD yang dikelola sendiri atau grup AD yang dikelola sendiri yang menjadi anggotanya pengguna. Fine-grained kontrol akses ditangani melalui pemberian dan pencabutan izin pada login SQL Server ini. Akun layanan domain AD yang dikelola sendiri yang tidak memiliki login SQL Server atau milik grup AD yang dikelola sendiri dengan login seperti itu tidak dapat mengakses instance SQL Server DB.

Izin ALTER ANY LOGIN diperlukan untuk membuat login SQL Server AD yang dikelola sendiri. Jika Anda belum membuat login apa pun dengan izin ini, hubungkan sebagai pengguna master instans DB menggunakan Autentikasi SQL Server dan buat login SQL Server AD yang dikelola sendiri dalam konteks pengguna master.

Anda dapat menjalankan perintah bahasa definisi data (DDL) seperti berikut ini untuk membuat login SQL Server untuk akun atau grup layanan domain AD yang dikelola sendiri.

catatan

Tentukan pengguna dan grup yang menggunakan nama login pra-Windows 2000 dalam format my_AD_domain\my_AD_domain_user. Anda tidak dapat menggunakan nama prinsipal pengguna (UPN) dalam format my_AD_domain_user@my_AD_domain.

USE [master] GO CREATE LOGIN [my_AD_domain\my_AD_domain_user] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO
catatan

Jika Anda menghapus pengguna Active Directory dan membuat pengguna baru dengan yang samasAMAccountName, lalu jalankan CREATE LOGIN [DOMAIN\username] FROM WINDOWS pada instance RDS untuk SQL Server, login mungkin dibuat dengan SID pengguna yang dihapus alih-alih SID pengguna baru, menyebabkan kegagalan Otentikasi Windows. Hal ini terjadi karena host RDS menyimpan pemetaan Name-to-SID di tingkat OS, dan cache ini tidak dapat diakses secara langsung oleh pelanggan. Untuk menghindari masalah ini, gunakan unik sAMAccountName untuk setiap siklus penyediaan (misalnya, dengan menambahkan cap waktu atau akhiran versi). Jika Anda harus menggunakan kembali nama yang sama, jalankan DBCC FREESYSTEMCACHE('TokenAndPermUserStore') setelah membuat ulang pengguna AD, lalu tunggu hingga 10 menit (untuk memungkinkan OS-level cache disegarkan, karena interval ini tidak dapat dikonfigurasi pada instans terkelola RDS) dan validasi yang SUSER_SID('DOMAIN\username') mengembalikan SID yang diharapkan sebelum membuat login.

Untuk informasi selengkapnya, lihat CREATE LOGIN (Transact-SQL) dalam dokumentasi Microsoft Developer Network.

Pengguna (baik manusia maupun aplikasi) dari domain Anda kini dapat terhubung ke instans RDS for SQL Server dari mesin klien yang tergabung dengan domain AD yang dikelola sendiri menggunakan autentikasi Windows.