Dienstperimeter erstellen

Auf dieser Seite wird beschrieben, wie Sie einen Dienstperimeter erstellen.

Hinweise

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 blockiert der Perimeter möglicherweise Anfragen mit der folgenden Fehlermeldung: Error 403: Request is prohibited by organization's policy.

Console

  1. Klicken Sie im Navigationsmenü der Google Cloud Console auf Sicherheit und dann auf VPC Service Controls.

    Zu „VPC Service Controls“

  2. Wählen Sie Ihre Organisation, Ihren Ordner oder Ihr Projekt aus, wenn Sie dazu aufgefordert werden.

  3. 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.

  4. Klicken Sie auf Neuer Perimeter.

  5. 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.

  6. So fügen Sie Projekte oder VPC-Netzwerke hinzu, die Sie im Perimeter sichern möchten:

    1. Klicken Sie auf Ressourcen hinzufügen.

    2. Klicken Sie im Bereich Ressourcen hinzufügen auf Projekt hinzufügen, um dem Perimeter Projekte hinzuzufügen.

      1. Klicken Sie im Dialogfeld Projekte hinzufügen auf das Kästchen dieses Projekts, um ein Projekt auszuwählen.

      2. Klicken Sie auf Ausgewählte Ressourcen hinzufügen. Die hinzugefügten Projekte werden im Bereich Projekte angezeigt.

    3. Klicken Sie im Bereich Ressourcen hinzufügen auf VPC-Netzwerk hinzufügen, um dem Perimeter VPC-Netzwerke hinzuzufügen.

      1. Klicken Sie in der Projektliste auf das Projekt, das die VPC-Netzwerke enthält.
      2. Klicken Sie im Dialogfeld Ressourcen hinzufügen das Kästchen dieses VPC-Netzwerks an, um ein VPC-Netzwerk hinzuzufügen.
      3. Klicken Sie auf Ausgewählte Ressourcen hinzufügen. Das hinzugefügte Netzwerk wird im Bereich VPC-Netzwerke angezeigt.
  7. So wählen Sie die Dienste aus, die Sie im Perimeter sichern möchten:

    1. Klicken Sie auf Eingeschränkte Dienste.

    2. Klicken Sie im Bereich Eingeschränkte Dienste auf Dienste hinzufügen.

    3. 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.

    4. Klicken Sie auf n Dienste hinzufügen, wobei n die Anzahl der Dienste ist, die Sie im vorherigen Schritt ausgewählt haben.

  8. Optional: Wenn Sie festlegen möchten, auf welche Dienste innerhalb eines Perimeters zugegriffen werden kann, gehen Sie so vor:

    1. Klicken Sie auf Über VPC zugängliche Dienste.

    2. 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.

    3. Klicken Sie auf Über VPC zugängliche Dienste hinzufügen.

      Sie können zugängliche Dienste auch hinzufügen, nachdem ein Perimeter erstellt wurde.

    4. Wählen Sie auf der Seite Zugängliche Dienste angeben den Dienst aus, den Sie in Ihrem Perimeter zugänglich machen möchten.

    5. Klicken Sie auf n Dienste hinzufügen, wobei n die Anzahl der Dienste ist, die Sie im vorherigen Schritt ausgewählt haben.

  9. Optional: So lassen Sie den Zugriff auf geschützte Ressourcen von außerhalb des Perimeters mithilfe von Zugriffsebenen zu:

    1. Klicken Sie auf Zugriffsebenen.

    2. 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.

    3. Klicken Sie auf die Kästchen für die Zugriffsebenen, die Sie auf den Perimeter anwenden möchten.

  10. So gewähren Sie den Zugriff auf Ressourcen innerhalb eines Perimeters von API-Clients außerhalb des Perimeters:

    1. Klicken Sie auf Richtlinie für eingehenden Traffic.

    2. Klicken Sie im Bereich Regeln für eingehenden Traffic auf Regel hinzufügen.

    3. Geben Sie unter Über Attribute des API-Clients die Quellen außerhalb des Perimeters an, die Zugriff benötigen. Sie können Projekte, Zugriffsebenen und VPC-Netzwerke als Quellen angeben.

    4. Geben Sie unter Auf 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.

  11. So lassen Sie den Zugriff auf Ressourcen mit einem API-Client oder Ressourcen innerhalb des Perimeters auf Ressourcen außerhalb eines Perimeters zu:

    1. Klicken Sie auf Richtlinie für ausgehenden Traffic.

    2. Klicken Sie im Bereich Regeln für ausgehenden Traffic auf Regel hinzufügen.

    3. 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.

  12. 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

Ersetzen Sie Folgendes:

  • 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. Es sind nur Projekte und VPC-Netzwerke 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 oder storage.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

Wobei:

  • 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