Crea un perimetro di servizio

Questa pagina descrive 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 o reti VPC 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 o aggiornato un perimetro di servizio esistente, possono essere necessari fino a 30 minuti prima che le modifiche vengano propagate e applicate. Durante questo periodo, il perimetro potrebbe bloccare le richieste con il seguente messaggio di errore: Error 403: Request is prohibited by organization's policy.

Console

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

    Vai a Controlli di servizio VPC

  2. Se ti viene chiesto, seleziona la tua organizzazione, la tua cartella o il tuo progetto.

  3. Seleziona una policy di accesso esistente o creane una nuova. Assicurati che l'ambito dei criteri di accesso includa tutti i progetti e le reti VPC che vuoi aggiungere al perimetro.

  4. Nella pagina Controlli di servizio VPC, seleziona una modalità di perimetro. Per impostazione predefinita, è selezionata l'opzione Modalità forzata. Se vuoi creare un perimetro in modalità di prova, fai clic su Modalità di prova.

    I perimetri con applicazione forzata impediscono attivamente l'accesso ai servizi protetti. I perimetri di prova registrano le violazioni del perimetro come se i servizi fossero protetti, ma non impediscono l'accesso a questi servizi. Per ulteriori informazioni sulle modalità di applicazione e di prova, consulta la sezione relativa ai perimetri di servizio.

  5. Fai clic su Nuovo perimetro.

  6. Nella pagina Nuovo 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.

  7. Per aggiungere i progetti o le reti VPC che vuoi proteggere all'interno del perimetro, procedi nel seguente modo:

    1. Fai clic su Aggiungi risorse.

    2. Per aggiungere progetti al perimetro, fai clic su Aggiungi progetto nel riquadro Aggiungi risorse.

      1. Per selezionare un progetto, seleziona la relativa casella di controllo nella finestra di dialogo Aggiungi progetti.

      2. Fai clic su Aggiungi risorse selezionate. I progetti aggiunti vengono visualizzati nella sezione Progetti.

    3. Per aggiungere reti VPC al perimetro, fai clic su Aggiungi rete VPC nel riquadro Aggiungi risorse.

      1. Nell'elenco dei progetti, fai clic sul progetto contenente le reti VPC.
      2. Per aggiungere una rete VPC, seleziona la relativa casella di controllo nella finestra di dialogo Aggiungi risorse.
      3. Fai clic su Aggiungi risorse selezionate. La rete aggiunta viene visualizzata nella sezione Reti VPC.
  8. Per selezionare i servizi che vuoi proteggere all'interno del perimetro:

    1. Fai clic su Servizi con limitazioni.

    2. Nel riquadro Servizi con limitazioni, fai clic su Aggiungi servizi.

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

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

  9. (Facoltativo) Se vuoi definire quali servizi sono accessibili all'interno di un perimetro, procedi nel seguente modo:

    1. Fai clic su Servizi accessibili da VPC.

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

      Per includere rapidamente nell'elenco dei servizi accessibili tutti i servizi limitati protetti dal perimetro, seleziona Includi tutti i servizi limitati. Questa opzione ti consente di includere servizi separati oltre ai servizi soggetti a limitazioni.

    3. Fai clic su Aggiungi servizi accessibili da 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 n servizi, dove n è il numero di servizi selezionati nel passaggio precedente.

  10. (Facoltativo) Per consentire l'accesso alle risorse protette dall'esterno del perimetro utilizzando i livelli di accesso, procedi nel seguente modo:

    1. Fai clic su Livelli di accesso.

    2. Nel riquadro Policy in entrata: livelli di accesso, fai clic sulla casella Scegli livello di accesso.

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

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

  11. Per consentire l'accesso alle risorse all'interno di un perimetro da client API esterni al perimetro, procedi nel seguente modo:

    1. Fai clic su Criterio in entrata.

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

    3. Specifica le origini esterne al perimetro che richiedono l'accesso in Attributi FROM del client API. Puoi specificare progetti, livelli di accesso e reti VPC come origini.

    4. Specifica le risorse all'interno del perimetro a cui le origini possono accedere in Agli attributi delle risorse/dei servizi Google Cloud.

      Per un elenco degli attributi delle regole di ingresso, consulta la sezione Riferimento alle regole di ingresso.

  12. Per consentire l'accesso che coinvolge un client API o risorse all'interno del perimetro a risorse esterne a un perimetro, procedi nel seguente modo:

    1. Fai clic su Criterio in uscita.

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

    3. Designa gli attributi FROM del client API e gli attributi TO delle risorse/dei servizi Google Cloud che ti interessano.

      Per un elenco degli attributi delle regole di uscita, consulta la sezione Riferimento alle regole di uscita.

  13. Fai clic su Crea perimetro.

gcloud

Per creare un nuovo perimetro in modalità di applicazione forzata, utilizza il comando gcloud access-context-manager perimeters create.

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

gcloud access-context-manager perimeters dry-run create NAME \
  --perimeter-title=TITLE \
  --perimeter-type=TYPE \
  --perimeter-resources=RESOURCES \
  --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 "regolare" o un perimetro "ponte".

  • RESOURCES è un elenco separato da virgole di uno o più numeri di progetto o nomi di reti VPC. Ad esempio: projects/12345 o //compute.googleapis.com/projects/my-project/global/networks/vpc1. Sono consentiti solo progetti e reti VPC. Formato del progetto: projects/project_number. Formato VPC: //compute.googleapis.com/projects/project-id/global/networks/network_name. Se specifichi i progetti, 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 contenente i valori degli attributi di origine, identità, progetto e servizio. Per un elenco degli attributi delle regole di ingresso, consulta la sezione Riferimento alle regole di ingresso.

  • EGRESS-FILENAME è un file JSON o YAML contenente i valori degli attributi di identità, progetto e servizio. Per un elenco degli attributi delle regole di uscita, consulta la sezione Riferimento alle 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 da applicare al perimetro del servizio.

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

  • --enable-vpc-accessible-services e --vpc-allowed-services o --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 l'accesso alle reti all'interno del tuo perimetro. L'accesso a qualsiasi servizio non incluso in questo elenco è impedito.

    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 i servizi accessibili da VPC dopo aver creato il perimetro.

Ad esempio, il seguente comando crea un nuovo perimetro in modalità di prova secca 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 di servizio.

Per la risorsa ServicePerimeter, specifica PERIMETER_TYPE_REGULAR per perimeterType.

Modalità dry run

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

Corpo della risposta

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

Passaggi successivi