Questa pagina spiega come gestire i binding di accesso esistenti, che definiscono in che modo le policy di accesso vengono applicate ai gruppi di utenti. Puoi visualizzare, modificare ed eliminare questi binding in base alle tue esigenze. Le associazioni di accesso determinano il modo in cui i livelli di accesso e i controlli della sessione vengono applicati a un gruppo di utenti.
Per informazioni su come creare binding di accesso e per ulteriori dettagli su livelli di accesso e controlli della sessione, vedi Applicare criteri ai gruppi di utenti con i binding di accesso.
Visualizza le associazioni di accesso
Una volta create le associazioni di accesso per un gruppo di utenti, l'accesso alla consoleGoogle Cloud e alle API Google Cloud viene controllato in base al soddisfacimento del livello di accesso associato.
Puoi visualizzare i dettagli del binding di accesso che hai creato, modificarlo o eliminarlo.
Console
Nella console Google Cloud , vai alla pagina Gestore contesto accesso.
Se ti viene chiesto, seleziona un progetto. L'elenco delle associazioni di accesso è riportato nella pagina Gestore contesto accesso.
gcloud
Per visualizzare tutti i binding di accesso, esegui questo comando:
gcloud access-context-manager cloud-bindings list \ --organization ORG_ID
ORG_ID: l'ID organizzazione. Se la proprietà
access-context-manager/organization
non è stata impostata, sostituisciORG_ID
nel flag facoltativo--organization
con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruoloGcpAccessAdmin
.Per visualizzare i dettagli di un binding di accesso, esegui questo comando:
gcloud access-context-manager cloud-bindings describe \ --binding=BINDING_ID
BINDING_ID
è l'ID dell'associazione di accesso o l'identificatore completo dell'associazione di accesso.
API
Visualizza tutte le associazioni di accesso:
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ORG_ID
è l'ID dell'organizzazione che hai utilizzato durante la creazione del ruoloGcpAccessAdmin
. Se la proprietàaccess-context-manager/organization
non è stata impostata, sostituisciORG_ID
nel flag facoltativo--organization
con l'ID dell'organizzazione che hai utilizzato durante la creazione del ruoloGcpAccessAdmin
.
Metodo HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/organizations/ORG_ID/gcpUserAccessBindings" | Select-Object -Expand ContentDovresti ricevere una risposta JSON simile alla seguente:
{ "name": string, "groupKey": string, "accessLevels": [ string ] "dryRunAccessLevels": [ string ] }
-
Visualizza i dettagli di un binding di accesso:
Metodo HTTP e URL:
GET https://accesscontextmanager.googleapis.com/v1/BINDING_ID
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/BINDING_ID"PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/BINDING_ID" | Select-Object -Expand ContentDovresti ricevere una risposta JSON simile alla seguente:
{ "name": "organizations/427391306986/gcpUserAccessBindings/aAQS-YRSviv2hC12vZFUN3AZzvwa6KV2hJ89iMytB_nHUcT1l", "groupKey": "045jfvxd0ybeul8", "accessLevels": [ "accessPolicies/305009197125/accessLevels/device_lock" ], "dryRunAccessLevels": [ "accessPolicies/305009197125/accessLevels/another" ] }
Aggiorna un'associazione di accesso
Puoi aggiornare un binding di accesso per:
- Aggiungi, rimuovi o modifica le applicazioni a cui è associato un criterio.
- Modifica i livelli di accesso per un'applicazione all'interno di un gruppo di utenti.
- Aggiungi un nuovo livello di accesso dry run o promuovi uno esistente a un livello live.
Console
Nella console Google Cloud , vai alla pagina Gestore contesto accesso.
Se ti viene chiesto, seleziona un progetto.
Nella pagina Gestore contesto accesso, seleziona un binding di accesso e poi fai clic su Modifica per aggiornarlo.
Non puoi aggiornare le associazioni di accesso con livelli di accesso di prova o controlli della sessione nella Google Cloud console.
gcloud
Crea un file di binding YAML.
gcloud access-context-manager cloud-bindings update --binding ACCESS_BINDING --binding-file BINDING_FILE_PATH [ --level DEFAULT_ACCESS_LEVEL ] [ --dry-run-level DEFAULT_DRY_RUN_ACCESS_LEVEL ] [ --session-length=DEFAULT_SESSION_LENGTH ] [ --session-reauth-method=DEFAULT_SESSION_REAUTH_METHOD ]
Sostituisci quanto segue:
-
ACCESS_BINDING
ha il formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
BINDING_FILE_PATH: il percorso del file YAML contenente lo schema di binding di accesso.
Il file di binding supporta solo
scopedAccessSettings
. -
DEFAULT_ACCESS_LEVEL: il nome del livello di accesso facoltativo, che assume la forma
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. SostituisciPOLICY_ID
con l'ID della policy di accesso eACCESS_LEVEL_NAME
con il nome del livello di accesso. - DEFAULT_DRY_RUN_ACCESS_LEVEL_2: un nome di livello di accesso facoltativo nel formato `accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME`. Includi questo flag per applicare il livello di accesso dry run specificato a tutte le applicazioni per impostazione predefinita se non sono specificate nel file YAML.
-
DEFAULT_SESSION_LENGTH: la durata facoltativa della sessione nel formato di durata ISO 8601,
ad esempio
30m
per 30 minuti o2h
per due ore. -
DEFAULT_SESSION_REAUTH_METHOD: Il metodo facoltativo per chiedere agli utenti di verificare nuovamente la propria
identità, che deve essere uno dei seguenti:
LOGIN
: applica l'accesso standard, che può includere l&#MFA fattori o altri fattori definiti da Workspace.PASSWORD
: richiede solo una password, anche se sono definiti altri fattori. Se le password vengono gestite utilizzando un IdP esterno, gli utenti vengono reindirizzati all'IdP. Se la sessione IdP è attiva, gli utenti vengono riautenticati implicitamente. Se l'IdP non è attivo, gli utenti devono accedere tramite l'IdP.SECURITY_KEY
: richiedi un token di sicurezza fisico.
Come interagiscono gli argomenti
--level
e--binding-file
- Se utilizzi solo
--binding-file
, solo alle applicazioni nel file vengono applicati i criteri. - Se utilizzi solo
--level
, il livello di accesso si applica a tutte le applicazioni. - Se utilizzi entrambe, le regole vengono combinate. Il valore
--level
si applica a tutte le applicazioni, mentre le norme nel file YAML specificato da--binding-file
si applicano solo alle applicazioni definite nel file.
Utilizzo dei controlli della sessione
- Per impostare i controlli della sessione predefiniti per tutte le applicazioni, utilizza
--session-length
e--session-reauth-method
. - Se definisci anche i controlli della sessione nel file YAML, questi controlli della sessione sostituiscono le impostazioni predefinite per le applicazioni specifiche.
- Devi utilizzare
--session-length
e--session-reauth-method
insieme.
Per rimuovere un livello di accesso predefinito o un livello di accesso dry run predefinito, fornisci una stringa vuota, ad esempio
--level=
o--dry-run-level=
. Quando questi argomenti non vengono forniti, il comandoupdate
non apporterà modifiche.Per rimuovere un controllo della sessione, imposta
--session-length=0
.-
API
Crea un corpo JSON.
{ "accessLevels": [ "DEFAULT_ACCESS_LEVEL" ], "scopedAccessSettings": [ { "scope": { "clientScope": { "restrictedClientApplication": { "clientId": "CLIENT_ID" } } }, "activeSettings": { "accessLevels": [ "ACCESS_LEVEL_A" ], "sessionSettings": [ { "sessionLength": "SESSION_LENGTH", "sessionReauthMethod": "SESSION_REAUTH_METHOD", "sessionLengthEnabled": true } ] } }, { "scope": { "clientScope": { "restrictedClientApplication": { "name": "CLIENT_NAME" } }, "activeSettings": { "accessLevels": [ "ACCESS_LEVEL_C" ] } } } ] }
Sostituisci quanto segue:
-
DEFAULT_ACCESS_LEVEL: il nome del livello di accesso facoltativo, che assume la forma
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. SostituisciPOLICY_ID
con l'ID della policy di accesso eACCESS_LEVEL_NAME
con il nome del livello di accesso. - CLIENT_ID: l'ID client OAuth. Devi utilizzare
clientId
quando un'applicazione contienesessionSettings
. - ACCESS_LEVEL_A: il nome di un livello di accesso nel formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
. - SESSION_LENGTH: la durata della sessione utilizzando il formato della durata ISO 8601, ad esempio
30m
per 30 minuti o2h
per due ore. SESSION_REAUTH_METHOD: Il metodo facoltativo per chiedere agli utenti di verificare nuovamente la propria identità, che deve essere uno dei seguenti:
LOGIN
: applica l'accesso standard, che può includere l&#MFA fattori o altri fattori definiti da Workspace.PASSWORD
: Richiedi solo una password, anche se sono definiti altri fattori. Se le password vengono gestite utilizzando un IdP esterno, gli utenti vengono reindirizzati all'IdP. Se la sessione IdP è attiva, gli utenti vengono riautenticati implicitamente. Se l'IdP non è attivo, gli utenti devono accedere tramite l'IdP.SECURITY_KEY
: richiedi un token di sicurezza fisico.
CLIENT_NAME: il nome del client. Se l'applicazione contiene
sessionSettings
, non puoi utilizzare il nome del cliente. Utilizza invece l'ID client OAuth.ACCESS_LEVEL_C: il nome di un livello di accesso nel formato
accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME
.
-
DEFAULT_ACCESS_LEVEL: il nome del livello di accesso facoltativo, che assume la forma
Invia la richiesta PATCH.
PATCH https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING?fieldMask=FIELDMASK
Sostituisci quanto segue:
-
ACCESS_BINDING
ha il formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. - FIELD_MASK: un elenco obbligatorio separato da virgole dei campi che vuoi aggiornare. Indica all'API quali parti dell'associazione di accesso modificare.
fieldMask
deve contenere le chiavi JSON di primo livello nel corpo della richiesta che vuoi aggiornare, che possono contenereaccessLevels
,dryRunAccessLevels
escopedAccessSettings
.In caso di esito positivo, dovresti ricevere una rappresentazione dell'oggetto JSON. In caso di problemi, riceverai un messaggio di errore.
-
Elimina associazioni di accesso
Console
Nella console Google Cloud , vai alla pagina Gestore contesto accesso.
Se ti viene chiesto, seleziona un progetto.
Nella pagina Gestore contesto accesso, seleziona un'associazione di accesso, quindi fai clic su Elimina.
gcloud
gcloud access-context-manager cloud-bindings delete \
--binding ACCESS_BINDING
Sostituisci quanto segue:
-
ACCESS_BINDING
ha il formatoorganizations/ORG_ID/gcpUserAccessBindings/ACCESS_BINDING_NAME
. -
ACCESS_BINDING_NAME
è la stringa univoca restituita per l'identificatorename
quando è stato creato il binding di accesso.
API
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
ACCESS_BINDING_NAME
è la stringa univoca restituita per l'identificatorename
quando è stato creato il binding di accesso.
Metodo HTTP e URL:
DELETE https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME
Per inviare la richiesta, scegli una di queste opzioni:
curl
Esegui questo comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME"
PowerShell
Esegui questo comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://accesscontextmanager.googleapis.com/v1/ACCESS_BINDING_NAME" | Select-Object -Expand Content
Dovresti ricevere un codice di stato riuscito (2xx) e una risposta vuota.