Bulk-Änderungen an Dienstperimetern vornehmen

Mit Access Context Manager können Sie Bulk-Aktualisierungen an Ressourcen vornehmen, die zur Zugriffsrichtlinie Ihrer Organisation gehören, z. B. Zugriffsebenen und Dienstperimeter. Änderungen an Ressourcen werden nur übernommen, wenn alle Teile des Bulk-Vorgangs erfolgreich sind.

In diesem Thema wird nur die Bulk-Ersetzung von Dienstperimetern beschrieben. Weitere Informationen zur Bulk-Ersetzung von Zugriffsebenen finden Sie in der Dokumentation zu Access Context Manager.

Hinweis

Da Bulk-Vorgänge alle Dienstperimeter für Ihre Organisation betreffen, sollten Sie eine vollständige Liste Ihrer Perimeter abrufen. Die Liste kann als YAML-Format formatiert werden, was auch Bulk-Änderungen an Ihren Perimetern erleichtert.

Eine formatierte Liste von Zugriffsebenen finden Sie unter Dienstperimeter auflisten (formatiert).

Bulk-Ersetzung von Dienstperimetern durchführen

Im folgenden Abschnitt wird beschrieben, wie Sie Ihre Dienstperimeter im Bulk ersetzen.

gcloud

Verwenden Sie den Befehl replace-all, um alle Dienstperimeter im Bulk zu ersetzen.

gcloud beta access-context-manager perimeters replace-all \
  --source-file=FILE \
  --etag=ETAG \
  [--policy=POLICY_NAME]

Dabei gilt:

  • FILE ist der Name der .yaml-Datei, in der die neuen Einstellungen für die vorhandenen Dienstperimeter definiert sind.

    Beispiel:

    - name: accessPolicies/11271009391/servicePerimeters/storage_perimeter
      title: Storage Perimeter
      description: Perimeter to protect Storage resources.
      perimeterType: PERIMETER_TYPE_REGULAR
      status:
        restrictedServices:
        - storage.googleapis.com
    - name: accessPolicies/11271009391/servicePerimeters/bigquery_perimeter
      title: BigQuery Perimeter
      description: Perimeter to protect BigQuery resources.
      perimeterType: PERIMETER_TYPE_REGULAR
      status:
        restrictedServices:
        - bigquery.googleapis.com
    

    Weitere Informationen zum Formatieren der YAML-Datei finden Sie in der JSON-Struktur des ServicePerimeterConfig-Objekts von Access Context Manager.

  • ETAG (optional) ist ein String, der die Zielversion der Zugriffsrichtlinie Ihrer Organisation darstellt. Wenn Sie kein ETag einfügen, wird der Bulk-Vorgang auf die neueste Version der Zugriffsrichtlinie Ihrer Organisation ausgerichtet.

    list Ihre Zugriffsrichtlinien, um den aktuellen ETag Ihrer Zugriffsrichtlinie zu erhalten.

  • POLICY_NAME ist der Name der Zugriffsrichtlinie Ihrer Organisation. Dieser Wert ist nur erforderlich, wenn Sie keine Standardzugriffsrichtlinie festgelegt haben.

API

Rufen Sie servicePerimeters.replaceAll auf, um eine Bulk-Ersetzung aller Dienstperimeter durchzuführen.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters.replaceAll?alt=json

Dabei gilt:

  • POLICY_NAME ist der Name der Zugriffsrichtlinie Ihrer Organisation.

Anfragetext

Der Anfragetext muss eine Liste von ServicePerimeterConfig-Objekten enthalten, die die gewünschten Änderungen angeben.

Optional können Sie für die Ausrichtung auf eine bestimmte Version der Zugriffsrichtlinie Ihrer Organisation ein ETag einfügen. Wenn Sie kein ETag einfügen, wird der Bulk-Vorgang auf die neueste Version der Zugriffsrichtlinie Ihrer Organisation ausgerichtet.

Beispiel:

{
  "servicePerimeters": [
    object (ServicePerimeterConfig),
    object (ServicePerimeterConfig),
    ...
  ]
  "etag": string
}

Antworttext

Bei Erfolg enthält der Antworttext für den Aufruf die Ressource Operation mit Details zum Post-Vorgang.

Beispielantwort:

{
  "name": "operations/accessPolicies/11271009391/replacePerimeters/1583523447707087",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceServicePerimetersResponse",
    "servicePerimeters": [
      {
        "name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
        "title": "Storage Perimeter",
        "description": "Perimeter to protect Storage resources.",
        "status": {
          "accessLevels": [
            "accessPolicies/11271009391/accessLevels/corpnet_access"
          ],
          "restrictedServices": [
            "bigtable.googleapis.com"
          ]
        }
      },
      {
        "name": "accessPolicies/11271009391/servicePerimeters/storage_perimeter",
        "title": "BigQuery Perimeter",
        "description": "Perimeter to protect BigQuery resources.",
        "status": {
          "accessLevels": [
            "accessPolicies/11271009391/accessLevels/prodnet_access"
          ],
          "restrictedServices": [
            "bigtable.googleapis.com"
          ]
        }
      }
    ]
  }
}