Sie können Cloud SQL for SQL Server in Managed Service for Microsoft Active Directory (auch als Managed Microsoft AD bezeichnet) einbinden.
Diese Seite enthält Informationen, die vor Beginn der Einbindung zu prüfen sind. Nachdem Sie die folgenden Informationen, einschließlich der Einschränkungen, gelesen haben, lesen Sie die Informationen unter Cloud SQL mit Managed Microsoft AD verwenden.
Vorteile der Einbindung in Managed Microsoft AD
Authentifizierung, Autorisierung und mehr sind über Managed Microsoft AD verfügbar. Wenn Sie beispielsweise eine Instanz mit einer verwalteten Microsoft AD-Domain verknüpfen, können Sie sich über die Windows-Authentifizierung mit einer AD-basierten Identität anmelden.
Die Einbindung von Cloud SQL for SQL Server in eine AD-Domain hat den zusätzlichen Vorteil der Cloud-Einbindung in Ihre lokalen AD-Domains.
Voraussetzungen für die Einbindung
Sie können die Einbindung in Managed Microsoft AD vornehmen und dabei einer Instanz Unterstützung für die Windows-Authentifizierung hinzufügen. Bevor Sie die Einbindung ausführen, benötigen Sie jedoch Folgendes für Ihr Google Cloud-Projekt:
- Eine Managed Microsoft AD-Domain. Informationen zum Einrichten einer Domain finden Sie unter Domain erstellen.
- Lokale AD-Domains erfordern eine verwaltete AD-Vertrauensstellung. Weitere Informationen finden Sie unter Einseitige Vertrauensstellung erstellen und Lokalen AD-Nutzer zum Erstellen einer Windows-Anmeldung in Cloud SQL verwenden.
- Dienstkonto pro Produkt und Projekt, wie in den folgenden Abschnitten beschrieben; siehe Dienstkonto erstellen.
Dienstkonto erstellen und konfigurieren
Sie benötigen für jedes Projekt, das Sie in Managed Microsoft AD integrieren möchten, ein produkt- und projektbasiertes Dienstkonto. Verwenden Sie gcloud
oder die Console, um das Konto auf Projektebene zu erstellen. Dem Dienstkonto pro Produkt und Projekt muss die Rolle managedidentities.sqlintegrator
für das Projekt zugewiesen werden. Weitere Informationen finden Sie unter gcloud projects set-iam-policy.
Wenn Sie die Google Cloud Console verwenden, erstellt Cloud SQL automatisch ein Dienstkonto für Sie und fordert Sie auf, die Rolle managedidentities.sqlintegrator
zu gewähren.
Führen Sie den folgenden Befehl aus, um ein Dienstkonto mit gcloud
zu erstellen:
gcloud beta services identity create --service=sqladmin.googleapis.com \ --project=PROJECT_NUMBER
Dieser Befehl gibt den Namen eines Dienstkontos im folgenden Format zurück:
service-PROJECT_NUMBER
@gcp-sa-cloud-sql.iam.gserviceaccount.com
Hier ist ein Beispiel für einen Dienstkontonamen:
service-333445@gcp-sa-cloud-sql.iam.gserviceaccount.com
Sie benötigen Berechtigungen, um die erforderliche Berechtigung für die Integration zu erteilen. Informationen zu den erforderlichen Berechtigungen finden Sie unter Erforderliche Berechtigungen.
Führen Sie den folgenden Befehl aus, um die erforderliche Berechtigung für die Einbindung zu erteilen: Wenn sich Ihr Managed Microsoft AD in einem anderen Projekt befindet, sollte AD_PROJECT_ID
das Konto sein, das die Managed Service for Microsoft Active Directory-Instanz enthält, während die SQL_PROJECT_NUMBER
des Dienstkontos das Konto ist, das die SQL Server-Instanz enthält:
gcloud projects add-iam-policy-binding AD_PROJECT_ID \ --member=serviceAccount:service-SQL_PROJECT_NUMBER@gcp-sa-cloud-sql.iam.gserviceaccount.com \ --role=roles/managedidentities.sqlintegrator
Siehe auch gcloud beta services identity create.
Best Practices für die Einbindung in Managed Microsoft AD
Lesen Sie bei der Planung einer Einbindung Folgendes:
- Voraussetzungen für die Einbindung
- In eine verwaltete AD-Domain in einem anderen Projekt einbinden
- Verwaltete Microsoft AD: Dokumentation
- Domänencontroller in zusätzlichen Regionen bereitstellen
- Verwenden Sie das AD-Diagnosetool, um Probleme bei der AD-Einrichtung mit Ihrer lokalen Domain und Cloud SQL for SQL Server-Instanzen in der Google Cloud Console zu beheben.
Eine SQL Server-Instanz und eine verwaltete AD-Instanz in derselben Region bieten die niedrigste Netzwerklatenz und die beste Leistung. Richten Sie daher nach Möglichkeit eine SQL Server-Instanz und eine AD-Instanz in derselben Region ein. Richten Sie eine primäre und eine Sicherungsregion ein, um für eine höhere Verfügbarkeit zu sorgen, egal ob Sie diese in derselben Region einrichten oder nicht.
Topologien für die Einbindung in Managed Microsoft AD
Cloud SQL for SQL Server unterstützt keine lokalen Domaingruppen. Sie haben jedoch folgende Möglichkeiten:
- Globale Gruppen oder einzelne Nutzeranmeldungen direkt in SQL Server hinzufügen
- Universelle Gruppen verwenden, wenn alle Gruppen und Nutzer derselben Gesamtstruktur angehören
Wenn lokale Domaingruppen unterstützt werden würden, können individuelle Nutzerkonten sowie globale und universelle Gruppen als untergeordnete Elemente unter einer lokalen Domaingruppe hinzugefügt werden, die den Zugriff auf SQL Server kontrolliert. Auf diese Weise könnten Sie eine lokale Domaingruppe als SQL Server-Anmeldung hinzufügen. In Cloud SQL for SQL Server können Sie ähnliche Funktionen aktivieren, wie in diesem Abschnitt beschrieben.
Option 1: Nutzerkonten und -gruppen als Anmeldungen zu SQL Server hinzufügen
Wenn Sie mehrere Domains in mehreren Gesamtstrukturen und mehrere globale Gruppen haben, können Sie alle einzelnen Nutzerkonten sowie die globalen und universellen Gruppen direkt als Anmeldungen zu SQL Server hinzufügen. Ein Beispiel für Option 1 finden Sie im folgenden Diagramm:
Option 2: Universelle Gruppe in einer Ihrer Domains definieren
Wenn sich Ihre Domains in derselben Gesamtstruktur befinden, können Sie eine universelle Gruppe in einer Ihrer Domains definieren. Anschließend können Sie alle einzelnen Nutzerkonten sowie die globalen und universellen Gruppen als untergeordnete Elemente dieser definierten Gruppe hinzufügen und die definierte universelle Gruppe als SQL Server-Anmeldung hinzufügen. Ein Beispiel für Option 2 finden Sie im folgenden Diagramm:
Einschränkungen und Alternativen
Die folgenden Einschränkungen gelten bei der Einbindung in Managed Microsoft AD:
- Lokale Domaingruppen werden nicht unterstützt. Sie können aber globale Gruppen oder individuelle Nutzeranmeldungen direkt in SQL Server hinzufügen. Alternativ können Sie universelle Gruppen verwenden, wenn alle Gruppen und Nutzer derselben Gesamtstruktur angehören.
- Im Allgemeinen wird neuen Nutzern, die über die Google Cloud Console erstellt werden, die Rolle
CustomerDbRootRole
zugewiesen, die diese feste Datenbankrolle des SQL Server-Agent hat:SQLAgentUserRole
. Nutzer, die direkt über SQL Server erstellt wurden, z. B. Managed Microsoft AD-Nutzer, können diese Rolle jedoch nicht erhalten oder den SQL Server-Agent verwenden, da die MSDB-Datenbank, für die diese Rolle gewährt werden muss, geschützt ist. - Einige eingeschränkte Vorgänge können zu folgendem Fehler führen: "Could not get information about Windows NT group/user". Ein Beispiel für diese Art von eingeschränktem Vorgang ist das Erstellen von Anmeldungen von Nutzern aus Domains, die über eine Vertrauensstellung verbunden sind. Ein weiteres Beispiel ist die Gewährung von Berechtigungen für Nutzer aus Domains, die über eine Vertrauensstellung verbunden sind. In diesen Fällen ist es oft erfolgreich, den Vorgang zu wiederholen. Wenn der wiederholte Versuch fehlschlägt, schließen Sie die Verbindung und öffnen Sie eine neue Verbindung.
- Vollständig qualifizierte Domainnamen (FQDN) werden von SQL Server unter Windows nicht unterstützt. Verwenden Sie daher beim Erstellen von SQL Server-Anmeldungen Domainnamen (Kurznamen) anstelle von FQDNs. Wenn Ihr Domainname beispielsweise
ad.mydomain.com
lautet, erstellen Sie SQL Server-Anmeldungen fürad\user
statt fürad.mydomain.com\user
. - Verwenden Sie zum Zugriff auf SQL Server-Instanzen immer die FQDNs. Beispielsweise können Sie einen FQDN ähnlich wie
private.myinstance.us-central1.myproject.cloudsql.mydomain.com
verwenden. Netbios-Namen werden nicht unterstützt, auch keine Kurznamen, wenn DNS-Suffixe weggelassen werden. - SQL Server-Anmeldungen, die auf Active Directory-Nutzern und -Gruppen basieren, können nicht über die Google Cloud Console verwaltet werden.
- Wenn in Cloud SQL eine SQL Server-Instanz am oder vor dem 12. März 2021 erstellt wurde, kann sie nicht in Managed Microsoft AD eingebunden werden.
- Die Windows-Authentifizierung funktioniert nicht mit einer externen Vertrauensstellung. Der Fehler könnte folgende Meldung zur Folge haben: "Der Name des Zielhauptkontos ist falsch. SSPI-Kontext kann nicht generiert werden." Verwenden Sie außerdem laut Microsoft-Empfehlungen eine Gesamtstruktur-Vertrauensstellung statt einer externen Vertrauensstellung für die Kerberos-Authentifizierung.
Einbindung nicht unterstützt
Die folgenden Features werden bei einer Einbindung in Managed Microsoft AD nicht unterstützt:
- Lokale Domaingruppen.
- SQL Server-Anmeldungen von Nutzern aus Domains entfernen, die über eine Vertrauensstellung verbunden sind. Dazu können Sie einen Nutzer aus Ihrer verwalteten Domain oder die
sqlserver
-Anmeldung verwenden. - NTLM-Authentifizierung
- Melden Sie sich mit einer IP-Adresse aus Domains an, die über eine Vertrauensstellung verbunden sind.
- Instanzen mit langen Namen (mehr als 63 Zeichen).
Nächste Schritte
- Kurzanleitung zum Erstellen einer Managed Microsoft AD-Domain
- Erstellen einer eingebundenen Cloud SQL-Instanz vorbereiten.
- Vertrauensstellung zwischen lokalen Domains und einer Managed Microsoft AD-Domain erstellen.
- Eingebundene Instanzen ansehen