Modifica collettiva dei perimetri di servizio

Utilizzando Gestore contesto accesso, puoi apportare modifiche collettive alle risorse che appartengono al criterio di accesso della tua organizzazione, come livelli di accesso e perimetri di servizio. Le modifiche alle risorse vengono applicate solo se tutte le parti dell'operazione collettiva hanno esito positivo.

Questo argomento descrive solo la sostituzione collettiva dei perimetri di servizio. Per ulteriori informazioni sulla sostituzione collettiva dei livelli di accesso, consulta la documentazione di Gestore contesto accesso.

Prima di iniziare

Poiché le operazioni collettive interessano tutti i perimetri di servizio della tua organizzazione, puoi ottenere un elenco completo dei tuoi perimetri. L'elenco può essere formattato come YAML, il che può anche semplificare le modifiche collettive ai perimetri.

Per visualizzare un elenco formattato dei livelli di accesso, consulta l'articolo Elenco dei perimetri di servizio (formattati).

Sostituire in blocco i perimetri di servizio

La sezione seguente descrive come sostituire collettivamente i perimetri di servizio.

gcloud

Per sostituire collettivamente tutti i perimetri di servizio, utilizza il comando replace-all.

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

Dove:

  • FILE è il nome di un file .yaml che definisce le nuove impostazioni per i perimetri di servizio esistenti.

    Ad esempio:

    - 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
    

    Per ulteriori informazioni sulla formattazione del file YAML, consulta la struttura JSON dell'oggetto ServicePerimeterConfig di Gestore contesto accesso Access s.

  • (Facoltativo) ETAG è una stringa che rappresenta la versione di destinazione del criterio di accesso della tua organizzazione. Se non includi un'etichetta, l'operazione collettiva avrà come target l'ultima versione dei criteri di accesso della tua organizzazione.

    Per ottenere l'etichetta più recente dei tuoi criteri di accesso, list i tuoi criteri di accesso.

  • POLICY_NAME è il nome del criterio di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato un criterio di accesso predefinito.

API

Per sostituire in blocco tutti i perimetri di servizio, chiama servicePerimeters.replaceAll.

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

Dove:

  • POLICY_NAME è il nome del criterio di accesso della tua organizzazione.

Corpo della richiesta

Il corpo della richiesta deve includere un elenco di oggetti ServicePerimeterConfig che specificano le modifiche da apportare.

Facoltativamente, per scegliere come target una versione specifica dei criteri di accesso della tua organizzazione, puoi includere un'etichetta. Se non includi un'etichetta, l'operazione collettiva avrà come target l'ultima versione dei criteri di accesso della tua organizzazione.

Ad esempio:

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

Corpo della risposta

In caso di esito positivo, il corpo della risposta alla chiamata contiene una risorsa Operation che fornisce i dettagli sull'operazione dopo la pubblicazione.

Esempio di risposta:

{
  "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"
          ]
        }
      }
    ]
  }
}