Diese Seite enthält zusätzliche Informationen zu Einschränkungen für Organisationsrichtlinien zu Cloud Load Balancing. Mit Einschränkungen für Organisationsrichtlinien können Sie Load-Balancer-Einstellungen für ein ganzes Projekt, einen ganzen Ordner oder eine ganze Organisation umsetzen.
Verwenden Sie eine Organisationsrichtlinie, um die Cloud Load Balancing-Typen einzuschränken, die in Ihrer Organisation erstellt werden können. Legen Sie die folgende Einschränkung für die Organisationsrichtlinie fest:
constraints/compute.restrictLoadBalancerCreationForTypes
Wenn Sie die Einschränkung compute.restrictLoadBalancerCreationForTypes
festlegen, geben Sie die nicht zulässigen Cloud Load Balancing-Typen an. Eine Liste der verfügbaren Typen finden Sie unter Load-Balancer-Erstellung einschränken.
Organisationsrichtlinie einrichten
Console
Führen Sie die folgenden Schritte aus, um über die Console die Organisationsrichtlinie zu Cloud Load Balancing festzulegen:
- Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.
- Geben Sie im Feld Filter
load
ein und wählen Sie constraints/compute.restrictLoadBalancerCreationForTypes aus. - Klicken Sie auf Load-Balancer-Erstellung basierend auf Load-Balancer-Typen einschränken.
- Klicken Sie auf Bearbeiten, um die vorhandenen Richtlinieneinschränkungen für Cloud Load Balancing zu bearbeiten.
- Zum Erstellen einer benutzerdefinierten Richtlinie wählen Sie Anpassen aus.
- Nachdem Sie Änderungen vorgenommen haben, klicken Sie auf Speichern, um die Einstellungen für die Einschränkung zu übernehmen.
gcloud
Zum Festlegen der OS Login-Organisationsrichtlinie verwenden Sie den Befehl gcloud resource-manager org-policies
enable-enforce
.
Ermitteln Sie Ihre Organisations-ID.
gcloud organizations list
Erstellen Sie die Richtliniendatei, wie in den folgenden Beispielen gezeigt.
Werte auflisten, die abgelehnt werden sollen
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "deniedValues": [ "INTERNAL_TCP_UDP", "INTERNAL_HTTP_HTTPS", "EXTERNAL_NETWORK_TCP_UDP", "EXTERNAL_TCP_PROXY", "EXTERNAL_SSL_PROXY", "EXTERNAL_HTTP_HTTPS" ] } }
Alle externen Load-Balancer ablehnen
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "deniedValues": [ "EXTERNAL" ] } }
Alle Load-Balancer ablehnen
{ "constraint": "constraints/compute.restrictLoadBalancerCreationForTypes", "listPolicy": { "allValues": "DENY" } }
Legen Sie die Einschränkung in Ihrer Organisation fest. Ersetzen Sie
ORGANIZATION_ID
durch Ihre Organisations-ID.gcloud resource-manager org-policies set-policy POLICY_FILE \ --organization=ORGANIZATION_ID
Sie können die Organisationsrichtlinie mit dem Flag
--folder
oder--project
und der entsprechenden Ordner-ID bzw. Projekt-ID auch auf einen Ordner oder ein Projekt anwenden.Führen Sie den folgenden Befehl aus, um einen Ordner zu erstellen:
gcloud resource-manager org-policies set-policy POLICY_FILE \ --folder=FOLDER_ID
Führen Sie für Projekte den folgenden Befehl aus, um ein Projekt zu erstellen:
gcloud resource-manager org-policies set-policy POLICY_FILE \ --project=PROJECT_ID
Dabei gilt:
FOLDER_ID
: Ihre Ordner-ID.PROJECT_ID
: Ihre Projekt-ID.
Nachdem Sie die Richtlinie festgelegt haben, wird die Richtlinie erzwungen, wenn Sie die entsprechenden Weiterleitungsregeln von Google Cloud hinzufügen.
Die Einschränkung wird für vorhandene Cloud Load Balancing-Konfigurationen nicht durchgesetzt.
Wenn Sie versuchen, Cloud Load Balancing eines Typs zu erstellen, der gegen die Einschränkung verstößt, schlägt der Versuch fehl und es wird eine Fehlermeldung generiert. Die Fehlermeldung hat folgendes Format:
Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for projects/PROJECT_NAME. Forwarding Rule projects/PROJECT_NAME/region/REGION/forwardingRules/FORWARDING_RULE_NAME of type SCHEME is not allowed.
Wenn Sie mehrere restrictLoadBalancerCreationForTypes
-Einschränkungen auf verschiedenen Ressourcenebenen festlegen, werden diese hierarchisch durchgesetzt.
Aus diesem Grund empfiehlt es sich, das Feld inheritFromParent
auf true
zu setzen. So sorgen Sie dafür, dass auch Richtlinien auf höheren Ebenen berücksichtigt werden.
Weitere Informationen zum Festlegen von Organisationsrichtlinien, einschließlich Beschreibungen der verfügbaren Optionen, finden Sie unter Organisationsrichtlinien erstellen und verwalten und Einschränkungen verwenden.
GKE-Fehlermeldungen
Wenn Sie Dienstobjekte und Ingress-Objekte von Google Kubernetes Engine (GKE) verwenden, erhalten Sie bei Verwendung dieser Organisationsrichtlinie zum Einschränken der Erstellung von Load-Balancern eine Fehlermeldung wie die folgende:
Warning Sync 28s loadbalancer-controller Error during sync: error running load balancer syncing routine: loadbalancer FORWARDING_RULE_NAME does not exist: googleapi: Error 412: Constraint constraints/compute.restrictLoadBalancerCreationForTypes violated for projects/PROJECT_ID. Forwarding Rule projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_NAME of type LOAD_BALANCER_TYPE is not allowed, conditionNotMet
Führen Sie die folgenden Befehle aus, um die GKE-Fehlermeldungen aufzurufen:
kubectl get events -w
kubectl describe RESOURCE_KIND NAME
Dabei gilt:
- RESOURCE_KIND: die Art des Load-Balancers,
ingress
oderservice
- NAME: der Name des Load-Balancers
Nächste Schritte
- Weitere Informationen zur Ressourcenhierarchie, die für Organisationsrichtlinien gilt
- Eine Anleitung zum Arbeiten mit Einschränkungen und Organisationsrichtlinien in der Google Cloud Console finden Sie unter Organisationsrichtlinien erstellen und verwalten.
- Eine Anleitung zum Arbeiten mit Einschränkungen und Organisationsrichtlinien in
gcloud
finden Sie unter Einschränkungen verwenden. - Informationen zu relevanten API-Methoden wie
projects.setOrgPolicy
finden Sie in der Referenzdokumentation zur Resource Manager API.