Auf dieser Seite wird beschrieben, wie Sie einen Dienstperimeter erstellen.
Hinweis
Lesen Sie nach, wie Sie Dienstperimeter konfigurieren.
Weitere Informationen zum Verwalten von VPC-Netzwerken in Dienstperimetern
Lesen Sie nach, wie Sie den Zugriff auf VPC Service Controls gewähren.
Wenn Sie den externen Zugriff auf Ihre geschützten Dienste beim Erstellen des Perimeters konfigurieren möchten, erstellen Sie eine oder mehrere Zugriffsebenen, bevor Sie den Perimeter erstellen.
Dienstperimeter erstellen
In diesem Abschnitt wird beschrieben, wie Sie einen Dienstperimeter erstellen, dem Perimeter Projekte oder VPC-Netzwerke hinzufügen und Dienste schützen.
Wenn Sie einen Dienstperimeter erstellen, können Sie optional den Zugriff auf geschützte Dienste von außerhalb des Perimeters zulassen und angeben, auf welche Dienste von anderen Diensten und Nutzern innerhalb des Perimeters zugegriffen werden kann. Sie können diese Einstellungen auch nach dem Erstellen eines Perimeters konfigurieren.
Nachdem Sie einen Dienstperimeter erstellt oder einen vorhandenen Dienstperimeter aktualisiert haben, kann es bis zu 30 Minuten dauern, bis die Änderungen übernommen und wirksam werden. Während dieser Zeit kann der Perimeter Anfragen mit der folgenden Fehlermeldung blockieren: Error 403: Request is prohibited by organization's policy.
Console
Klicken Sie im Navigationsmenü der Google Cloud Console auf Sicherheit und dann auf VPC Service Controls.
Wählen Sie Ihre Organisation, Ihren Ordner oder Ihr Projekt aus, wenn Sie dazu aufgefordert werden.
Wählen Sie eine vorhandene Zugriffsrichtlinie aus oder erstellen Sie eine neue Zugriffsrichtlinie. Der Geltungsbereich der Zugriffsrichtlinie muss alle Projekte und VPC-Netzwerke enthalten, die Sie dem Perimeter hinzufügen möchten.
Wählen Sie auf der Seite VPC Service Controls einen Perimetermodus aus. Standardmäßig ist Erzwungener Modus ausgewählt. Wenn Sie einen Probelaufperimeter erstellen möchten, klicken Sie auf Probelaufmodus.
Erzwungene Perimeter verhindern aktiv den Zugriff auf geschützte Dienste. Probelaufperimeter speichern Verstöße gegen den Perimeter so in Logs, als seien die Dienste geschützt, verhindern aber nicht den Zugriff auf diese. Weitere Informationen zum erzwungenen Modus und zum Probelaufmodus finden Sie unter Dienstperimeter.
Klicken Sie auf Neuer Perimeter.
Geben Sie auf der Seite Neuer VPC-Dienstperimeter im Feld Perimetername einen Namen für den Perimeter ein.
Ein Perimetername darf maximal 50 Zeichen lang sein und muss mit einem Buchstaben beginnen. Er darf nur lateinische ASCII-Buchstaben (az, AZ), Zahlen (0–9) oder Unterstriche enthalten (
_
). Beim Perimeternamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen innerhalb einer Zugriffsrichtlinie eindeutig sein.So fügen Sie Projekte oder VPC-Netzwerke hinzu, die Sie im Perimeter schützen möchten: Gehen Sie so vor:
Klicken Sie auf Ressourcen hinzufügen.
Wenn Sie dem Perimeter Projekte hinzufügen möchten, klicken Sie im Bereich Ressourcen hinzufügen auf Projekt hinzufügen.
Wenn Sie ein Projekt auswählen möchten, klicken Sie im Dialogfeld Projekte hinzufügen auf das Kästchen für das gewünschte Projekt.
Klicken Sie auf Auswahl hinzufügen. Die hinzugefügten Projekte werden im Bereich Projekte angezeigt.
Wenn Sie dem Perimeter VPC-Netzwerke hinzufügen möchten, klicken Sie im Bereich Ressourcen hinzufügen auf VPC-Netzwerk hinzufügen.
- Klicken Sie in der Projektliste auf das Projekt, das die VPC-Netzwerke enthält.
- Wenn Sie ein VPC-Netzwerk hinzufügen möchten, klicken Sie im Dialogfeld Ressourcen hinzufügen auf das Kästchen für das gewünschte VPC-Netzwerk.
- Klicken Sie auf Auswahl hinzufügen. Das hinzugefügte Netzwerk wird im Bereich VPC-Netzwerke angezeigt.
So wählen Sie die Dienste aus, die Sie im Perimeter sichern möchten:
Klicken Sie auf Eingeschränkte Dienste.
Klicken Sie im Bereich Eingeschränkte Dienste auf Dienste hinzufügen.
Wenn Sie Dienste innerhalb des Perimeters sichern möchten, klicken Sie im Dialog Geben Sie Dienste an, die eingeschränkt werden sollen auf das Kästchen für den jeweiligen Dienst.
Klicken Sie auf n Dienste hinzufügen, wobei n die Anzahl der Dienste ist, die Sie im vorherigen Schritt ausgewählt haben.
Optional: Wenn Sie festlegen möchten, auf welche Dienste innerhalb eines Perimeters zugegriffen werden kann, gehen Sie so vor:
Klicken Sie auf Über VPC zugängliche Dienste.
Wählen Sie im Bereich Über VPC zugängliche Dienste die Option Ausgewählte Dienste aus.
Wenn Sie alle eingeschränkten Dienste schnell auflisten möchten, die der Perimeter in der Liste der zugänglichen Dienste schützt, wählen Sie Alle eingeschränkten Dienste einschließen aus. Mit dieser Option können Sie zusätzlich zu eingeschränkten Diensten gesonderte Dienste einschließen.
Klicken Sie auf Über VPC zugängliche Dienste hinzufügen.
Sie können zugängliche Dienste auch hinzufügen, nachdem ein Perimeter erstellt wurde.
Wählen Sie auf der Seite Zugängliche Dienste angeben den Dienst aus, den Sie in Ihrem Perimeter zugänglich machen möchten.
Klicken Sie auf n Dienste hinzufügen, wobei n die Anzahl der Dienste ist, die Sie im vorherigen Schritt ausgewählt haben.
Optional: So lassen Sie den Zugriff auf geschützte Ressourcen von außerhalb des Perimeters mithilfe von Zugriffsebenen zu:
Klicken Sie auf Zugriffsebenen.
Klicken Sie im Bereich Richtlinie für eingehenden Traffic: Zugriffsebenen auf das Feld Zugriffsebene auswählen.
Sie können zugängliche Dienste auch hinzufügen, nachdem ein Perimeter erstellt wurde.
Klicken Sie auf die Kästchen für die Zugriffsebenen, die Sie auf den Perimeter anwenden möchten.
So gewähren Sie den Zugriff auf Ressourcen innerhalb eines Perimeters von API-Clients außerhalb des Perimeters:
Klicken Sie auf Richtlinie für eingehenden Traffic.
Klicken Sie im Bereich Regeln für eingehenden Traffic auf Regel hinzufügen.
Geben Sie unter FROM-Attribute des API-Clients die Quellen außerhalb des Perimeters an, für die Zugriff erforderlich ist. Sie können Projekte, Zugriffsebenen und VPC-Netzwerke als Quellen angeben.
Geben Sie unter TO-Attribute von Google Cloud-Ressourcen/-Diensten die Ressourcen innerhalb des Perimeters an, auf die Quellen zugreifen können.
Eine Liste der Regel für eingehenden Traffic finden Sie unter Referenz zu Regeln für eingehenden Traffic.
So lassen Sie den Zugriff auf Ressourcen mit einem API-Client oder Ressourcen innerhalb des Perimeters auf Ressourcen außerhalb eines Perimeters zu:
Klicken Sie auf Richtlinie für ausgehenden Traffic.
Klicken Sie im Bereich Regeln für ausgehenden Traffic auf Regel hinzufügen.
Legen Sie die gewünschten Werte für FROM-Attribute des API-Clients und TO-Attribute von Google Cloud-Ressourcen/-Diensten fest, die Sie verwenden möchten.
Eine Liste der Regelattribute für ausgehenden Traffic finden Sie unter Referenz zu Regeln für ausgehenden Traffic.
Klicken Sie auf Perimeter erstellen.
gcloud
Verwenden Sie den Befehl gcloud access-context-manager perimeters create
, um einen neuen Perimeter im erzwungenen Modus zu erstellen.
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED-SERVICES \ --ingress-policies=INGRESS-FILENAME.yaml \ --egress-policies=EGRESS-FILENAME.yaml \ [--access-levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Verwenden Sie den Befehl gcloud access-context-manager perimeters dry-run create
, um einen neuen Perimeter im Probelaufmodus zu erstellen.
gcloud access-context-manager perimeters dry-run create NAME \ --perimeter-title=TITLE \ --perimeter-type=TYPE \ --perimeter-resources=RESOURCES \ --perimeter-restricted-services=RESTRICTED-SERVICES \ --perimeter-ingress-policies=INGRESS-FILENAME.yaml \ --perimeter-egress-policies=EGRESS-FILENAME.yaml \ [--perimeter-access-levels=LEVELS] \ [--perimeter-enable-vpc-accessible-services] \ [--perimeter-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Dabei gilt:
NAME ist der Name des Perimeters.
Ein Perimetername darf maximal 50 Zeichen lang sein und muss mit einem Buchstaben beginnen. Er darf nur lateinische ASCII-Buchstaben (az, AZ), Zahlen (0–9) oder Unterstriche enthalten (
_
). Beim Perimeternamen wird zwischen Groß- und Kleinschreibung unterschieden und sie müssen innerhalb einer Zugriffsrichtlinie eindeutig sein.TITLE ist der für Menschen lesbare Titel des Perimeters.
TYPE ist der Typ des Perimeters. Beispiel: ein „regulärer“ Perimeter oder ein „Bridge“-Perimeter.
RESOURCES ist eine durch Kommas getrennte Liste mit einer oder mehreren Projektnummern oder VPC-Netzwerknamen. Beispiel:
projects/12345
oder//compute.googleapis.com/projects/my-project/global/networks/vpc1
. Nur Projekte und VPC-Netzwerke sind zulässig. Projektformat:projects/project_number
. VPC-Format://compute.googleapis.com/projects/project-id/global/networks/network_name
. Wenn Sie Projekte angeben, werden nur Projektnummern unterstützt. Der Projektname und die Projekt-ID kann nicht verwendet werden.RESTRICTED-SERVICES ist eine durch Kommas getrennte Liste mit einem oder mehreren Diensten. Beispiel:
storage.googleapis.com
oderstorage.googleapis.com,bigquery.googleapis.com
.INGRESS-FILENAME ist eine JSON- oder YAML-Datei, die die Werte der Quelle, der Identität, des Projekts und der Dienstattribute enthält. Eine Liste der Regelattribute für eingehenden Traffic finden Sie unter Referenz zu Regeln für eingehenden Traffic.
EGRESS-FILENAME ist eine JSON- oder YAML-Datei, die die Werte für Identität, Projekt und Dienst enthält. Eine Liste der Regelattribute für ausgehenden Traffic finden Sie unter Referenz zu Regeln für ausgehenden Traffic.
POLICY_NAME ist der numerische Name der Zugriffsrichtlinie Ihrer Organisation. Beispiel:
330193482019
. Sie müssen den Richtliniennamen nur angeben, wenn Sie keine Standardzugriffsrichtlinie festgelegt haben.
Zusätzliche Optionen:
--access-levels
oder--perimeter-access-levels
ist nur erforderlich, wenn Sie beim Erstellen des Perimeters Zugriffsebenen hinzufügen möchten. LEVELS ist eine durch Kommas getrennte Liste mit einer oder mehreren Zugriffsebenen, die Sie auf den Dienstperimeter anwenden möchten.Sie können auch Zugriffsebenen hinzufügen, nachdem Sie den Perimeter erstellt haben.
--enable-vpc-accessible-services
und--vpc-allowed-services
oder--perimeter-enable-vpc-accessible-services
und--perimeter-vpc-allowed-services
sind nur erforderlich, wenn Sie beim Erstellen des Perimeters zugängliche VPC-Dienste hinzufügen möchten. ACCESSIBLE-SERVICES ist eine durch Kommas getrennte Liste mit einem oder mehreren Diensten, für die Sie den Zugriff durch Netzwerke innerhalb des Perimeters zulassen möchten. Der Zugriff auf alle Dienste, die nicht in dieser Liste enthalten sind, wird verhindert.Sie können einen Dienst nur dann zugänglich machen, wenn Sie ihn auch beim Konfigurieren des Perimeters schützen.
Um alle durch einen Perimeter geschützten Dienste auf schnelle Weise hinzuzufügen, geben Sie
RESTRICTED-SERVICES
in der Liste für ACCESSIBLE-SERVICES an. Beispiel:--perimeter-vpc-allowed-services=RESTRICTED-SERVICES
.Sie können auch zugängliche VPC-Dienste definieren, nachdem Sie den Perimeter erstellt haben.
Mit dem folgenden Befehl wird beispielsweise ein neuer Perimeter im Probelaufmodus namens ProdPerimeter
erstellt, der die Projekte example-project
und example-project2
enthält, sowie die Cloud Storage API und die BigQuery API einschränkt.
gcloud access-context-manager perimeters \ dry-run create ProdPerimeter --perimeter-title="Production Perimeter" \ --perimeter-type="regular" \ --perimeter-resources=projects/12345,projects/67890 \ --perimeter-restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --perimeter-ingress-policies=ingress.yaml \ --perimeter-egress-policies=egress.yaml \ --policy=330193482019
API
Rufen Sie accessPolicies.servicePerimeters.create
auf, um einen Dienstperimeter zu erstellen.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters
Hierbei gilt:
- POLICY_NAME ist der numerische Name der Zugriffsrichtlinie Ihrer Organisation. Beispiel:
330193482019
.
Anfragetext
Der Anfragetext muss eine ServicePerimeter
-Ressource enthalten, die den Dienstperimeter definiert.
Geben Sie für die Ressource ServicePerimeter
für perimeterType
den Wert PERIMETER_TYPE_REGULAR
an.
Probelaufmodus
Der vorgeschlagene Perimeter muss als spec
hinzugefügt werden und useExplicitDryRunSpec
muss auf "true" gesetzt sein.
Antworttext
Bei erfolgreichem Ausführen enthält der Antworttext für den Aufruf eine Ressource Operation
mit Informationen zum Vorgang POST
.
Nächste Schritte
- Informationen zum Testen der Auswirkungen eines Dienstperimeters mit dem Probelaufmodus
- Vorhandene Dienstperimeter verwalten
- Weitere Informationen zur Fehlerbehebung bei häufigen VPC Service Controls-Problemen
- In diesem Codelab erfahren Sie, wie Sie Projekte und ihre Dienste mit VPC Service Controls schützen.