View a markdown version of this page

Menyiapkan Windows Authentication untuk RDS Custom untuk instans SQL Server - Amazon Relational Database Service

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

Menyiapkan Windows Authentication untuk RDS Custom untuk instans SQL Server

Sebaiknya buat kredentif OU dan layanan khusus yang dicakup oleh OU tersebut untuk semua Akun AWS yang memiliki instans DB RDS Custom untuk SQL Server yang bergabung dengan domain AD Anda. Dengan mendedikasikan OU dan kredentif layanan, Anda menghindari izin yang bertentangan dan mengikuti prinsip hak istimewa paling sedikit.

Kebijakan grup tingkat direktori aktif mungkin bertentangan dengan AWS otomatisasi dan izin. Sebaiknya pilih GPO yang hanya berlaku untuk OU yang Anda buat untuk RDS Custom untuk SQL Server.

  • Untuk membuat pengguna domain OU dan AD di AD yang dikelola sendiri atau di lokasi, Anda dapat menghubungkan pengontrol domain sebagai administrator domain.

  • Untuk membuat pengguna dan grup dalam Directory Service direktori, Anda harus terhubung ke instance manajemen dan Anda juga harus masuk sebagai pengguna dengan hak istimewa untuk membuat pengguna dan grup. Untuk informasi selengkapnya, lihat Manajemen pengguna dan grup di AWS Managed Microsoft AD dalam Panduan AWS Directory Service Administrasi.

  • Untuk mengelola Active Directory Anda dari instans Amazon EC2 Windows Server, Anda perlu menginstal layanan domain Active Directory dan alat layanan Direktori Ringan Active Directory pada instance EC2. Untuk informasi selengkapnya, lihat Menginstal Alat Administrasi Direktori Aktif untuk AWS Managed Microsoft AD di Panduan AWS Directory Service Administrasi.

  • Sebaiknya instal alat ini pada instans EC2 terpisah untuk administrasi, dan bukan pada RDS Custom untuk instans DB SQL Server untuk kemudahan administrasi.

Berikut ini adalah persyaratan untuk akun layanan domain AD:

  • Anda harus memiliki akun layanan di domain AD Anda dengan izin yang didelegasikan untuk menggabungkan komputer ke domain. Akun layanan domain adalah akun pengguna di AD Anda yang telah mendelegasikan izin untuk melakukan tugas tertentu.

  • Mendelegasikan izin berikut ke akun layanan domain Anda di Unit Organisasi tempat Anda bergabung dengan instance RDS Custom untuk SQL Server:

    • Kemampuan tervalidasi untuk menulis ke nama host DNS

    • Kemampuan tervalidasi untuk menulis ke nama prinsipal layanan

    • Membuat dan menghapus objek komputer

  • Untuk AD yang dikelola sendiri dan lokal, akun layanan domain harus menjadi anggota grup "Administrator Sistem Nama Domain yang Di AWS delegasikan”.

  • Untuk AWS Managed Microsoft AD, akun layanan domain harus menjadi anggota grup DnsAdmins "".

Ini adalah kumpulan izin minimum yang diperlukan untuk menggabungkan objek komputer ke AD yang dikelola sendiri dan AWS Managed Microsoft AD. Untuk informasi selengkapnya, lihat Kes alahan: Akses ditolak saat pengguna non-administrator yang telah didelegasikan kontrol mencoba menggabungkan komputer ke pengontrol domain dalam dokumentasi Microsoft Windows Server.

penting

Jangan memindahkan objek komputer yang dibuat oleh RDS Custom untuk SQL Server di Unit Organisasi (OU) setelah instance DB Anda dibuat. Memindahkan objek terkait dapat menyebabkan instance RDS Custom untuk SQL Server DB menjadi salah konfigurasi. Jika Anda perlu memindahkan objek komputer yang dibuat oleh Amazon RDS, gunakan tindakan ModifyDBInstance untuk memodifikasi parameter domain dengan lokasi objek komputer yang diinginkan.

Langkah 1: Buat unit organisasi (OU) di AD Anda

Gunakan langkah-langkah berikut untuk membuat unit organisasi di AD Anda:

Buat OU di AD Anda
  1. Hubungkan ke domain AD Anda sebagai administrator domain.

  2. Buka Active Directory Users and Computers dan pilih domain tempat Anda ingin membuat OU Anda.

  3. Right-click pilih domain dan pilih New, lalu Organization Unit.

  4. Masukkan nama untuk OU.

    Aktifkan Lindungi wadah dari penghapusan yang tidak disengaja.

  5. Pilih OK. OU baru Anda muncul di bawah domain Anda.

Untuk AWS Managed Microsoft AD, nama OU ini didasarkan pada nama NetBIOS yang Anda ketik ketika Anda membuat direktori Anda. OU ini dimiliki oleh AWS dan berisi semua objek direktori AWS terkait Anda, yang Anda diberi kontrol penuh. Secara default, ada dua OU anak di bawah OU ini, yaitu Kom puter dan Pengguna. OU baru yang dibuat RDS Custom adalah anak dari OU yang didasarkan pada NetBIOS.

Langkah 2: Buat pengguna domain AD

KredenSIAL pengguna domain digunakan untuk rahasia di Secrets Manager.

Membuat pengguna domain AD di AD Anda
  1. Buka Active Directory Users and Computers dan pilih domain dan OU tempat Anda ingin membuat pengguna.

  2. Right-click objek Pengguna dan pilih Baru, lalu Pengguna.

  3. Masukkan nama depan, nama belakang, dan nama login untuk pengguna. Klik Next.

  4. Masukkan kata sandi untuk pengguna. Jangan pilih Pengguna harus mengubah kata sandi pada login berikutnya atau Akun dinonaktifkan. . Klik Next.

  5. Klik OK. Pengguna baru Anda muncul di bawah domain Anda.

Langkah 3: Mendelegasikan kontrol ke pengguna AD dalam pengelolaan sendiri atau AWS Managed Microsoft AD

Untuk mendelegasikan kontrol ke pengguna domain AD di domain Anda
  1. Buka snap-in MMC Pengguna Direktori Aktif dan Komputer dan pilih domain Anda.

  2. Right-click pada OU yang Anda buat sebelumnya dan pilih Kontrol Delegasi.

  3. Di Wizard Kontrol Delegasi, klik Berikutnya.

  4. Di bagian Pengguna atau Grup, klik Tam bah.

  5. Di Pilih Pengguna, Komputer, atau Grup, masukkan pengguna AD yang Anda buat dan klik Per iksa Nama. Jika pemeriksaan pengguna AD Anda berhasil, klik OK.

  6. Di bagian Pengguna atau Grup, konfirmasikan pengguna AD Anda telah ditambahkan dan klik Ber ikutnya.

  7. Di bagian Tu gas untuk Delegasikan, pilih Buat tugas khusus untuk mendelegasikan dan klik Ber ikutnya.

  8. Di bagian Active Directory Object Type:

    Pilih HANYA objek berikut dalam folder.

    Pilih Ob jek Komputer

    Pilih Buat objek yang dipilih di folder ini

    Pilih Delete selected objects in this folder lalu klik Next.

  9. Di bagian Izin:

    Tetap pilih General.

    Pilih Validated write to DNS host name.

    Pilih Validated write to service principal name lalu klik Next.

  10. Dalam Men yelesaikan Wizard Delegasi Kontrol, konfirmasikan pengaturan Anda dan klik Selesai.

Langkah 4: Buat rahasia

Buat rahasia di Wilayah yang sama yang Akun AWS berisi instance RDS Custom untuk SQL Server DB yang ingin Anda sertakan dalam direktori aktif Anda. Simpan kredenSIAL pengguna domain AD yang dibuat diLangkah 2: Buat pengguna domain AD.

Console
  • Di AWS Secrets Manager, pilih Simpan rahasia baru.

  • Untuk Tipe rahasia, pilih Tipe rahasia lainnya.

  • Untuk Key/value pasangan, tambahkan dua kunci:

    • Kunci pertama, SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME dan masukkan nama pengguna AD Anda (tanpa awalan domain) untuk nilainya.

    • Untuk kunci kedua, masukkan SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD dan masukkan kata sandi untuk pengguna AD Anda di domain Anda.

  • Untuk kunci enkripsi, masukkan AWS KMS kunci yang sama yang Anda gunakan untuk membuat RDS Custom untuk instance SQL Server.

  • Untuk Nama rahasia, pilih nama rahasia yang dimulai dengan do-not-delete-rds-custom- untuk mengizinkan profil instans Anda mengakses rahasia ini. JIKA Anda ingin memilih nama yang berbeda untuk rahasia, perbarui RDSCustomInstanceProfile untuk mengakses nama Rahasia.

  • (Opsional) Untuk Deskripsi, masukkan deskripsi untuk nama rahasia.

  • Tambahkan tag Key="AWSRDSCustom",Value="custom-sqlserver"

  • Klik Simpan, lalu Ber ikutnya.

  • Untuk Konfigurasikan pengaturan rotasi, pertahankan nilai default dan pilih Berikutnya.

  • Tinjau pengaturan untuk rahasia lalu klik Simpan.

  • Pilih rahasia baru dan salin nilai untuk Secret ARN. Kami menggunakan ini di langkah berikutnya untuk mengatur Active Directory Anda.

CLI

Jalankan perintah berikut di CLI Anda untuk membuat rahasia:

# Linux based aws secretsmanager create-secret \ --name do-not-delete-rds-custom-DomainUserCredentails \ --description "Active directory user credentials for managing RDS Custom" \ --secret-string "{\"SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"tester\",\"SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"xxxxxxxx\"}" \ --kms-key-id <RDSCustomKMSKey> \ --tags Key="AWSRDSCustom",Value="custom-sqlserver" # Windows based aws secretsmanager create-secret ^ --name do-not-delete-rds-custom-DomainUserCredentails ^ --description "Active directory user credentials for managing RDS Custom" ^ --secret-string "{\"SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"tester\",\"SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"xxxxxxxx\"}" ^ --kms-key-id <RDSCustomKMSKey> ^ --tags Key="AWSRDSCustom",Value="custom-sqlserver"

Langkah 5: Membuat atau memodifikasi RDS Custom untuk instance SQL Server DB

Buat atau ubah instance RDS Custom untuk SQL Server DB untuk digunakan dengan direktori Anda. Anda dapat menggunakan konsol, CLI, atau RDS API untuk mengaitkan suatu instans DB dengan direktori. Anda dapat melakukannya dengan salah satu cara berikut:

catatan

Jika instance RDS Custom untuk SQL Server Anda sudah bergabung ke AD secara manual, periksa pengaturan untukAturan port konfigurasi jaringan,Validasi Jaringan, dan selesaikan langkah 1 melalui Langkah 4. Perbarui--domain-fqdn,--domain-ou, dan --domain-auth-secret-arn ke AD Anda, sehingga kredenSIAL dan konfigurasi penggabungan domain terdaftar dengan RDS Custom untuk memantau, mendaftarkan CNAME, dan melakukan tindakan pemulihan.

Saat Anda menggunakan AWS CLI, parameter berikut diperlukan agar instance DB dapat menggunakan direktori yang Anda buat:

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

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

  • Untuk --domain-auth-secret-arn parameter, gunakan nilai ARN Rah asia yang Anda buat.

penting

Jika Anda memodifikasi instance DB untuk bergabung atau dihapus dari domain AD yang dikelola sendiri atau AWS Managed Microsoft AD, reboot instans DB diperlukan agar modifikasi berlaku. Anda dapat memilih untuk segera menerapkan perubahan atau menunggu hingga periode pemeliharaan berikutnya. Memilih opsi Ter apkan Segera menyebabkan downtime untuk instance DB AZ tunggal. Cluster Multi-AZ DB melakukan failover sebelum menyelesaikan reboot. Untuk informasi selengkapnya, lihat Memodifikasi instans DB Amazon RDS.

Perintah CLI berikut membuat instance RDS Custom baru untuk SQL Server DB dan menggabungkannya ke mandiri atau domain. AWS Managed Microsoft AD

Untuk Linux, macOS, atau Unix:

aws rds create-db-instance \ --engine custom-sqlserver-se \ --engine-version 15.00.4312.2.v1 \ --db-instance-identifier my-custom-instance \ --db-instance-class db.m5.large \ --allocated-storage 100 --storage-type io1 --iops 1000 \ --master-username my-master-username \ --master-user-password my-master-password \ --kms-key-id my-RDSCustom-key-id \ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \ --domain-fqdn "corp.example.com" \ --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" \ --db-subnet-group-name my-DB-subnet-grp \ --vpc-security-group-ids my-securitygroup-id \ --no-publicly-accessible \ --backup-retention-period 3 \ --port 8200 \ --region us-west-2 \ --no-multi-az

Untuk Windows:

aws rds create-db-instance ^ --engine custom-sqlserver-se ^ --engine-version 15.00.4312.2.v1 ^ --db-instance-identifier my-custom-instance ^ --db-instance-class db.m5.large ^ --allocated-storage 100 --storage-type io1 --iops 1000 ^ --master-usernamemy-master-username ^ --master-user-password my-master-password ^ --kms-key-id my-RDSCustom-key-id ^ --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^ --domain-fqdn "corp.example.com" ^ --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" ^ --db-subnet-group-name my-DB-subnet-grp ^ --vpc-security-group-ids my-securitygroup-id ^ --no-publicly-accessible ^ --backup-retention-period 3 ^ --port 8200 ^ --region us-west-2 ^ --no-multi-az
penting

Jika NetBIOS Anda untuk AWS Managed Microsoft AD adalah corpexample, maka itu muncul sebagai OU itu sendiri. Setiap OU baru yang dibuat sebelumnya akan muncul sebagai OU bersarang. Untuk AWS Managed Microsoft AD, atur --domain-ou ke"OU=RDSCustomOU,OU=corpexample,DC=corp,DC=example,DC=com".

Perintah berikut memodifikasi instance RDS Custom untuk SQL Server DB yang ada untuk menggunakan domain Active Directory.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --domain-fqdn "corp.example.com" \ --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" \ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" \

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --domain-fqdn "corp.example.com" ^ --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" ^ --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" ^

Perintah CLI berikut menghapus dan RDS Custom untuk instance SQL Server DB dari domain Active Directory.

Untuk Linux, macOS, atau Unix:

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

Untuk Windows:

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

Saat menggunakan konsol untuk membuat atau memodifikasi instance Anda, klik Aktifkan Otentikasi Windows Microsoft SQL Server untuk melihat opsi berikut.

Direktori Otentikasi Windows Microsoft SQL Server.

Anda bertanggung jawab untuk memastikan FQDN domain Anda diselesaikan ke alamat IP pengontrol domain. Jika IP pengontrol domain tidak diselesaikan, operasi penggabungan domain gagal tetapi pembuatan instance RDS Custom untuk SQL Server berhasil. Untuk informasi pemecahan masalah, lihat Pemecahan Masalah Active Directory.

Langkah 6: 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 instance DB bergabung dengan domain AD, Anda dapat menyediakan login dan pengguna SQL Server. Anda melakukan ini dari utilitas pengguna dan grup AD di domain AD Anda. Izin basis data dikelola melalui izin SQL Server standar yang diberikan dan dicabut ke login Windows ini.

Agar pengguna AD dapat mengotentikasi dengan SQL Server, login Windows SQL Server harus ada untuk pengguna AD atau grup Direktori Aktif yang menjadi anggotanya pengguna tersebut. Fine-grained kontrol akses ditangani melalui pemberian dan pencabutan izin pada login SQL Server ini. Pengguna AD yang tidak memiliki login SQL Server atau termasuk dalam grup AD dengan login seperti itu tidak dapat mengakses instance SQL Server DB.

Iz ALTER ANY LOGIN in diperlukan untuk membuat login AD SQL Server. Jika Anda belum membuat login apa pun dengan izin ini, sambungkan sebagai pengguna master instance DB menggunakan SQL Server Authentication dan buat login AD SQL Server Anda di bawah konteks pengguna master.

Anda dapat menjalankan perintah bahasa definisi data (DDL) seperti berikut ini untuk membuat login SQL Server untuk pengguna atau grup AD.

USE [master] GO CREATE LOGIN [mydomain\myuser] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO

Pengguna (baik manusia maupun aplikasi) dari domain Anda sekarang dapat terhubung ke instance RDS Custom for SQL Server dari mesin klien yang bergabung dengan domain menggunakan otentikasi Windows.

Langkah 7: Menggunakan Kerberos atau Otentikasi NTLM

Otentikasi NTLM menggunakan titik akhir RDS

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.

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 Custom 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 Custom 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.

Jika Anda menghubungkan instance RDS Custom EC2 dan mencoba menyambung ke database secara lokal menggunakan CNAME, koneksi Anda akan menggunakan otentikasi NTLM alih-alih Kerberos.

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;