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. an Zugriffsebenen und Dienstperimetern. Ä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, empfiehlt es sich, eine vollständige Liste Ihrer Perimeter abzurufen. Die Liste kann als YAML-Datei formatiert werden, was auch Bulk-Änderungen an Ihren Perimetern einfacher macht.

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

Bulk-Ersetzung von Dienstperimetern durchführen

Im folgenden Abschnitt wird beschrieben, wie Sie Bulk-Ersetzungen Ihrer Dienstperimeter durchführen.

gcloud

Verwenden Sie den Befehl replace-all, um eine Bulk-Ersetzung aller Dienstperimeter durchzuführen.

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

Dabei gilt:

  • FILE ist der Name einer YAML-Datei, in der die neuen Einstellungen für Ihre 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 Ersetzungsvorgang auf die neueste Version der Zugriffsrichtlinie Ihrer Organisation ausgerichtet.

    Listen Sie Ihre Zugriffsrichtlinien auf (list), um das aktuelle 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 Ersetzungsvorgang auf die neueste Version der Zugriffsrichtlinie Ihrer Organisation ausgerichtet.

Beispiel:

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

Antworttext

Bei erfolgreichem Ausführen enthält der Antworttext für den Aufruf eine Operation-Ressource mit Informationen 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"
          ]
        }
      }
    ]
  }
}