Crea un perimetro di servizio

In questa pagina viene descritto come creare un perimetro di servizio.

Prima di iniziare

Crea un perimetro di servizio

Questa sezione descrive come creare un perimetro di servizio, aggiungere progetti al perimetro e proteggere i servizi.

Quando crei un perimetro di servizio, puoi facoltativamente consentire l'accesso ai servizi protetti dall'esterno del perimetro e specificare quali servizi sono accessibili ad altri servizi e utenti all'interno del perimetro. Se preferisci, puoi configurare queste impostazioni dopo aver creato un perimetro.

Dopo aver creato un perimetro di servizio, la propagazione delle modifiche e l'applicazione possono richiedere fino a 30 minuti.

Console

  1. Nel menu di navigazione di Google Cloud Console, fai clic su Sicurezza e quindi su Controlli di servizio VPC.

    Vai a Controlli di servizio VPC

  2. Se richiesto, seleziona l'organizzazione, la cartella o il progetto.

  3. Nella pagina Controlli di servizio VPC, seleziona una modalità perimetro. Per impostazione predefinita, è selezionata la modalità Applicata. Se vuoi creare un perimetro di prova, fai clic su Modalità di prova.

    I perimetri applicati impediscono attivamente l'accesso ai servizi protetti. Perimetrali di prova registrano le violazioni del perimetro come se i servizi fossero protetti, ma non ne impediscono l'accesso. Per ulteriori informazioni sulle modalità di prova applicata e di prova, leggi informazioni sui perimetri di servizio.

  4. Fai clic su Nuovo perimetro.

  5. Nella casella Nome perimetro di servizio VPC, nella casella Nome perimetro, digita un nome per il perimetro.

    Il nome di un perimetro può avere una lunghezza massima di 50 caratteri, deve iniziare con una lettera e può contenere solo lettere latine ASCII (a-z, A-Z), numeri (0-9) o trattini bassi (_). Il nome del perimetro è sensibile alle maiuscole e deve essere univoco all'interno di un criterio di accesso.

  6. Per selezionare i progetti che vuoi proteggere all'interno del perimetro, procedi come segue:

    1. Fai clic su Progetti.

    2. Nel riquadro Progetti, fai clic su Aggiungi progetti.

    3. Per aggiungere un progetto al perimetro, seleziona la casella di controllo Aggiungi progetti.

    4. Fai clic su Aggiungi progetti. Viene visualizzato un messaggio che indica che sono stati aggiunti n progetti, dove n rappresenta il numero di progetti che hai selezionato.

    5. Fai clic su Fine. I progetti aggiunti vengono visualizzati nella sezione Progetti da proteggere.

  7. Per selezionare i servizi che vuoi proteggere all'interno del perimetro:

    1. Fai clic su Servizi limitati.

    2. Nel riquadro Servizi limitati, fai clic su Aggiungi servizi.

    3. Per proteggere i servizi all'interno del perimetro, nella finestra di dialogo Specifica i servizi da limitare seleziona la casella di controllo del servizio in questione.

    4. Fai clic su Aggiungi servizi n, dove n indica il numero di servizi selezionati nel passaggio precedente.

  8. (Facoltativo) Se vuoi definire i servizi accessibili all'interno di un perimetro, procedi come segue:

    1. Fai clic su Servizi accessibili da VPC.

    2. Nel riquadro Servizi accessibili VPC, seleziona Servizi selezionati.

      Per includere rapidamente tutti i servizi limitati che il perimetro protegge all'elenco dei servizi accessibili, seleziona Includi tutti i servizi limitati. Questa opzione consente di includere servizi separati oltre a servizi limitati.

    3. Fai clic su Aggiungi servizi accessibili VPC.

      Puoi anche aggiungere servizi accessibili dopo aver creato un perimetro.

    4. Nella pagina Specifica i servizi accessibili, seleziona il servizio che vuoi rendere accessibile all'interno del tuo perimetro.

    5. Fai clic su Aggiungi servizi n, dove nè il numero di servizi che hai selezionato nel passaggio precedente.

  9. (Facoltativo) Per consentire l'accesso alle risorse protette dall'esterno del perimetro utilizzando i livelli di accesso, procedi come segue:

    1. Fai clic su Livelli di accesso.

    2. Nel riquadro Criterio di accesso: livelli di accesso, fai clic sulla casella Scegli il livello di accesso.

      Puoi aggiungere livelli di accesso anche dopo aver creato un perimetro.

    3. Seleziona le caselle di controllo corrispondenti ai livelli di accesso che vuoi applicare al perimetro.

  10. Per consentire l'accesso alle risorse all'interno di un perimetro dai client API all'esterno del perimetro, puoi:

    1. Fai clic su Criterio in entrata.

    2. Nel riquadro Regole in entrata, fai clic su Aggiungi regola.

    3. Designa gli attributi Da degli client del client API e Agli attributi delle risorse/servizi di GCP richiesti.

      Per un elenco degli attributi delle regole in entrata, consulta Riferimento alle regole in entrata.

  11. Per consentire l'accesso che coinvolga un client API o delle risorse all'interno del perimetro per le risorse esterne a un perimetro, procedi come segue:

    1. Fai clic su Criterio in uscita.

    2. Nel riquadro Regole in uscita, fai clic su Aggiungi regola.

    3. Designa gli attributi Da degli client del client API e Agli attributi delle risorse/servizi di GCP richiesti.

      Per un elenco degli attributi della regola in uscita, vedi Riferimento alle regole in uscita.

  12. Fai clic su Crea perimetro.

gcloud

Per creare un nuovo perimetro in modalità forzata, utilizza il comando create.

gcloud access-context-manager perimeters create NAME \
  --title=TITLE \
  --resources=PROJECTS \
  --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

Per creare un nuovo perimetro in modalità di prova, utilizza il comando dry-run create.

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

Sostituisci quanto segue:

  • NAME è il nome del perimetro.

    Il nome di un perimetro può avere una lunghezza massima di 50 caratteri, deve iniziare con una lettera e può contenere solo lettere latine ASCII (a-z, A-Z), numeri (0-9) o trattini bassi (_). Il nome del perimetro è sensibile alle maiuscole e deve essere univoco all'interno di un criterio di accesso.

  • TITLE è il titolo leggibile del perimetro.

  • TYPE è il tipo di perimetro. ad esempio un perimetro "standard" o un perimetro "bridge".

  • PROJECTS è un elenco separato da virgole di uno o più numeri di progetto. Ad esempio: projects/12345 o projects/12345,projects/67890. Sono supportati solo i numeri di progetto. Non puoi utilizzare il nome o l'ID del progetto.

  • RESTRICTED-SERVICES è un elenco separato da virgole di uno o più servizi. Ad esempio: storage.googleapis.com o storage.googleapis.com,bigquery.googleapis.com.

  • INGRESS-FILENAME è un file JSON o YAML che contiene i valori di origine, identità, progetto e attributi del servizio. Per un elenco degli attributi delle regole in entrata, consulta la sezione Riferimento alle regole in entrata.

  • EGRESS-FILENAME è un file JSON o YAML che contiene i valori degli attributi riguardanti identità, progetti e servizi. Per un elenco degli attributi delle regole in uscita, consulta la sezione Informazioni sulle regole di uscita.

  • POLICY_NAME è il nome numerico del criterio di accesso della tua organizzazione. Ad esempio, 330193482019. Devi includere il nome del criterio solo se non hai impostato un criterio di accesso predefinito.

Opzioni aggiuntive:

  • --access-levels o --perimeter-access-levels è obbligatorio solo se vuoi aggiungere livelli di accesso quando crei il perimetro. LEVELS è un elenco separato da virgole di uno o più livelli di accesso che vuoi applicare al perimetro di servizio.

    Puoi anche aggiungere livelli di accesso dopo aver creato il perimetro.

  • --enable-vpc-accessible-services e --vpc-allowed-services oppure --perimeter-enable-vpc-accessible-services e --perimeter-vpc-allowed-services sono obbligatori solo se vuoi aggiungere servizi accessibili da VPC quando crei il perimetro. ACCESSIBLE-SERVICES è un elenco separato da virgole di uno o più servizi a cui vuoi consentire alle reti all'interno del tuo perimetro di accedere. L'accesso a eventuali servizi non inclusi in questo elenco è bloccato.

    Puoi rendere accessibile un servizio solo se lo proteggi anche durante la configurazione del perimetro.

    Per includere rapidamente tutti i servizi protetti da un perimetro, specifica RESTRICTED-SERVICES nell'elenco per ACCESSIBLE-SERVICES. Ad esempio, --perimeter-vpc-allowed-services=RESTRICTED-SERVICES.

    Puoi anche definire un servizio accessibile VPC dopo aver creato il perimetro.

Ad esempio, il comando seguente crea un nuovo perimetro in modalità di prova denominato ProdPerimeter, che include i progetti example-project e example-project2, e limita le API Cloud Storage e BigQuery.

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

API

Per creare un perimetro di servizio, chiama accessPolicies.servicePerimeters.create.

 POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters

Dove:

  • POLICY_NAME è il nome numerico del criterio di accesso della tua organizzazione. Ad esempio, 330193482019.

Corpo della richiesta

Il corpo della richiesta deve includere una risorsa ServicePerimeter che definisce il perimetro del servizio.

Per la risorsa ServicePerimeter, specifica PERIMETER_TYPE_REGULAR per perimeterType.

Modalità test di prova

Il perimetro proposto deve essere incluso come spec e useExplicitDryRunSpec impostato su true.

Corpo della risposta

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

Passaggi successivi

  • Scopri come gestire i perimetri di servizio esistenti.