Un modo per proteggere le risorse sensibili è limitarne l'accesso. Tuttavia, limitare l'accesso alle risorse sensibili crea anche attrito per chiunque abbia bisogno occasionalmente di accedere a queste risorse. Ad esempio, un utente potrebbe aver bisogno dell'accesso di emergenza, o di emergenza, a risorse sensibili per risolvere un incidente.
In queste situazioni, è consigliabile concedere temporaneamente all'utente l'autorizzazione ad accedere alla risorsa. Ti consigliamo inoltre di registrare la motivazione dell'utente per l'accesso alla risorsa, per migliorare il controllo.
In Google Cloud, esistono diversi modi per gestire questo tipo di accesso elevato temporaneo.
Gruppi Google
Un modo per gestire l'accesso elevato temporaneo è concedere a un gruppo Google l'accesso alle risorse sensibili, quindi aggiungere e rimuovere utenti dal gruppo per controllarne l'accesso.
Per configurare un gruppo Google per l'accesso elevato temporaneo, per prima cosa crea un gruppo, quindi concedigli i ruoli che vuoi assegnare temporaneamente agli utenti. Se utilizzi i criteri di negazione, valuta la possibilità di rendere il gruppo esente da eventuali regole di negazione pertinenti per evitare rifiuti imprevisti.
Dopo aver configurato il gruppo, puoi aggiungere e rimuovere utenti per modificarne l'accesso. Se utilizzi l'API Google Groups, puoi aggiungere temporaneamente utenti a un gruppo utilizzando la scadenza dell'appartenenza.
Se vuoi registrare le giustificazioni dell'utente per l'accesso alle risorse sensibili, devi definire i tuoi strumenti e i tuoi processi operativi.
Ad esempio, per gestire l'accesso di emergenza alle risorse Compute Engine, puoi creare un gruppo emergency-compute-access@example.com
e concedergli il ruolo Amministratore Compute (roles/compute.admin
). Se un utente ha bisogno dell'accesso amministrativo di emergenza alle risorse di calcolo, puoi aggiungerlo al gruppo emergency-compute-access@example.com
. Una volta risolta l'emergenza,
puoi rimuoverla dal gruppo.
Condizioni IAM
Puoi utilizzare le condizioni IAM per concedere agli utenti l'accesso in scadenza alle risorse Google Cloud. Per ulteriori informazioni, consulta Configurare l'accesso temporaneo.
Se vuoi registrare le giustificazioni dell'utente per l'accesso alle risorse sensibili, devi definire i tuoi strumenti e i tuoi processi operativi.
Le associazioni di ruoli scadute non vengono rimosse automaticamente dai criteri di autorizzazione. Per assicurarti che i criteri di autorizzazione non superino la dimensione massima per i criteri di autorizzazione, ti consigliamo di rimuovere periodicamente le associazioni di ruoli scadute.
I criteri di negazione non supportano le condizioni basate sul tempo. Di conseguenza, non puoi utilizzare le condizioni nei criteri di negazione per escludere temporaneamente un utente da una regola di negazione.
Accesso con privilegi just-in-time
L'accesso Just-In-Time è un'applicazione open source che utilizza le condizioni IAM per concedere agli utenti l'accesso privilegiato just-in-time alle risorse Google Cloud. Questa applicazione è progettata per essere eseguita in App Engine o Cloud Run.
Questa applicazione offre i seguenti vantaggi rispetto all'aggiunta manuale di associazioni di ruoli condizionali:
- Gli utenti possono cercare ruoli che possono attivare con l'accesso Just-In-Time.
- Gli utenti devono fornire delle spiegazioni prima di ottenere l'accesso.
- L'applicazione sostituisce l'associazione condizionale esistente invece di creare nuove associazioni, il che consente di mantenere le dimensioni del criterio di autorizzazione IAM.
Per ulteriori informazioni sull'accesso Just-In-Time, consulta Gestire l'accesso privilegiato just-in-time ai progetti.
Impersonificazione dell'account di servizio
Quando un'entità autenticata, ad esempio un utente o un altro account di servizio, si autentica come account di servizio per ottenere le autorizzazioni dell'account di servizio, si parla di impersonificazione dell'account di servizio. L'identità di un account di servizio consente a un'entità di accedere a qualsiasi account di servizio possa accedere. Solo le entità autenticate con le autorizzazioni appropriate possono rappresentare gli account di servizio.
Per configurare un account di servizio per l'accesso elevato temporaneo, crea l'account di servizio, quindi concedigli i ruoli che vuoi assegnare temporaneamente a un utente. Se utilizzi i criteri di negazione, valuta la possibilità di aggiungere l'account di servizio esente da eventuali regole di negazione pertinenti per evitare rifiuti imprevisti.
Dopo aver configurato l'account di servizio, puoi concedere agli utenti un accesso elevato temporaneo consentendo loro di rubare l'identità dell'account di servizio. Esistono diversi modi per consentire agli utenti di assumere l'identità degli account di servizio:
Concedi agli utenti un ruolo che consente loro di creare credenziali di breve durata per l'account di servizio. Gli utenti possono quindi utilizzare le credenziali di breve durata per impersonare l'account di servizio.
Concedi il ruolo Creatore di token di identità OpenID Connect dell'account di servizio (
roles/iam.serviceAccountOpenIdTokenCreator
) per consentire all'utente di creare token ID OpenID Connect (OIDC) di breve durata per l'account di servizio.Concedi il ruolo Creatore token account di servizio (
roles/iam.serviceAccountTokenCreator
) per consentire all'utente di creare i seguenti tipi di credenziali per account di servizio:- Token di accesso OAuth 2.0, utilizzabili per l'autenticazione con le API di Google
- Token ID OIDC
- JWT (JSON Web Token) firmati e blob binari
Se concedi a un utente uno di questi ruoli, potrà impersonare l'account di servizio in qualsiasi momento per aumentare il suo accesso. Tuttavia, è meno probabile che accedano o modifichino involontariamente risorse sensibili.
Per scoprire come impersonare gli account di servizio, vedi Utilizzare il furto d'identità degli account di servizio.
Crea un servizio di broker di token che fornisca agli utenti credenziali di breve durata per l'account di servizio dopo l'autenticazione e forniscono una giustificazione. Gli utenti possono quindi utilizzare le credenziali di breve durata per impersonare l'account di servizio.
Con questo metodo, puoi decidere quando consentire agli utenti di impersonare l'account di servizio.
Per scoprire come generare credenziali di breve durata, consulta Creare credenziali di breve durata per un account di servizio.
Per scoprire di più sul furto d'identità degli account di servizio, consulta Furto d'identità degli account di servizio.
Passaggi successivi
- Utilizza le condizioni IAM per concedere l'accesso temporaneo a un'entità.
- Esegui il deployment dell'applicazione di accesso Just-In-Time.
- Crea manualmente credenziali di breve durata per assumere un account di servizio.