Cloud SQL-Organisationsrichtlinien

Auf dieser Seite wird erläutert, wie Sie eine Organisationsrichtlinie mit Ihrem Cloud SQL-Projekt verwenden. Informationen zum Erstellen von Organisationsrichtlinien finden Sie unter Organisationsrichtlinien hinzufügen.

Überblick

Mit Organisationsrichtlinien können Administratoren einer Organisation den Handlungsspielraum von Nutzern beim Konfigurieren von Instanzen in dieser Organisation einschränken. Organisationsrichtlinien verwenden Regeln, sogenannte Einschränkungen, die der Organisationsadministrator für ein Projekt, einen Ordner oder eine Organisation festlegt. Durch Einschränkungen wird die Richtlinie für alle Instanzen erzwungen. Wenn Sie beispielsweise einer Entität, die einer Organisationsrichtlinie unterliegt, eine Instanz hinzufügen, wird geprüft, ob die Instanzkonfiguration die Anforderungen der Einschränkung erfüllt. Wenn die Prüfung fehlschlägt, wird die Instanz von Cloud SQL nicht erstellt.

Wenn Sie einer Organisation oder einem Ordner, der eine Organisationsrichtlinie verwendet, Projekte hinzufügen, übernehmen die Projekte die Einschränkungen dieser Richtlinie.

Weitere Informationen zu Organisationsrichtlinien finden Sie unter Organisationsrichtliniendienst, Einschränkungen und Informationen zu Evaluierungen der Hierarchie.

Es gibt zwei Arten von Organisationsrichtlinien für Cloud SQL:

Organisationsrichtlinien für die Verbindung

Mit Organisationsrichtlinien für Verbindungen können Sie die Einstellungen der öffentlichen IP-Adressen für Cloud SQL zentral steuern und damit die Angriffsfläche von Cloud SQL-Instanzen für Sicherheitsattacken aus dem Internet verringern. Ein Administrator für Organisationsrichtlinien kann mit einer Verbindungsrichtlinie die Konfigurationen von öffentlichen IP-Adressen für Cloud SQL auf Projekt-, Ordner- oder Organisationsebene einschränken.

Einschränkungen für die Organisationsrichtlinie für Verbindungen

Für die Organisationsrichtlinie für Verbindungen gibt es zwei Arten von Einschränkungen, die den Zugriff auf Cloud SQL-Instanzen auf bestimmte Weise erzwingen.

Einschränkung Beschreibung Standardeinstellung
Zugriff auf öffentliche IP-Adressen bei Cloud SQL-Instanzen einschränken Wenn diese boolesche Einschränkung auf True festgelegt wird, ist die Konfiguration von öffentlichen IP-Adressen für Cloud SQL-Instanzen eingeschränkt. Diese Einschränkung ist nicht rückwirkend. Cloud SQL-Instanzen mit bestehendem Zugriff auf eine öffentliche IP-Adresse funktionieren weiterhin, selbst wenn diese Einschränkung erzwungen wird.

Standardmäßig ist der Zugriff von öffentlichen IP-Adressen auf Cloud SQL-Instanzen zulässig.

constraints/sql.restrictPublicIp
ZULASSEN
Autorisierte Netzwerke auf Cloud SQL-Instanzen einschränken Wenn True festgelegt ist, wird die boolesche Einschränkung eingeschränkt, um autorisierte Netzwerke für den Datenbankzugriff ohne Proxy zu Cloud SQL-Instanzen hinzuzufügen. Diese Einschränkung ist nicht rückwirkend. Cloud SQL-Instanzen mit vorhandenen autorisierten Netzwerken funktionieren dennoch, selbst wenn diese Einschränkung erzwungen wird.
Standardmäßig können Sie autorisierte Netzwerke zu Cloud SQL-Instanzen hinzufügen.

constraints/sql.restrictAuthorizedNetworks
ZULASSEN

Einschränkungen für Organisationsrichtlinien für die Verbindung

Wenn Sie die Organisationsrichtlinie pro Projekt festlegen, müssen Sie sich überlegen, ob einer der folgenden Punkte auf das jeweilige Projekt zutrifft:

Konflikte mit öffentlichen IP-Adressen von Lesereplikaten

Cloud SQL-Lesereplikate stellen über eine Datenbankverbindung ohne Proxy eine Verbindung zur primären Instanz her. Die öffentlichen IP-Adressen des Lesereplikats werden von Ihnen über die Einstellung Autorisierte Netzwerke der primären Instanz entweder explizit oder implizit konfiguriert.

Wenn sich sowohl die primäre Instanz als auch die Replikatinstanz in derselben Region befinden und eine private IP-Adresse aktivieren, kommt es zu keinem Konflikt mit Einschränkungen für die Organisationsrichtlinie für Verbindungen.

Inkompatibilität bei Verwendung des Befehls gcloud sql connect

Der Befehl gcloud sql connect stellt mithilfe einer öffentlichen IP-Adresse eine direkte Verbindung zu Cloud SQL-Instanzen her. Daher ist er mit der Einschränkung sql.restrictPublicIp nicht kompatibel. Dies ist generell ein Problem für Instanzen, die eine private IP-Adresse verwenden.

Darüber hinaus wird der Proxy vom Befehl gcloud sql connect nicht verwendet, sodass der Befehl mit der Einschränkung sql.restrictAuthorizedNetworks nicht kompatibel ist.

Verwenden Sie stattdessen die Betaversion des Befehls:

gcloud beta auth login
gcloud beta sql connect [INSTANCE_ID]

Diese Version verwendet den Cloud SQL Auth-Proxy. Weitere Informationen finden Sie in der Referenz zu gcloud beta sql connect.

Wenn Sie diesen Befehl zum ersten Mal ausführen, werden Sie zur Installation der Cloud SQL Auth-Proxy-Komponente von gcloud aufgefordert. Hierfür benötigen Sie eine Schreibberechtigung für das gcloud SDK-Installationsverzeichnis auf Ihrem Clientcomputer.

Zugriff auf von der GCP gehostete Dienste

Wenn Ihre Anwendung Zugriff auf Cloud SQL-Instanzen von anderen auf der GCP gehosteten Diensten wie App Engine benötigt, muss die Anwendung öffentliche IP-Adressen verwenden. Erzwingen Sie nicht die Einschränkung sql.restrictPublicIp für das Projekt. Sie können jedoch sql.restrictAuthorizedNetworks erzwingen, da Verbindungen von App Engine über die sichere Verbindung (mit Proxy) hergestellt werden.

Konflikte mit öffentlichen IP-Adressen von MySQL-Failover-Replikaten

Ein MySQL-Failover-Replikat verhält sich in Bezug auf Organisationsrichtlinien für Verbindungen wie ein Lesereplikat. Wenn sich sowohl die primäre Instanz als auch die Replikatinstanz in derselben Region befinden und eine private IP-Adresse aktivieren, kommt es zu keinem Konflikt mit Einschränkungen für die Organisationsrichtlinie für Verbindungen.

Private IP-Adressen außerhalb von RFC 1918

Verbindungen zu einer Cloud SQL-Instanz mit einer privaten IP-Adresse werden für RFC 1918-Adressbereiche automatisch autorisiert. Dadurch können alle privaten Clients auf die Datenbank zugreifen, ohne den Proxy zu durchlaufen. Sie müssen Adressen außerhalb RFC 1918 als autorisierte Netzwerke konfigurieren.

Wenn Sie private IP-Bereiche außerhalb von RFC 1918 verwenden möchten, die nicht in den autorisierten Netzwerken konfiguriert sind, können Sie eine oder beide der folgenden Aktionen ausführen:

  1. Erzwingen Sie sql.restrictAuthorizedNetworks nicht. Wenn die autorisierten Netzwerke auch sql.restrictPublicIp erzwingen, können Sie sie nicht in der Konsole konfigurieren. Verwenden Sie stattdessen die Cloud SQL API oder gcloud.
  2. Verwenden Sie weitergeleitete Verbindungen für private IP-Instanzen.

Bekannte Probleme bei Organisationsrichtlinien für Verbindungen

Einschränkung "Autorisierte Netzwerke einschränken"

Bei Cloud SQL-Instanzen mit einem bereits vorhandenen Eintrag für autorisierte Netzwerke sind zusätzliche Einträge für autorisierte Netzwerke zulässig, auch wenn die Einschränkung "Autorisierte Netzwerke auf Cloud SQL-Instanzen einschränken" (sql.restrictAuthorizedNetworks) verwendet wird. Dies betrifft auch Instanzen, für die schreibgeschützte Replikate oder Failover-Replikate aktiviert sind, da sie einen Eintrag für autorisierte Netzwerke für das Replikat haben, das für den Nutzer nicht sichtbar ist.

Dieses bekannte Problem wird behoben, wenn die Einschränkung nur das Entfernen von Einträgen aus autorisierten Netzwerken zulässt, nicht das Hinzufügen.

Organisationsrichtlinien für vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)

Cloud SQL unterstützt zwei Einschränkungen für Organisationsrichtlinien, die den CMEK-Schutz in einer Organisation gewährleisten: constraints/gcp.restrictNonCmekServices und constraints/gcp.restrictCmekCryptoKeyProjects.

Die Einschränkung constraints/gcp.restrictNonCmekServices erfordert einen CMEK-Schutz für sqladmin.googleapis.com. Wenn Sie diese Einschränkung hinzufügen und sqladmin.googleapis.com in die Richtlinienliste Deny der Dienste aufnehmen, erstellt Cloud SQL keine neuen Instanzen, es sei denn, sie sind mit CMEK aktiviert.

Die Einschränkung constraints/gcp.restrictCmekCryptoKeyProjects begrenzt, welche Cloud KMS CryptoKeys für den CMEK-Schutz in Cloud SQL for MySQL-Instanzen verwendet werden sollen. Wenn diese Einschränkung in Cloud SQL eine neue Instanz mit CMEK erstellt, muss CryptoKey aus einem zulässigen Projekt, Ordner oder einer Organisation stammen.

Diese Einschränkungen werden nur für neu erstellte Cloud SQL for MySQL-Instanzen durchgesetzt.

Weitere Informationen finden Sie unter CMEK-Organisationsrichtlinien. Informationen zu CMEK-Organisationsrichtlinieneinschränkungen finden Sie unter Organisationsrichtlinieneinschränkungen.

Erzwingungsregeln für Organisationsrichtlinien

Cloud SQL erzwingt die Organisationsrichtlinie während der folgenden Vorgänge:

  • Instanzerstellung
  • Replikaterstellung
  • Instanzneustart
  • Instanzenmigration
  • Klonen von Instanzen

Wie alle Einschränkungen für Organisationsrichtlinien gelten Richtlinienänderungen nicht rückwirkend für vorhandene Instanzen.

  • Eine neue Richtlinie hat keine Auswirkungen auf vorhandene Instanzen.
  • Eine vorhandene Instanzkonfiguration bleibt gültig, es sei denn, ein Nutzer ändert die Instanzkonfiguration über die Console, gcloud oder RPC von einem Compliance-Status in einen Nicht-Compliance-Status.
  • Ein geplantes Wartungsupdate führt nicht zu einer Richtlinienerzwingung, da durch die Wartung die Konfiguration der Instanzen nicht geändert wird.

Nächste Schritte