Questa pagina descrive come gestire i livelli di accesso esistenti. Puoi:
Prima di iniziare
Imposta la policy di accesso predefinita per l'utilizzo dello strumento a riga di comando
gcloud.-oppure-
Recupera il nome della policy. Il nome della policy è obbligatorio per i comandi che utilizzano lo strumento a riga di comando
gcloude per effettuare chiamate API. Se imposti una policy di accesso predefinita, non è necessario specificare la policy per lo strumento a riga di comandogcloud.Assicurati di disporre di un ruolo Identity and Access Management (IAM) a livello di organizzazione che ti consenta di gestire i livelli di accesso. Chiedi all'amministratore di concederti uno dei seguenti ruoli o un ruolo personalizzato con le stesse autorizzazioni:
Per visualizzare i livelli di accesso: Access Context Manager Reader (
roles/accesscontextmanager.policyReader)Per visualizzare e modificare i livelli di accesso: Editor Gestore contesto accesso (
roles/accesscontextmanager.policyEditor) o Amministratore Gestore contesto accesso (roles/accesscontextmanager.policyAdmin)
Elenca livelli di accesso
Console
Per elencare tutti i livelli di accesso, apri la pagina Gestore contesto accesso nella console Cloud de Confiance e poi, se richiesto, seleziona la tua organizzazione. I livelli di accesso della tua organizzazione vengono visualizzati in una griglia nella pagina, inclusi i dettagli sulla configurazione di ogni livello di accesso.
gcloud
Per elencare tutti i livelli di accesso, utilizza il comando list.
gcloud access-context-manager levels list \ [--policy=POLICY_NAME]
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.
L'output sarà simile al seguente:
NAME TITLE LEVEL_TYPE Device_Trust Device_Trust Extended Basic Service_Group_A Service_Group_A Basic
API
Per elencare tutti i livelli di accesso per una policy, chiama
accessLevels.list.
GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Parametri facoltativi
Se vuoi, includi uno o più dei seguenti parametri di ricerca.
| Parametri | |
|---|---|
pageSize
|
Per impostazione predefinita, l'elenco dei
livelli di accesso restituiti da Puoi utilizzare questo parametro per modificare il numero di livelli di accesso restituiti per pagina. |
pageToken
|
Se il numero di livelli di accesso restituiti dalla chiamata ha superato le dimensioni della pagina, il corpo della risposta includerà un token di pagina. Puoi utilizzare questo parametro in una chiamata successiva per ottenere la pagina successiva dei risultati. |
accessLevelFormat
|
Normalmente, i livelli di accesso vengono restituiti così come sono definiti, ovvero
come
Puoi specificare il valore |
Corpo della risposta
In caso di esito positivo, il corpo della risposta alla chiamata contiene un oggetto AccessLevels che elenca i livelli di accesso e una stringa nextPageToken. nextPageToken ha un valore solo se il numero di livelli di accesso restituiti supera la dimensione della pagina. In caso contrario, nextPageToken viene restituito come
stringa vuota.
Elenca i livelli di accesso (formattati)
Con lo strumento a riga di comando gcloud puoi ottenere un elenco dei tuoi livelli di accesso in formato YAML o JSON.
Per ottenere un elenco formattato dei livelli di accesso, utilizza il comando list.
gcloud access-context-manager levels list \ --format=FORMAT \ [--policy=POLICY_NAME]
Sostituisci quanto segue:
FORMAT è uno dei seguenti valori:
list(formato YAML)json(formato JSON)
POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.
L'output YAML avrà un aspetto simile al seguente:
- basic: {'conditions': [{'ipSubnetworks': ['8.8.0.0/24']}]} description: Level for corp access. name: accessPolicies/165717541651/accessLevels/corp_level title: Corp Level - basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0.0/24']}]} description: Level for net access. name: accessPolicies/165717541651/accessLevels/net_level title: Net Level
L'output JSON avrà un aspetto simile al seguente:
[ { "basic": { "conditions": [ { "ipSubnetworks": [ "8.8.0.0/24" ] } ] }, "description": "Level for corp access.", "name": "accessPolicies/165717541651/accessLevels/corp_level", "title": "Corp Level" }, { "basic": { "combiningFunction": "OR", "conditions": [ { "ipSubnetworks": [ "8.8.0.0/24" ] } ] }, "description": "Level for net access.", "name": "accessPolicies/165717541651/accessLevels/net_level", "title": "Net Level" } ]
Descrivere un livello di accesso
Console
Utilizzando la console Cloud de Confiance , fai riferimento ai passaggi per elencare i livelli di accesso. Quando elenchi i livelli di accesso, i dettagli vengono forniti nella griglia visualizzata.
gcloud
L'elenco dei livelli di accesso fornisce solo il nome, il titolo e il tipo di livello. Per
ottenere informazioni dettagliate su cosa fa effettivamente un livello, utilizza il
comando describe.
gcloud access-context-manager levels describe LEVEL_NAME \ [--policy=POLICY_NAME]
Sostituisci quanto segue:
LEVEL_NAMEè il nome del livello di accesso che vuoi descrivere.POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.
Il comando stampa le informazioni sul livello formattate come YAML. Ad esempio, se il livello ha limitato l'accesso a determinate versioni del sistema operativo, l'output potrebbe essere simile al seguente:
basic: conditions: - devicePolicy: allowedEncryptionStatuses: - ENCRYPTED osConstraints: - minimumVersion: 10.13.6 osType: DESKTOP_MAC - minimumVersion: 10.0.18219 osType: DESKTOP_WINDOWS - minimumVersion: 68.0.3440 osType: DESKTOP_CHROME_OS requireScreenlock: true name: accessPolicies/330193482019/accessLevels/Device_Trust title: Device_Trust Extended
API
L'elenco dei livelli di accesso fornisce solo il nome, il titolo e il tipo dei livelli.
Per ottenere informazioni dettagliate su un livello di accesso,
chiama il numero accessLevels.get.
GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione.LEVEL_NAMEè il nome del livello di accesso che vuoi descrivere.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Parametri facoltativi
(Facoltativo) Includi il parametro di query accessLevelFormat. Normalmente, i livelli di accesso vengono restituiti così come sono definiti,
come BasicLevel o CustomLevel.
Puoi specificare il valore CEL per questo parametro per restituire BasicLevels
come CustomLevels in Cloud Common Expression Language.
Corpo della risposta
In caso di esito positivo, il corpo della risposta alla chiamata contiene una risorsa AccessLevel che include dettagli su cosa fa il livello di accesso, l'ultima volta che è stato aggiornato e altro ancora.
Aggiornare un livello di accesso
Questa sezione descrive come aggiornare i singoli livelli di accesso. Per aggiornare tutti i livelli di accesso della tua organizzazione in un'unica operazione, vedi Modifica collettiva dei livelli di accesso.
Console
Per aggiornare un livello di accesso:
Apri la pagina Gestore contesto accesso nella console Cloud de Confiance .
Se richiesto, seleziona la tua organizzazione.
Nella griglia, fai clic sul nome del livello di accesso da aggiornare.
Nel riquadro Modifica livello di accesso, apporta le modifiche al livello di accesso.
Per un elenco completo degli attributi che puoi aggiungere o modificare, leggi informazioni sugli attributi del livello di accesso.
Fai clic su Salva.
Oltre ad aggiornare o rimuovere le condizioni esistenti, puoi aggiungerne di nuove e nuovi attributi a quelle esistenti.
gcloud
Utilizza il comando update per aggiornare un livello di accesso.
Livello di accesso di base:
gcloud access-context-manager levels update LEVEL_NAME \ --basic-level-spec=FILE \ [--policy=POLICY_NAME]
Livello di accesso personalizzato:
gcloud access-context-manager levels update LEVEL_NAME \ --custom-level-spec=FILE \ [--policy=POLICY_NAME]
Sostituisci quanto segue:
LEVEL_NAMEè il nome del livello di accesso che vuoi aggiornare.FILE è il nome di un file .yaml che definisce le condizioni per il livello di accesso (per i livelli di accesso di base) o un'espressione CEL che restituisce un singolo valore booleano (per i livelli di accesso personalizzati).
Per un elenco completo degli attributi che puoi utilizzare nelle condizioni di base del livello di accesso, scopri di più sugli attributi del livello di accesso.
POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.Puoi includere una o più delle seguenti opzioni.
Opzioni combine-functionQuesta opzione viene utilizzata solo per i livelli di accesso di base.
Determina in che modo vengono combinate le condizioni.
Valori validi:
AND,ORdescriptionUna descrizione dettagliata del livello di accesso.
titleUn titolo breve per il livello di accesso. Il titolo del livello di accesso viene visualizzato nella console Cloud de Confiance .
Puoi includere uno qualsiasi dei flag a livello di gcloud.
Comando di esempio
gcloud access-context-manager levels update Device_Trust \ --basic-level-spec=corpdevspec.yaml \ --combine-function=OR \ --description='Access level that conforms to updated corporate spec.' \ --title='Device_Trust Extended' \ --policy=1034095178592
API
Per aggiornare un livello di accesso, chiama il numero accessLevels.patch.
PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione.LEVEL_NAMEè il nome del livello di accesso che vuoi descrivere.FIELDS è un elenco separato da virgole di nomi di campi completi che stai aggiornando.
Corpo della richiesta
Il corpo della richiesta deve includere una risorsa AccessLevel
che specifica le modifiche che vuoi apportare al livello di accesso.
Corpo della risposta
In caso di esito positivo, il corpo della risposta alla chiamata contiene una risorsa Operation che fornisce dettagli sull'operazione di patch.
Eliminare un livello di accesso
Questa sezione descrive come eliminare i livelli di accesso di Gestore contesto accesso. L'eliminazione di un livello di accesso è una procedura in due passaggi:
Controllare le dipendenze del livello di accesso
Prima di eliminare un livello di accesso, assicurati che non venga utilizzato come riferimento da altri livelli di accesso.
Per trovare tutti i livelli di accesso che fanno riferimento a quello che vuoi eliminare:
Assicurati di aver installato
jq. Per verificare chejqsia installato, eseguijq --version. Installajq.Controlla le dipendenze del livello di accesso. Questo comando elenca tutti i livelli di accesso, quindi utilizza
jqper filtrare i livelli di accesso che fanno riferimento a LEVEL_NAME nelle definizioni di livello di base o personalizzato.echo "Searching for Access Levels referencing: accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME" echo "" gcloud access-context-manager levels list \ --policy="POLICY_NAME" \ --format=json | \ jq -r ' .[] | select( # Check basic levels: Is the target access level present as an element in any requiredAccessLevels array? (.basic.conditions // []) | .[] | .requiredAccessLevels | index("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") != null or # Check custom levels: Does the expression string contain the target access level? (.custom.expr.expression // "") | contains("accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME") ) | " - \(.title) (Name: \(.name))" ' echo "" echo "If any levels are listed, they reference LEVEL_NAME. You must update these referencing levels before you delete LEVEL_NAME."
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.LEVEL_NAMEè il nome del livello di accesso che vuoi eliminare, ad esempiomy_level.
Nell'output sono elencati tutti i livelli di accesso che fanno riferimento a
accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME, insieme atitleename. Sono inclusi sia i livelli di base (in cuiaccessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEsi trova inrequiredAccessLevels) sia i livelli personalizzati (in cuiaccessPolicies/POLICY_NAME/accessLevels/LEVEL_NAMEviene visualizzato nella stringacustom.expr.expression).Se il comando elenca livelli di accesso di riferimento, devi prima aggiornarli per rimuovere la dipendenza. Per le istruzioni, vedi Aggiornare un livello di accesso.
Dopo aver rimosso tutti i riferimenti, puoi procedere con l'eliminazione del livello di accesso individuale.
Eliminare un singolo livello di accesso
Console
Per eliminare un livello di accesso:
Apri la pagina Gestore contesto accesso nella console Cloud de Confiance .
Se richiesto, seleziona la tua organizzazione.
Nella griglia, nella riga corrispondente al livello di accesso che vuoi eliminare, fai clic sul pulsante .
Fai clic su Elimina.
Nella finestra di dialogo visualizzata, conferma di voler eliminare il livello di accesso.
gcloud
Per eliminare un livello di accesso:
Utilizza il comando
deleteper eliminare un livello di accesso.gcloud access-context-manager levels delete LEVEL_NAME \ [--policy=POLICY_NAME]
Sostituisci quanto segue:
LEVEL_NAMEè il nome del livello di accesso che vuoi eliminare.POLICY_NAMEè il nome della policy di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato una policy di accesso predefinita.
Conferma di voler eliminare il livello di accesso.
Ad esempio:
You are about to delete level Device_Trust Do you want to continue (Y/n)?
Dovresti vedere un output simile al seguente:
Waiting for operation [accessPolicies/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done. Deleted level [Device_Trust].
API
Per eliminare un livello di accesso, chiama il numero accessLevels.delete.
DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
Sostituisci quanto segue:
POLICY_NAMEè il nome della policy di accesso della tua organizzazione.LEVEL_NAMEè il nome del livello di accesso che vuoi descrivere.
Corpo della richiesta
Il corpo della richiesta deve essere vuoto.
Corpo della risposta
In caso di esito positivo, il corpo della risposta alla chiamata contiene una risorsa Operation che fornisce dettagli sull'operazione di eliminazione.