Dienstperimeter erstellen

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

Hinweis

Dienstperimeter erstellen

In diesem Abschnitt wird gezeigt, wie Sie einen Dienstperimeter erstellen, diesem Projekte 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 haben, kann es bis zu 30 Minuten dauern, bis die Änderungen übernommen wurden und wirksam geworden sind.

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 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 wählen Sie die Projekte aus, die Sie im Perimeter sichern möchten:

    1. Klicken Sie auf Projekte.

    2. Klicken Sie im Bereich Projekte auf Projekte hinzufügen.

    3. Wenn Sie dem Perimeter ein Projekt hinzufügen möchten, klicken Sie im Dialog Projekte hinzufügen auf das Kästchen für das gewünschte Projekt.

    4. Klicken Sie auf Projekte hinzufügen. Es wird die Meldung angezeigt, dass n Projekte hinzugefügt wurden, wobei n die Anzahl der ausgewählten Projekte ist.

    5. Klicken Sie auf Fertig. Die hinzugefügten Projekte werden im Abschnitt Zu schützende Projekte 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 gewähren Sie Zugriff auf geschützte Ressourcen von außerhalb des Perimeters mithilfe von Zugriffsebenen:

    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 Zugriffsebenen 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. Legen Sie die gewünschten Werte für FROM-Attribute des API-Clients und TO-Attribute von GCP-Ressourcen/-Diensten fest, die Sie verwenden möchten.

      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 GCP-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 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=PROJECTS \
  --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

Informationen zum Befehl gcloud zum Erstellen eines Perimeters im erzwungenen Modus finden Sie in der gcloud-Referenz für den Befehl perimeters create.

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.

  • PROJECTS ist eine durch Kommas getrennte Liste mit einer oder mehreren Projektnummern. Beispiel: projects/12345 oder projects/12345,projects/67890. Es 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:

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

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