Hinzufügen Ihrer DB-Instance zu Ihrem selbstverwalteten Active Directory
Gehen Sie wie folgt vor, um Ihre DB-Instance von RDS für SQL Server zu Ihrem selbstverwalteten AD hinzuzufügen:
Schritt 1: Erstellen oder Modifizieren einer SQL Server-DB-Instance
Sie können die Konsole, die CLI oder die RDS-API verwenden, um eine RDS-für- SQL-Server-DB-Instance mit einer selbstverwalteten AD-Domain zu verknüpfen. Sie können dafür eine der folgenden Möglichkeiten auswählen:
-
Erstellen Sie eine neue SQL Server-DB-Instance mithilfe der Konsole, des CLI-Befehls create-db-instance oder der CreateDBInstance-RDS-API-Operation.
Detaillierte Anweisungen finden Sie unter Erstellen einer Amazon-RDS-DB-Instance.
-
Ändern Sie eine vorhandene SQL Server-DB-Instance mithilfe der Konsole, des CLI-Befehls modify-db-instance oder der ModifyDBInstance-RDS-API-Operation.
Detaillierte Anweisungen finden Sie unter Ändern einer Amazon-RDS-DB-Instance.
-
Stellen Sie eine SQL Server-DB-Instance aus einem DB-Snapshot mithilfe der Konsole, des CLI-Befehls restore-db-instance-from-db-snapshot oder der RDS-API-Operation RestoreDBInstanceFromDBSnapshot wieder her.
Detaillierte Anweisungen finden Sie unter Wiederherstellen auf eine DB-Instance.
-
Stellen Sie eine SQL Server-DB-Instance aus einem Snapshot mithilfe der Konsole, des CLI-Befehls restore-db-instance-to-point-in-time oder der RDS-API-Operation RestoreDBInstanceToPointInTime wieder her.
Detaillierte Anweisungen finden Sie unter Wiederherstellen einer DB-Instance auf einen bestimmten Zeitpunkt für Amazon RDS.
Wenn Sie die AWS CLI verwenden, sind die folgenden Parameter für die DB-Instance erforderlich, damit sie die erstellte selbstverwaltete Active-Directory-Domain verwenden kann:
-
Verwenden Sie für den Parameter
--domain-fqdnden vollständig qualifizierten Domain-Namen (FQDN) Ihres selbstverwalteten AD. -
Verwenden Sie für den Parameter
--domain-oudie Organisationseinheit, die Sie in Ihrem selbstverwalteten AD erstellt haben. -
Verwenden Sie für den Parameter
--domain-auth-secret-arnden Wert des Secret-ARN, den Sie in einem vorherigen Schritt erstellt haben. -
Verwenden Sie für den Parameter
--domain-dns-ipsdie primären und sekundären IPv4-Adressen der DNS-Server für Ihr selbstverwaltetes AD. Wenn Sie keine sekundäre DNS-Server-IP-Adresse haben, geben Sie die primäre IP-Adresse zweimal ein.
Die folgenden CLI-Beispielbefehle zeigen, wie Sie eine RDS-für-SQL-Server-DB-Instance mit einer selbstverwalteten AD-Domain erstellen, ändern und entfernen.
Wichtig
Wenn Sie eine DB-Instance ändern, um sie einer selbstverwalteten AD-Domain hinzuzufügen oder aus dieser zu entfernen, ist ein Neustart der DB-Instance erforderlich, damit die Änderung wirksam wird. Sie können wählen, ob Sie die Änderungen sofort übernehmen oder bis zum nächsten Wartungsfenster warten möchten. Wenn Sie die Option Sofort anwenden auswählen, führt dies bei einer Single-AZ-DB-Instance zu Ausfallzeiten. Eine Multi-AZ-DB-Instance führt ein Failover durch, bevor ein Neustart ausgeführt wird. Weitere Informationen finden Sie unter Verwenden der Einstellung „Planen von Änderungen“.
Mit dem folgenden CLI-Befehl wird eine neue RDS-für-SQL-Server-DB-Instance erstellt und einer selbstverwalteten AD-Domain hinzugefügt.
Für Linux, macOS oder Unix:
aws rds create-db-instance \ --db-instance-identifiermy-DB-instance\ --db-instance-classdb.m5.xlarge\ --allocated-storage50\ --enginesqlserver-se\ --engine-version15.00.4043.16.v1\ --license-modellicense-included\ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=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"
Für Windows:
aws rds create-db-instance ^ --db-instance-identifiermy-DB-instance^ --db-instance-classdb.m5.xlarge^ --allocated-storage50^ --enginesqlserver-se^ --engine-version15.00.4043.16.v1^ --license-modellicense-included^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --domain-fqdnmy-AD-test.my-AD.mydomain^ --domain-ouOU=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"
Mit dem folgenden CLI-Befehl wird eine vorhandene DB-Instance von RDS für SQL Server, so geändert, dass sie eine selbstverwaltete AD-Domain verwendet.
Für Linux, macOS oder Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --domain-fqdnmy_AD_domain.my_AD.my_domain\ --domain-ouOU=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"
Für Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-DBinstance^ --domain-fqdnmy_AD_domain.my_AD.my_domain^ --domain-ouOU=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"
Mit dem folgenden CLI-Befehl wird eine DB-Instance von RDS für SQL Server aus einer selbstverwalteten AD-Domain entfernt.
Für Linux, macOS oder Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-DB-instance\ --disable-domain
Für Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-DB-instance^ --disable-domain
Schritt 2: Verwenden der Kerberos- oder NTLM-Authentifizierung
NTLM-Authentifizierung
Jede DB-Instance von Amazon RDS hat einen Endpunkt und jeder Endpunkt hat einen DNS-Namen und eine Portnummer für die DB-Instance. Um eine Verbindung mir Ihrer DB-Instance mit einer SQL-Client-Anwendung herzustellen, benötigen Sie den DNS-Namen und die Portnummer für Ihre DB-Instance. Um sich mithilfe der NTLM-Authentifizierung zu authentifizieren, müssen Sie eine Verbindung zum RDS-Endpunkt oder zum Listener-Endpunkt herstellen, wenn Sie eine Multi-AZ-Bereitstellung verwenden.
Bei einer geplanten Datenbankwartung oder einer nicht geplanten Serviceunterbrechung erfolgt ein automatisches Failover von Amazon RDS zur aktuellen sekundären Datenbank, damit Vorgänge schnell und ohne manuelles Eingreifen fortgesetzt werden können. Die primären und sekundären Instances verwenden denselben Endpunkt, dessen physische Netzwerkadresse als Teil des Failover-Prozesses an das sekundäre Replikat übergeben wird. Sie müssen Ihre Anwendung nicht neu konfigurieren, wenn ein Failover auftritt.
Kerberos-Authentifizierung
Für die Kerberos-basierte Authentifizierung für RDS für SQL Server müssen Verbindungen zu einem bestimmten Service-Prinzipalnamen (SPN) hergestellt werden. Nach einem Failover-Ereignis ist der Anwendung der neue SPN jedoch möglicherweise nicht bekannt. Um dieses Problem zu lösen, bietet RDS für SQL Server einen Kerberos-basierten Endpunkt.
Der Kerberos-basierte Endpunkt folgt einem bestimmten Format. Wenn Ihr RDS-Endpunkt ist, wäre rds-instance-name.account-region-hash.aws-region.rds.amazonaws.com der entsprechende Kerberos-basierte Endpunkt.rds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)
Wenn der RDS-Endpunkt beispielsweise ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com ist und der Domain-Name corp-ad.company.com lautet, wäre der Kerberos-basierte Endpunkt ad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com.
Dieser Kerberos-basierte Endpunkt kann zur Authentifizierung bei der SQL-Server-Instance mithilfe von Kerberos verwendet werden, auch nach einem Failover-Ereignis, da der Endpunkt automatisch aktualisiert wird, sodass er auf den neuen SPN der primären SQL-Server-Instance verweist.
Auffinden Ihres CNAME
Um Ihren CNAME zu finden, stellen Sie eine Verbindung zu Ihrem Domain-Controller her und öffnen Sie den DNS-Manager. Navigieren Sie zu Forward-Lookup-Zonen und Ihrem FQDN.
Navigieren Sie durch awsrds, aws-region und account and region specific hash.
Wenn nach der Verbindung mit CNAME vom Remote-Client aus eine NTLM-Verbindung zurückgegeben wird, überprüfen Sie, ob die erforderlichen Ports auf der Zulassungsliste stehen.
Wenn Sie überprüfen möchten, ob Ihre Verbindung Kerberos verwendet, führen Sie die folgende Abfrage aus:
SELECT net_transport, auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@SSPID;
Wenn Ihre Instance beim Herstellen einer Verbindung zu einem Kerberos-Endpunkt eine NTLM-Verbindung zurückgibt, überprüfen Sie Ihre Netzwerk- und Benutzerkonfigurationen. Siehe Konfigurieren Ihrer Netzwerkkonnektivität.
Schritt 3: Erstellen von SQL Server-Anmeldungen für die Windows-Authentifizierung
Verwenden Sie die Anmeldeinformationen für den Amazon-RDS-Masterbenutzer, um eine Verbindung zur SQL-Server-DB-Instance herzustellen, wie Sie es bei jeder anderen DB-Instance tun würden. Da die DB-Instance der selbstverwalteten AD-Domain hinzugefügt wurde, können Sie SQL-Server-Anmeldungen und -Benutzer bereitstellen. Sie tun dies über das AD-Dienstprogramm für Benutzer und Gruppen in Ihrer selbstverwalteten AD-Domain. Datenbankberechtigungen werden über die Standard-SQL-Server-Berechtigungen verwaltet, die für die Windows-Anmeldungen gewährt und widerrufen werden.
Damit sich ein Domain-Servicekonto eines selbstverwalteten AD mit SQL Server authentifizieren kann, muss eine Windows-Anmeldung für SQL Server für das Domain-Servicekonto des selbstverwalteten AD oder für eine Gruppe des selbstverwalteten AD, der der Benutzer angehört, vorliegen. Eine differenzierte Zugriffskontrolle wird durch das Gewähren und Widerrufen von Berechtigungen für diese SQL Server-Anmeldungen gewährleistet. Ein Domain-Servicekonto des selbstverwalteten AD, das über keine SQL-Server-Anmeldung verfügt oder zu keiner Gruppe des selbstverwalteten AD mit einer solchen Anmeldung gehört, kann nicht auf die DB-Instance von SQL Server zugreifen.
Die Berechtigung ALTER ANY LOGIN ist erforderlich, um eine SQL-Server-Anmeldung für das selbstverwaltete AD zu erstellen. Wenn Sie mit dieser Berechtigung noch keine Anmeldungen erstellt haben, verbinden Sie sich mithilfe der SQL-Server-Authentifizierung als Masterbenutzer der DB-Instance und erstellen Sie Ihre SQL-Server-Anmeldungen für das selbstverwaltete AD im Kontext des Masterbenutzers.
Sie können einen Data Definition Language (DDL)-Befehl wie im Folgenden dargestellt ausführen, um eine SQL-Server-Anmeldung für ein Domain-Servicekonto des selbstverwalteten AD oder eine entsprechende Gruppe zu erstellen.
Anmerkung
Geben Sie Benutzer und Gruppen unter Verwendung des Anmeldenamens von Windows 2000 im Format a . Sie können keinen User Principle Name (UPN) im Format verwenden my_AD_domain\my_AD_domain_usermy_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
Weitere Informationen finden Sie unter ANMELDENAME ERSTELLEN (Transact-SQL)
Benutzer (sowohl menschliche Benutzer als auch Anwendungen) aus Ihrer Domain können sich nun von einem einer selbstverwalteten AD-Domain hinzugefügten Client-Computer mithilfe der Windows-Authentifizierung mit der RDS-für-SQL-Server-Instance verbinden.