Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Einrichten einer Windows-Authentifizierung für Instances von RDS Custom für SQL Server
Wir empfehlen, für alle, die eine RDS Custom for SQL Server-DB-Instance besitzen, die mit Ihrer AD-Domäne verbunden ist AWS-Konto , eine dedizierte Organisationseinheit und Dienstanmeldedaten zu erstellen, die auf diese Organisationseinheit beschränkt sind. Durch die Zuordnung einer Organisationseinheit und der Service-Anmeldeinformationen können Sie widersprüchliche Berechtigungen vermeiden und dem Prinzip der geringsten Berechtigung folgen.
Gruppenrichtlinien auf Active Directory-Ebene können zu Konflikten mit AWS Automatisierungen und Berechtigungen führen. Es wird empfohlen, GPOs auszuwählen, die nur für die Organisationseinheit gelten, die Sie für RDS Custom für SQL Server erstellen.
Um Organisationseinheit- und AD-Domain-Benutzer in Ihrem selbstverwalteten oder On-Premises-AD zu erstellen, können Sie den Domain-Controller als Domain-Administrator verbinden.
-
Um Benutzer und Gruppen in einem Directory Service Verzeichnis zu erstellen, müssen Sie mit einer Verwaltungsinstanz verbunden sein und außerdem als Benutzer mit Rechten zum Erstellen von Benutzern und Gruppen angemeldet sein. Weitere Informationen finden Sie unter User and group management in AWS Managed Microsoft AD im AWS Directory Service -Administrationshandbuch.
-
Um Ihr Active Directory über eine Windows-Server-Instance von Amazon EC2 zu verwalten, müssen Sie Tools für Active Directory Domain Services und Active Directory Lightweight Directory Services auf der EC2-Instance installieren. Weitere Informationen finden Sie unter Installing Active Directory Administration Tools for AWS Managed Microsoft AD im AWS Directory Service -Administrationshandbuch.
-
Wir empfehlen, diese Tools zur Verwaltung auf einer separaten EC2-Instance und nicht auf Ihrer DB-Instance von RDS Custom für SQL Server zu installieren, um die Verwaltung zu vereinfachen.
Folgende Anforderungen gelten für ein AD-Domain-Servicekonto:
Sie müssen in Ihrer AD-Domain über ein Servicekonto mit delegierten Berechtigungen zum Hinzufügen von Computern zu der Domain verfügen. Ein Domain-Servicekonto ist ein Benutzerkonto in Ihrem AD, an das die Berechtigung zur Ausführung bestimmter Aufgaben delegiert wurde.
-
An das Domain-Servicekonto müssen in der Organisationseinheit, der Sie Ihre DB-Instance von RDS für SQL Server hinzufügen, die folgenden Berechtigungen delegiert werden:
Überprüfte Fähigkeit zum Schreiben in den DNS-Hostnamen
Überprüfte Fähigkeit zum Schreiben in den Prinzipalnamen des Service
Erstellen und Löschen von Computerobjekten
-
Für selbstverwaltetes und lokales AD muss das Domänendienstkonto Mitglied der Gruppe „AWS Delegated Domain Name System Administrators“ sein.
-
Denn AWS Managed Microsoft AD das Domänendienstkonto sollte Mitglied der Gruppe "" DnsAdmins sein.
Dies sind die erforderlichen Mindestberechtigungen, um Computerobjekte zu Ihrem selbstverwalteten Active Directory und AWS Managed Microsoft AD hinzuzufügen. Weitere Informationen finden Sie unter Error: Access is denied when non-administrator users who have been delegated control try to join computers to a domain controller
Wichtig
Verschieben Sie keine Computerobjekte, die RDS Custom für SQL Server in der Organisationseinheit (OU) erstellt, nachdem Ihre DB-Instance erstellt wurde. Wenn Sie die zugehörigen Objekte verschieben, wird Ihre DB-Instance von RDS Custom für SQL Server falsch konfiguriert. Wenn Sie die von Amazon RDS erstellten Computerobjekte verschieben müssen, verwenden Sie die Aktion ModifyDBInstance, um die Domain-Parameter mit dem gewünschten Speicherort der Computerobjekte zu ändern.
Themen
Schritt 1: Erstellen einer Organisationseinheit (OU) in Ihrem AD
Führen Sie die folgenden Schritte aus, um eine Organisationseinheit in Ihrem AD zu erstellen:
Erstellen einer Organisationseinheit in Ihrem AD
-
Stellen Sie als Domain-Administrator eine Verbindung zu Ihrem Domain-AD her.
-
Öffnen Sie Active Directory-Benutzer und -Computer und wählen Sie die Domain aus, in der Sie Ihre Organisationseinheit erstellen möchten.
-
Right-click geben Sie die Domäne ein und wählen Sie „Neu“ und dann „Organisationseinheit“.
-
Geben Sie einen Namen für die Organisationseinheit ein.
Aktivieren Sie Container vor versehentlichem Löschen schützen.
-
Wählen Sie OK aus. Ihre neue Organisationseinheit wird unter Ihrer Domain angezeigt.
Denn AWS Managed Microsoft AD der Name dieser Organisationseinheit basiert auf dem NetBIOS-Namen, den Sie bei der Erstellung Ihres Verzeichnisses eingegeben haben. Diese Organisationseinheit gehört all Ihren AWS zugehörigen Verzeichnisobjekten AWS und enthält diese, über die Sie volle Kontrolle haben. Standardmäßig existieren zwei untergeordnete OUs unter dieser Organisationseinheit: Computer und Benutzer. Neue Organisationseinheiten, die RDS Custom erstellt, sind untergeordnete OUs der Organisationseinheit, die auf dem NetBIOS basiert.
Schritt 2: Erstellen eines AD-Domain-Benutzers
Die Anmeldeinformationen des Domain-Benutzers werden für das Secret in Secrets Manager verwendet.
Erstellen eines AD-Domain-Benutzer in Ihrem AD
Öffnen Sie Active-Directory-Benutzer und -Computer und wählen Sie die Domain und die Organisationseinheit aus, in der Sie den Benutzer erstellen möchten.
Right-click klicken Sie auf das Objekt „Benutzer“ und wählen Sie „Neu“ und anschließend „Benutzer“.
Geben Sie einen Vornamen, Nachnamen und Anmeldenamen für den Benutzer ein. Klicken Sie auf Weiter.
Geben Sie ein Passwort für den Benutzer ein. Wählen Sie nicht Benutzer muss das Passwort bei der nächsten Anmeldung ändern oder Konto ist deaktiviert aus. Klicken Sie auf Weiter.
Klicken Sie auf OK. Ihr neuer Benutzer wird unter Ihrer Domain angezeigt.
Schritt 3: Delegieren Sie die Steuerung an den AD-Benutzer im selbstverwalteten Modus oder AWS Managed Microsoft AD
So delegieren Sie die Kontrolle an den AD-Domain-Benutzer in Ihrer Domain
-
Öffnen Sie das MMC-Snap-In Active-Directory-Benutzer und -Computer und wählen Sie Ihre Domain aus.
-
Right-click auf der Organisationseinheit, die Sie zuvor erstellt haben, und wählen Sie Delegate Control aus.
-
Klicken Sie im Assistenten für die Delegation der Kontrolle auf Weiter.
-
Klicken Sie im Abschnitt Benutzer oder Gruppen auf Hinzufügen.
-
Geben Sie unter Benutzer, Computer oder Gruppen auswählen den von Ihnen erstellten AD-Benutzer ein und klicken Sie auf Namen überprüfen. Wenn Ihre AD-Benutzerprüfung erfolgreich ist, klicken Sie auf OK.
-
Bestätigen Sie im Abschnitt Benutzer oder Gruppen, dass Ihr AD-Benutzer hinzugefügt wurde, und klicken Sie auf Weiter.
-
Wählen Sie im Abschnitt Zu delegierende Aufgaben die Option Eine zu delegierende benutzerdefinierte Aufgabe erstellen aus und klicken Sie auf Weiter.
-
Gehen Sie im Abschnitt Active-Directory-Objekttyp wie folgt vor:
Wählen Sie Nur die folgenden Objekte in dem Ordner aus.
Wählen Sie Computerobjekte aus.
Wählen Sie Ausgewählte Objekte in diesem Ordner erstellen aus.
Wählen Sie Ausgewählte Objekte in diesem Ordner löschen aus und klicken Sie auf Weiter.
-
Gehen Sie im Abschnitt Berechtigungen wie folgt vor:
Behalten Sie die Auswahl von Allgemein bei.
Wählen Sie Überprüfter Schreibvorgang in den DNS-Hostnamen aus.
Wählen Sie Überprüfter Schreibvorgang in den Service-Prinzipalnamen aus und klicken Sie auf Weiter.
-
Bestätigen Sie Ihre Einstellungen unter Den Assistenten für die Delegation der Kontrolle abschließen und klicken Sie auf Fertig stellen.
Schritt 4: Erstellen eines Secrets
Erstellen Sie den geheimen Schlüssel in derselben AWS-Konto Region, die die RDS Custom for SQL Server-DB-Instance enthält, die Sie in Ihr Active Directory aufnehmen möchten. Speichern Sie die Anmeldeinformationen des AD-Domain-Benutzers, der in Schritt 2: Erstellen eines AD-Domain-Benutzers erstellt wurde.
Schritt 5: Erstellen oder Modifizieren einer DB-Instance von RDS Custom für SQL Server
Erstellen oder modifizieren Sie eine DB-Instance von SQL Server für die Verwendung mit Ihrem Verzeichnis. Sie können die Konsole, CLI oder RDS-API verwenden, um eine DB-Instance einem Verzeichnis zuzuordnen. 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 mithilfe der Konsole, des CLI-Befehls restore-db-instance-from-db-snapshot oder der RDS-API-Operation eine SQL Server-DB-Instance aus einem DB-Snapshot wieder her. RestoreDBInstanceFromDBSnapshot
Detaillierte Anweisungen finden Sie unter Wiederherstellen auf eine DB-Instance.
-
Stellen Sie eine SQL Server-DB-Instance mithilfe der Konsole, des CLI-Befehls restore-db-instance-to-Point-in-Time oder der RDS-API-Operation zu einem bestimmten Zeitpunkt wieder her. RestoreDBInstanceToPointInTime
Detaillierte Anweisungen finden Sie unter Wiederherstellen einer DB-Instance auf einen bestimmten Zeitpunkt für Amazon RDS.
Anmerkung
Wenn Ihre Instance von RDS Custom für SQL Server bereits manuell mit einem AD verbunden ist, überprüfen Sie die Einstellungen für Portregeln für die Netzwerkkonfiguration und Validieren des Netzwerks und führen Sie die Schritte 1 bis 4 aus. Aktualisieren Sie --domain-fqdn, --domain-ou und --domain-auth-secret-arn für Ihr AD, sodass Anmeldeinformationen und Konfigurationen für die Domain-Verbindung bei RDS Custom registriert sind, um CNAME zu überwachen, zu registrieren und Wiederherstellungsmaßnahmen zu ergreifen.
Wenn Sie den verwenden, sind die folgenden Parameter erforderlich AWS CLI, damit die DB-Instance das von Ihnen erstellte Verzeichnis 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 erstellt haben.
Wichtig
Wenn Sie eine DB-Instance so ändern, dass sie einer selbstverwalteten AD-Domain beitritt oder aus ihr entfernt wird AWS Managed Microsoft AD, 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 DB-Instance mit Single-AZ zu Ausfallzeiten. Ein Multi-AZ DB-Cluster führt vor Abschluss eines Neustarts einen Failover durch. Weitere Informationen finden Sie unter Ändern einer Amazon-RDS-DB-Instance.
Der folgende CLI-Befehl erstellt eine neue RDS Custom for SQL Server-DB-Instance und verbindet sie mit einer selbstverwalteten oder einer AWS Managed Microsoft AD Domäne.
Für Linux, macOS oder Unix:
aws rds create-db-instance \ --engine custom-sqlserver-se \ --engine-version 15.00.4312.2.v1 \ --db-instance-identifiermy-custom-instance\ --db-instance-class db.m5.large \ --allocated-storage 100 --storage-type io1 --iops 1000 \ --master-usernamemy-master-username\ --master-user-passwordmy-master-password\ --kms-key-idmy-RDSCustom-key-id\ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance\ --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-namemy-DB-subnet-grp\ --vpc-security-group-idsmy-securitygroup-id\ --no-publicly-accessible \ --backup-retention-period 3 \ --port 8200 \ --region us-west-2 \ --no-multi-az
Für Windows:
aws rds create-db-instance ^ --engine custom-sqlserver-se ^ --engine-version 15.00.4312.2.v1 ^ --db-instance-identifiermy-custom-instance^ --db-instance-class db.m5.large ^ --allocated-storage 100 --storage-type io1 --iops 1000 ^ --master-usernamemy-master-username^ --master-user-passwordmy-master-password^ --kms-key-idmy-RDSCustom-key-id^ --custom-iam-instance-profileAWSRDSCustomInstanceProfileForRdsCustomInstance^ --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-namemy-DB-subnet-grp^ --vpc-security-group-idsmy-securitygroup-id^ --no-publicly-accessible ^ --backup-retention-period 3 ^ --port 8200 ^ --region us-west-2 ^ --no-multi-az
Wichtig
Wenn Ihr NetBIOS für corpexample AWS Managed Microsoft AD ist, wird es selbst als OU angezeigt. Jede zuvor erstellte neue Organisationseinheit wird als verschachtelte Organisationseinheit angezeigt. Für AWS Managed Microsoft AD, setzen Sie auf. --domain-ou "OU=RDSCustomOU,OU=corpexample,DC=corp,DC=example,DC=com"
Mit dem folgenden Befehl wird eine vorhandene DB-Instance von RDS Custom für SQL Server so geändert, dass sie eine Active-Directory-Domain verwendet.
Für Linux, macOS oder Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-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"\
Für Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-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"^
Mit dem folgenden CLI-Befehl wird eine DB-Instance von RDS Custom für SQL Server aus einer Active-Directory-Domain entfernt.
Für Linux, macOS oder Unix:
aws rds modify-db-instance \ --db-instance-identifiermy-custom-instance\ --disable-domain
Für Windows:
aws rds modify-db-instance ^ --db-instance-identifiermy-custom-instance^ --disable-domain
Wenn Sie die Konsole verwenden, um Ihre Instance zu erstellen oder zu ändern, klicken Sie auf Windows-Authentifizierung für Microsoft SQL Server aktivieren, um die folgenden Optionen zu sehen.
Sie müssen sicherstellen, dass Ihr Domain-FQDN in die IP-Adressen des Domain-Controllers aufgelöst wird. Wenn Domain-Controller-IPs nicht aufgelöst werden, schlagen Domain-Verbindungsvorgänge fehl, aber die Erstellung der Instance von RDS Custom für SQL Server ist erfolgreich. Informationen zur Problembehebung finden Sie unter Problembehebung bei Active Directory.
Schritt 6: Erstellen einer SQL-Server-Anmeldung 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 mit der AD-Domain verbunden ist, können Sie SQL-Server-Anmeldungen und -Benutzer bereitstellen. Sie tun dies über das AD-Dienstprogramm für Benutzer und Gruppen in Ihrer 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 AD-Benutzer bei SQL Server authentifizieren kann, muss ein SQL Server-Windows-Anmeldename für den AD-Benutzer oder eine Active Directory-Gruppe vorhanden sein, der der Benutzer angehört. Fine-grained Die Zugriffskontrolle erfolgt durch das Erteilen und Widerrufen von Berechtigungen für diese SQL Server-Logins. Ein AD-Benutzer, der keine SQL-Server-Anmeldung hat oder zu keiner AD-Gruppe mit einer solchen Anmeldung gehört, kann nicht auf die DB-Instance von SQL Server zugreifen.
Die ALTER ANY LOGIN-Berechtigung ist erforderlich, um eine SQL-Server-Anmeldung für das AD zu erstellen. Wenn Sie mit dieser Berechtigung noch keine Anmeldungen erstellt haben, verbinden Sie sich mithilfe der SQL-Server-Authentifizierung als Hauptbenutzer der DB-Instance und erstellen Sie Ihre SQL-Server-Anmeldungen für das AD im Kontext des Hauptbenutzers.
Sie können einen Data Definition Language (DDL)-Befehl wie im Folgenden dargestellt ausführen, um eine SQL-Server-Anmeldung für einen AD-Benutzer oder eine AD-Gruppe zu erstellen.
USE [master] GO CREATE LOGIN [mydomain\myuser] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english]; GO
Benutzer (sowohl menschliche Benutzer als auch Anwendungen) von Ihrer Domain können sich nun von einem über eine Domain verbundenen Client-Computer mithilfe der Windows-Authentifizierung an der Instance von RDS Custom für SQL Server anmelden.
Schritt 7: Verwenden der Kerberos- oder NTLM-Authentifizierung
NTLM-Authentifizierung mithilfe des RDS-Endpunkts
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 herstellen.
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
Kerberos-based Für die Authentifizierung für RDS Custom for SQL Server müssen Verbindungen zu einem bestimmten Service Principal Name (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 Custom for SQL Server einen Kerberos-based Endpunkt.
Der Kerberos-based Endpunkt folgt einem bestimmten Format. Wenn Ihr RDS-Endpunkt ist, wäre es der entsprechende Kerberos-based Endpunktrds-instance-name.account-region-hash.aws-region.rds.amazonaws.com.rproxy.goskope.com.rds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)
Wenn der RDS-Endpunkt beispielsweise lautet ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com und der Domainname lautetcorp-ad.company.com, wäre der Kerberos-based Endpunktad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com.
Dieser Kerberos-based Endpunkt kann verwendet werden, um sich mithilfe von Kerberos bei der SQL Server-Instanz zu authentifizieren, auch nach einem Failover-Ereignis, da der Endpunkt automatisch aktualisiert wird, sodass er auf den neuen SPN der primären SQL Server-Instanz 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 Sie die EC2-Instance von RDS Custom verbinden und versuchen, mithilfe von CNAME eine lokale Verbindung zur Datenbank herzustellen, verwendet Ihre Verbindung die NTLM-Authentifizierung anstelle von Kerberos.
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;