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, diesem 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.

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

  4. Wählen Sie auf der Seite VPC Service Controls einen Modus für die Perimeterdurchsetzung 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.

  5. Klicken Sie auf Neuer Perimeter.

  6. Geben Sie auf der Seite Dienstperimeter erstellen im Feld Titel 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.

  7. Optional: Geben Sie im Feld Beschreibung eine Beschreibung für den Perimeter ein.

  8. Wählen Sie für Perimetertyp die Option Regulär aus.

  9. Wählen Sie unter Erzwingungsmodus einen Modus für die Perimeter-Erzwingung aus. Die verfügbaren Optionen sind Probelauf und Erzwungen.

  10. Klicken Sie auf Weiter.

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

    1. Wenn Sie dem Perimeter Projekte hinzufügen möchten, klicken Sie auf Projekte hinzufügen.

      1. Wählen Sie im Bereich Projekte hinzufügen die Projekte aus, die Sie schützen möchten.

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

    2. Wenn Sie dem Perimeter VPC-Netzwerke hinzufügen möchten, klicken Sie auf Netzwerke hinzufügen.

      1. Klicken Sie in der Projektliste auf das Projekt, das die VPC-Netzwerke enthält.

      2. Wählen Sie im Bereich VPC-Netzwerke hinzufügen die VPC-Netzwerke aus, die Sie schützen möchten.

      3. Klicken Sie auf Ausgewählte Netzwerke hinzufügen. Die hinzugefügten Netzwerke werden im Abschnitt VPC-Netzwerke angezeigt.

    3. Klicken Sie auf Weiter.

  12. So wählen Sie die Dienste aus, die Sie im Perimeter sichern möchten:

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

    2. Wählen Sie im Bereich Dienste hinzufügen die Dienste aus, die Sie schützen möchten.

      zu verringern.
    3. Klicken Sie auf Ausgewählte Dienste hinzufügen.

    4. Klicken Sie auf Weiter.

  13. Optional: Wenn Sie festlegen möchten, auf welche Dienste von Netzwerkendpunkten innerhalb eines Perimeters zugegriffen werden kann, wählen Sie im Bereich Über VPC zugängliche Dienste eine der verfügbaren Optionen aus:

    • Alle Dienste: Mit dieser Option sind alle Google Cloud Dienste zulässig.

    • Keine Dienste: Bei dieser Option sind keine der Google Cloud Dienste zulässig.

    • Alle eingeschränkten Dienste: Mit dieser Option sind nur die Google Cloud Dienste zulässig, die Sie in diesem Perimeter geschützt haben.

    • Ausgewählte Dienste: Mit dieser Option sind nur die von Ihnen ausgewählten Google Cloud Dienste verfügbar.

      1. Klicken Sie auf Dienste hinzufügen.

      2. Wählen Sie im Bereich Dienste hinzufügen die Dienste aus, die Sie zulassen möchten.

      3. Klicken Sie auf Auswahl hinzufügen.

      4. Wenn Sie zusätzlich alle eingeschränkten Dienste, die der Perimeter schützt, in die ausgewählten Dienste aufnehmen möchten, aktivieren Sie die Option Alle eingeschränkten Dienste einschließen.

      5. Klicken Sie auf Weiter.

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

    Weitere Informationen finden Sie unter Über VPC zugängliche Dienste.

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

    1. Klicken Sie im Bereich Zugriffsebenen auf Zugriffsebenen hinzufügen.

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

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

    3. Klicken Sie auf Ausgewählte Zugriffsebenen hinzufügen.

    4. Klicken Sie auf Weiter.

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

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

    2. Geben Sie im Feld Titel einen Titel für die Ingress-Regel ein.

    3. Geben Sie im Abschnitt Von die Quellen außerhalb des Perimeters an, für die Zugriff erforderlich ist. Sie können Projekte, Zugriffsebenen und VPC-Netzwerke als Quellen angeben.

    4. Geben Sie im Abschnitt An die Ressourcen innerhalb des Perimeters an, auf die die Quellen zugreifen können.

    5. Klicken Sie auf Weiter.

    Eine Liste der Regelattribute für eingehenden Traffic finden Sie unter Referenz zu Regeln für eingehenden Traffic.

  16. 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 im Bereich Regeln für ausgehenden Traffic auf Regel für ausgehenden Traffic hinzufügen.

    2. Geben Sie im Feld Titel einen Titel für die Ausstiegsregel ein.

    3. Geben Sie im Abschnitt Von die Quellen innerhalb des Perimeters an, für die Zugriff erforderlich ist.

    4. Geben Sie im Abschnitt An die Ressourcen außerhalb des Perimeters an, auf die die Quellen zugreifen können.

    Eine Liste der Regelattribute für ausgehenden Traffic finden Sie unter Referenz zu Regeln für ausgehenden Traffic.

  17. Klicken Sie auf Erstellen.

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 oder storage.googleapis.com,bigquery.googleapis.com.

    zu verringern.
  • 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

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