Creazione di un livello di accesso base

In questa pagina viene descritto in generale come creare livelli di accesso di base. Per creare livelli di accesso personalizzati e utilizzare la modalità avanzata nella console Google Cloud, consulta Creazione di un livello di accesso personalizzato.

Questa pagina include implementazioni più mirate dei livelli di accesso. Consulta le i seguenti esempi:

Prima di iniziare

Crea un livello di accesso di base

Console

Per creare un livello di accesso di base:

  1. Apri la pagina Gestore contesto accesso nella console Google Cloud.

    Apri la pagina Gestore contesto accesso

  2. Se richiesto, seleziona la tua organizzazione.

  3. Nella parte superiore della pagina Gestore contesto accesso, fai clic su Nuovo.

  4. Nel riquadro Nuovo livello di accesso:

    1. Nel campo Titolo livello di accesso, inserisci un titolo per il livello di accesso. Il titolo deve contenere al massimo 50 caratteri, iniziare con una lettera e può contenere solo numeri, lettere, trattini bassi e spazi.

    2. Nella sezione Condizioni, fai clic sul Pulsante aggiungi per il tipo dell'attributo che desideri aggiungere, quindi fornisci i valori da applicare a quell'attributo.

      Per un elenco completo degli attributi che puoi aggiungere, scopri di più sugli attributi del livello di accesso.

      Ad esempio, se vuoi che il livello di accesso prenda in considerazione la posizione proviene dall'interno della tua rete, devi selezionare Subnet IP.

      Ripeti questo passaggio per aggiungere più attributi alla stessa condizione. Quando una condizione ha più attributi, tutti devono a soddisfare la richiesta di accesso.

      Una condizione del livello di accesso può includere uno di ogni tipo . Alcuni attributi includono elementi quali l'attributo Device Policy.

      I livelli di accesso supportano condizioni in base a e l'identità utente. Tuttavia, per aggiungere identità a una condizione, deve creare o aggiornare il livello di accesso utilizzando gcloud CLI o l'API.

    3. Utilizza l'opzione Quando la condizione è soddisfatta, restituisce per specificare se la condizione richieda che una richiesta soddisfi tutti attributi specificati (TRUE) o se la richiesta deve soddisfa qualsiasi cosa tranne questi attributi (FALSE).

      Ad esempio, se vuoi rifiutare le richieste da un determinato indirizzo IP rete, specifica l'intervallo di indirizzi IP utilizzando il Subnet IP, quindi imposta la condizione su FALSO.

    4. Se vuoi, fai clic su Aggiungi un'altra condizione per aggiungere una al livello di accesso, poi ripeti i due passaggi precedenti.

      Ad esempio, se vuoi negare l'accesso a un sottoinsieme di indirizzi in un intervallo di indirizzi IP più ampio, crea un nuovo specifica l'intervallo di indirizzi IP del sottoinsieme per Subnet IP e imposta la condizione da restituire FALSO.

      Ripeti questo passaggio per aggiungere più condizioni allo stesso accesso livello.

    5. Se hai creato più di una condizione, utilizza Combina condizione con per specificare se vuoi che venga utilizzata la livello di accesso per richiedere una richiesta per soddisfare almeno uno dei condizioni (OR) oppure tutte le condizioni (AND).

    6. Fai clic su Salva.

gcloud

Prima di iniziare

Per creare un livello di accesso con lo strumento a riga di comando gcloud, utilizza il metodo Comando gcloud access-context-manager levels create.

gcloud access-context-manager levels create LEVEL_NAME OPTIONS \
    --policy=POLICY

Dove:

  • LEVEL_NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi. Il nome può contenere al massimo 50 caratteri.

  • OPTIONS sono le opzioni obbligatorie della seguente tabella.

    Opzioni
    basic-level-spec

    Un file YAML che specifica uno o più condizioni per il livello di accesso.

    title

    Un breve titolo per il livello di accesso. Il titolo del livello di accesso viene visualizzato nella console Google Cloud.

    combine-function

    (Facoltativo) Determina come vengono combinate le condizioni.

    Valori validi: AND, OR

    description

    (Facoltativo) Una descrizione lunga del livello di accesso.

  • POLICY è l'ID del criterio di accesso della tua organizzazione. Se hai impostato una norma predefinita, questo parametro è facoltativo.

Se vuoi, puoi includere uno qualsiasi dei flag gcloud-wide.

file YAML con specifiche a livello di base

Quando utilizzi lo strumento a riga di comando gcloud per creare un livello di accesso, devi fornire un per l'opzione basic-level-spec. Il file YAML definisce uno o più le condizioni per il livello di accesso. Le condizioni devono contenere almeno uno . Quando una condizione contiene più di un attributo, vengono combinata come operazione AND (devono essere tutte true) o come NAND (nessuna può essere true), a seconda che l'attributo negate è incluso nella condizione.

Per un elenco completo degli attributi che puoi includere nel tuo file YAML, scopri di più sugli attributi del livello di accesso.

Per ulteriori informazioni sui livelli di accesso e YAML, fai riferimento all'esempio YAML per un livello di accesso.

Comando di esempio

gcloud access-context-manager levels create Device_Trust \
    --basic-level-spec=corpdevspec.yaml \
    --combine-function=AND \
    --description='Access level that conforms to corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1521580097614100

API

Prima di iniziare

Per creare un livello di accesso, chiama accessLevels.create.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels

Dove:

  • POLICY è l'ID del dominio criterio di accesso.

Corpo della richiesta

Il corpo della richiesta deve includere un elemento AccessLevel che specifica le condizioni desiderate per il nuovo livello di accesso. Ogni Condition ha uno o più attributi che sono valutata come operazione AND (tutti i valori devono essere true) o Operazione NAND (nessuna può essere vera) a seconda che la negate è impostato su true. La valutazione risultante determina se se la condizione è soddisfatta o meno.

Corpo della risposta

In caso di esito positivo, il corpo della risposta per la chiamata contiene una Operation che fornisce dettagli sul Operazione POST.

Esempi di implementazioni

I seguenti esempi illustrano alcuni modi pratici in cui la tua organizzazione potrebbe quando vogliamo implementare i livelli di accesso. Questi esempi presuppongono che la tua organizzazione dispone di un criterio di accesso.

Limitare l'accesso su una rete aziendale

Questo esempio descrive come creare una condizione del livello di accesso che consenta solo da un intervallo specificato di indirizzi IP (ad esempio quelli all'interno di un rete aziendale).

Se limiti l'intervallo di indirizzi IP a cui è concesso l'accesso, puoi: rendere più difficile l’esfiltrazione dei dati per un aggressore che si trova all’interno o all’esterno dell'organizzazione.

Per questo esempio, supponiamo di voler creare un livello di accesso che consenta a di revisori interni per accedere al servizio Cloud Logging per un denominato sensitive-data. Tutti i dispositivi per i revisori su una subnet compresa tra 203.0.113.0 e 203.0.113.127. Tu saprai che non ci saranno altri dispositivi assegnati a quella subnet, a parte quelli utilizzati dai revisori.

Se vuoi utilizzare un intervallo di indirizzi IP privato (ad esempio, 192.168.0.0/16 o 172.16.0.0/12), consulta Consentire l'accesso alle risorse protette da un per ulteriori informazioni sull'indirizzo IP informazioni e un esempio di implementazione con Controlli di servizio VPC.

Console

  1. Apri la pagina Gestore contesto accesso nella console Google Cloud.

    Apri la pagina Gestore contesto accesso

  2. Se richiesto, seleziona la tua organizzazione.

  3. Nella parte superiore della pagina Gestore contesto accesso, fai clic su Nuovo.

  4. Nel riquadro Nuovo livello di accesso, nella sezione Condizioni, fai clic su Aggiungi attributo, quindi fai clic su Subnet IP.

  5. Nella casella Sottoreti IP, seleziona IP pubblico o Privato IP.

    • Se selezioni IP pubblico, inserisci uno o più intervalli IPv4 o IPv6 formattati come blocchi CIDR.

      In questo esempio, per limitare l'accesso solo ai revisori, inserisci 203.0.113.0/25 nella casella Subnet IP.

    • Se selezioni IP privato, fai clic su Seleziona reti VPC. Puoi specificare le reti VPC utilizzando una delle tre opzioni disponibili, disponibili nell'elenco Opzioni di importazione.

      • Opzione 1.

        1. Seleziona Sfoglia le reti VPC nella tua organizzazione e seleziona il reti VPC.

        2. Fai clic su Aggiungi reti VPC selezionate.

        3. Fai clic su Seleziona subnet IP e seleziona le subnet.

        4. Fai clic su Aggiungi subnet IP.

      • Opzione 2.

        1. Seleziona Inserisci manualmente l'indirizzo di rete VPC e inserisci uno o più reti VPC.

        2. Fai clic su Aggiungi rete VPC.

        3. Fai clic su Seleziona subnet IP e seleziona le subnet.

        4. Fai clic su Aggiungi subnet IP.

      • Opzione 3.

        1. Seleziona Carica file CSV (sovrascrive le reti esistenti).

          Se utilizzi un file CSV per aggiungere reti e subnet VPC a un livello di accesso, il Gestore contesto accesso sovrascrive il VPC selezionato in precedenza di reti e subnet.

        2. Fai clic su Sfoglia e carica il file CSV. Nel file CSV, devi specificare le reti e le subnet VPC nel formato seguente:

          VPC_NETWORK_NAME_1       | IP_RANGE_1       | IP_RANGE_2       | ...
          VPC_NETWORK_NAME_2       | .                | .                | ...
          .                        | .                | .                | ...
          .                        | .                | .                | ...
          
        3. Fai clic su Importa reti.

          Usando il file CSV, Gestore contesto accesso compila la rete VPC nomi e informazioni sulle subnet nell'indirizzo di rete VPC e nell'IP relative alle subnet.

      Per informazioni sul nome della rete VPC e sulle Formato dell'indirizzo IP. Vedi Utilizzare l'indirizzo IP interno nell'accesso .

  6. Fai clic su Salva.

gcloud

  1. Crea un file YAML per un livello di accesso che includa uno o più Intervalli IPv4 o IPv6 formattati come blocchi CIDR.

    In questo esempio, per limitare l'accesso solo ai revisori, devi inserire il seguente codice nel file YAML:

    - ipSubnetworks:
      - 203.0.113.0/25
    

    Se vuoi utilizzare un indirizzo IP privato, devi inserire quanto segue le informazioni del file YAML:

    - vpcNetworkSources:
      - vpcSubnetwork:
          network: VPC_NETWORK_NAME
          vpcIpSubnetworks:
          - IP_RANGE
    

    Sostituisci VPC_NETWORK_NAME e IP_RANGE con i valori descritto in Utilizzare l'indirizzo IP interno nell'accesso. dei livelli di accesso.

  2. Salva il file. In questo esempio, il file è denominato CONDITIONS.yaml.

  3. Crea il livello di accesso.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

    • POLICY è l'ID del dominio criterio di accesso. Se hai impostato un criterio predefinito, questo parametro è facoltativo.

    Dovresti visualizzare un output simile al seguente:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Crea un corpo della richiesta per creare una AccessLevel risorsa che include uno o più intervalli IPv4 o IPv6 formattati come blocchi CIDR.

    In questo esempio, per limitare l'accesso solo ai revisori, devi inserire il seguente codice nel corpo della richiesta:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "ipSubnetworks": [
             "203.0.113.0/25"
           ]
         }
       ]
     }
    }
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

    Se vuoi utilizzare un indirizzo IP privato, devi inserire quanto segue nel corpo della richiesta:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "vpcNetworkSources": [
            {
              "vpcSubnetwork": {
                "network": VPC_NETWORK_NAME,
                "vpcIpSubnetworks": [
                  IP_RANGE
                ]
              }
            }
           ]
         }
       ]
     }
    }
    

    Sostituisci VPC_NETWORK_NAME e IP_RANGE con i valori descritto in Utilizzare l'indirizzo IP interno nell'accesso. dei livelli di accesso.

  2. Crea il livello di accesso chiamando accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dove:

    • POLICY è l'ID del dominio criterio di accesso.

Limita l'accesso in base agli attributi dei dispositivi

Questo esempio descrive come creare un livello di accesso che consenta l'accesso solo a dispositivi che soddisfano un insieme specifico di requisiti, ad esempio una determinata la versione del sistema operativo.

Le informazioni sui dispositivi vengono fornite a Gestore contesto accesso utilizzando Verifica degli endpoint. Per determinare se concedere l'accesso, puoi controllare i seguenti criteri:

  • Il blocco schermo è attivo
  • La crittografia dello spazio di archiviazione è abilitata
  • Sul dispositivo sono in esecuzione un tipo e una versione di sistema operativo specificati

Per questo esempio, supponiamo che la tua organizzazione utilizzi solo macchine con ChromeOS o Windows installato. Per aggiungere un livello di sicurezza, devi creare un livello di accesso che impedirà l'accesso a chiunque utilizzi altri sistemi operativi sistemi diversi. Inoltre, per gestire il rischio, assicuratevi che solo certi più versioni del sistema operativo.

Console

  1. Apri la pagina Gestore contesto accesso nella console Google Cloud.

    Apri la pagina Gestore contesto accesso

  2. Se richiesto, seleziona la tua organizzazione.

  3. Nella parte superiore della pagina Gestore contesto accesso, fai clic su Nuovo.

  4. Nel riquadro Nuovo livello di accesso, nella sezione Condizioni, Fai clic su Aggiungi attributo, quindi su Device Policy.

  5. Aggiungi gli attributi dei criteri relativi ai dispositivi:

    1. Fai clic su Aggiungi criterio di sistema operativo, quindi su Criterio di Chrome OS.

    2. Nella casella Versione minima, inserisci la versione minima di Chrome Sistema operativo che vuoi consentire.

    3. Ripeti i passaggi 1 e 2 per il criterio del sistema operativo Windows.

  6. Fai clic su Salva.

gcloud

  1. Crea un file YAML per un livello di accesso che include un criterio relativo ai dispositivi con vincoli del sistema operativo.

    In questo esempio, per consentire solo i dispositivi con una versione minima accettabile di ChromeOS e Windows, dovresti inserire quanto segue nel file YAML file:

    - devicePolicy:
        osConstraints:
          - osType: DESKTOP_CHROME_OS
            minimumVersion: 11316.165.0
          - osType: DESKTOP_WINDOWS
            minimumVersion: 10.0.1809
    
  2. Salva il file. In questo esempio, il file è denominato CONDITIONS.yaml.

  3. Crea il livello di accesso.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --policy=POLICY
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

    • POLICY è l'ID del dominio criterio di accesso. Se hai impostato un criterio predefinito, questo parametro è facoltativo.

    Dovresti visualizzare un output simile al seguente:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Crea un corpo della richiesta per creare una AccessLevel risorsa che include un criterio relativo ai dispositivi con vincoli del sistema operativo.

    In questo esempio, per consentire solo i dispositivi con una versione minima accettabile di ChromeOS e Windows, devi inserire quanto segue nella richiesta corpo del testo:

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "devicePolicy": {
             "osConstraints": [
               {
                 "osType": "DESKTOP_CHROME_OS",
                 "minimumVersion": "11316.165.0"
               },
               {
                 "osType": "DESKTOP_WINDOWS",
                 "minimumVersion": "10.0.1809"
               }
             ]
           {
         }
       ]
     }
    }
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

  2. Crea il livello di accesso chiamando accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dove:

    • POLICY è l'ID del dominio criterio di accesso.

Concedere l'accesso per account utente o di servizio

La concessione dell'accesso basato sull'identità è spesso utile insieme a account di servizio, ad esempio per consentire a una Cloud Function di accedere ai dati.

Questo esempio descrive come concedere l'accesso a utenti e servizi specifici account, includendo i livelli di accesso esistenti per mostrare un esempio i livelli di accesso nidificati. In questo caso, gli utenti specificati vengono inclusi livello di accesso che soddisfano le condizioni specificate nella ai livelli di accesso esistenti. Questo nuovo livello di accesso può essere considerato meno restrittivo rispetto ai livelli di accesso esistenti.

Console

La console Google Cloud attualmente non supporta l'aggiunta di entità a livelli di accesso. Se vuoi aggiungere entità ai livelli di accesso, devi usa lo strumento a riga di comando gcloud o l'API.

gcloud

  1. Crea un file YAML contenente una condizione che elenca le entità a cui vuoi fornire l'accesso.

    In questo esempio, vuoi aggiungere l'amministratore di sistema (sysadmin@example.com) e un account di servizio (service@project.iam.gserviceaccount.com).

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
  2. Aggiungi una condizione che elenca i livelli di accesso esistenti a cui vuoi includi in questo livello di accesso.

    In questo esempio, supponiamo che i livelli di accesso siano denominati Device_Trust e IP_Trust e che 247332951433 è il nome del tuo criterio di accesso.

    - members:
        - user:sysadmin@example.com
        - serviceAccount:service@project.iam.gserviceaccount.com
    
    - requiredAccessLevels:
        - accessPolicies/247332951433/accessLevels/Device_Trust
        - accessPolicies/247332951433/accessLevels/IP_Trust
    
  3. Salva il file. In questo esempio, il file è denominato CONDITIONS.yaml.

  4. Crea il livello di accesso utilizzando il comando create.

    gcloud access-context-manager levels create NAME \
       --title TITLE \
       --basic-level-spec CONDITIONS.yaml \
       --combine-function=OR \
       --policy=POLICY
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

    • POLICY è l'ID del dominio criterio di accesso. Se hai impostato un criterio predefinito, questo parametro è facoltativo.

    • combine-function impostata su OR. Il valore predefinito, AND, richiede tutte le condizioni devono essere soddisfatte prima di concedere un livello di accesso. OR concederà l'accesso alle entità anche se altre condizioni sono non rispettata.

    Dovresti visualizzare un output simile al seguente:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

  1. Crea un corpo della richiesta per creare una AccessLevel risorsa che include una condizione che elenca le entità a cui vuoi fornire l'accesso.

    In questo esempio, vuoi aggiungere l'amministratore di sistema (sysadmin@example.com) e un account di servizio (service@project.iam.gserviceaccount.com).

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         }
       ]
     }
    }
    

    Dove:

    • NAME è il nome univoco del livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

  2. Aggiungi una condizione che elenca i livelli di accesso esistenti a cui vuoi includi in questo livello di accesso.

    In questo esempio, supponiamo che i livelli di accesso siano denominati Device_Trust e IP_Trust e che 247332951433 è il nome del tuo criterio di accesso.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ]
     }
    }
    
  3. Imposta combiningFunction su OR.

    Il valore predefinito per combiningFunction, AND, richiede tutte le condizioni devono essere soddisfatte prima di concedere un livello di accesso. OR darà accesso alle entità anche se altre condizioni, come gli indirizzi IP o quelli ereditati da altri livelli di accesso obbligatori, non rispettata.

    {
     "name": "NAME",
     "title": "TITLE",
     "basic": {
       "conditions": [
         {
           "members": [
             "user:sysadmin@example.com",
             "serviceAccount:service@project.iam.gserviceaccount.com"
           ]
         },
         {
           "requiredAccessLevels": [
             "accessPolicies/247332951433/accessLevels/Device_Trust",
             "accessPolicies/247332951433/accessLevels/IP_Trust"
           ]
         }
       ],
       "combiningFunction": "OR"
     }
    }
    
  4. Crea il livello di accesso chiamando accessLevels.create.

    POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY/accessLevels
    

    Dove:

    • POLICY è l'ID del dominio criterio di accesso.