I suggerimenti sui ruoli ti aiutano a identificare e rimuovere le autorizzazioni in eccesso dal tuo il deployment, migliorando le risorse configurazioni di sicurezza.
Panoramica dei suggerimenti sui ruoli
I suggerimenti sui ruoli vengono generati dal motore per suggerimenti IAM. La Il motore per suggerimenti IAM è uno di quelli che Offerte del motore per suggerimenti.
Ogni suggerimento per il ruolo ti consiglia di rimuovere o sostituire un ruolo che dia autorizzazioni in eccesso per le entità. Su larga scala, questi consigli applicare il principio del privilegio minimo assicurando che le entità dispongano le autorizzazioni di cui hanno effettivamente bisogno.
Il motore per suggerimenti IAM identifica le autorizzazioni in eccesso utilizzando gli insight sui criteri. Gli insight sui criteri sono risultati basati su ML che riguardano l'utilizzo delle autorizzazioni da parte di un entità.
Alcuni consigli sono associati anche a informazioni sul movimento laterale. Questi insight identificano i ruoli che consentono agli account di servizio in un progetto di rappresentare gli account di servizio in un altro progetto. Per ulteriori informazioni, vedi Come vengono generate informazioni sui movimenti laterali.
Come vengono generati gli insight sulle norme
Gli insight sui criteri evidenziano le autorizzazioni nei ruoli di un'entità non utilizzata dall'entità.
Il motore per suggerimenti IAM genera approfondimenti sui criteri confrontando il numero totale di autorizzazioni di un ruolo con le autorizzazioni utilizzate dal ruolo negli ultimi 90 giorni. Se il ruolo è stato concesso da meno di 90 giorni, il Motore per suggerimenti IAM esamina l'utilizzo delle autorizzazioni dell'entità IAM nel periodo di tempo successivo alla concessione del ruolo.
Un'entità può utilizzare un'autorizzazione in diversi modi:
Direttamente, chiamando un'API che richiede l'autorizzazione
Ad esempio, il metodo
roles.list
nel L'API REST IAM richiede l'autorizzazioneiam.roles.list
. Quando chiami il metodoroles.list
, usi il metodoiam.roles.list
autorizzazione.Analogamente, quando chiami il metodo
testIamPermissions
per una risorsa, utilizzi in modo efficace tutte le autorizzazioni che stai testando.Indirettamente, utilizzando la console Google Cloud per lavorare con Google Cloud. risorse
Ad esempio, nella console Google Cloud, puoi modificare un'istanza di macchina virtuale (VM), che richiede autorizzazioni diverse in base le impostazioni che modifichi. Tuttavia, la console Google Cloud mostra anche le impostazioni esistenti, che richiedono l'autorizzazione
compute.instances.get
.Di conseguenza, quando modifichi un'istanza VM nella console Google Cloud, usa l'autorizzazione
compute.instances.get
.
Il motore per suggerimenti IAM utilizza anche il machine learning per identificare le autorizzazioni nel ruolo corrente di un'entità di cui l'entità potrebbe aver bisogno in futuro, anche se non le ha utilizzate di recente. Per ulteriori informazioni, consulta Machine learning per approfondimenti sulle norme in questa pagina.
Non vengono generati insight sui criteri per tutti i ruoli IAM associati concessi alle entità. Per ulteriori informazioni sul motivo per cui un ruolo potrebbe non avere insight sui criteri, vedi Disponibilità in questa pagina.
Per scoprire come gestire gli approfondimenti sui criteri, vedi Gestire gli approfondimenti sui criteri per progetti, cartelle e organizzazioni o Gestisci criterio e insight per i bucket Cloud Storage.
Machine learning per approfondimenti sulle norme
In alcuni casi, è probabile che un entità abbia bisogno di determinate autorizzazioni incluse nei suoi ruoli attuali, ma che non ha utilizzato di recente. A a identificare queste autorizzazioni, il motore per suggerimenti IAM utilizza (ML) durante la generazione di insight sui criteri.
Questo modello di machine learning viene addestrato su più insiemi di indicatori:
Modelli di co-occorrenza comuni nella cronologia osservata: il fatto che un utente abbia utilizzato le autorizzazioni A, B e C in passato suggerisce che A, B e C potrebbero essere correlate in qualche modo e che sono necessarie insieme per eseguire un attività su Google Cloud. Se il modello di ML osserva questo schema abbastanza spesso, la volta successiva che un utente diverso utilizza le autorizzazioni A e B, il modello suggerirà che l'utente potrebbe aver bisogno anche dell'autorizzazione C.
Conoscenza del dominio codificata nelle definizioni dei ruoli: IAM offre centinaia di diversi ruoli predefiniti specifici per i servizi. Se un ruolo predefinito contiene un insieme di autorizzazioni, è per indicare che queste autorizzazioni devono essere concesse insieme.
Oltre a questi indicatori, il modello utilizza anche
l'embedding delle parole per calcolare quanto
siano semanticamente simili le autorizzazioni. Le autorizzazioni semanticamente simili saranno "vicine" tra loro dopo l'inserimento e avranno maggiori probabilità di essere concesse insieme. Ad esempio, bigquery.datasets.get
e bigquery.tables.list
saranno molto vicine tra loro dopo l'incorporamento.
Tutti i dati utilizzati nella pipeline di machine learning del motore per suggerimenti IAM ha k-anonymity, ovvero gli individui in il set di dati anonimizzato non può essere identificato nuovamente. Per raggiungere questo livello anonimato, ritiriamo tutte le informazioni che consentono l'identificazione personale (PII), quali ID utente relativo a ogni pattern di utilizzo delle autorizzazioni. Quindi eliminiamo tutti gli utilizzi che non si verificano con sufficiente frequenza in Google Cloud. Il modello globale viene addestrato su questi dati anonimizzati.
Il modello globale può essere ulteriormente personalizzato per ogni organizzazione utilizzando l'apprendimento federato, un processo di machine learning che addestra i modelli di machine learning senza esportare i dati.
Come vengono generati i suggerimenti sui ruoli
Se un'informazione sulle norme indica che un'entità non ha bisogno di tutte le autorizzazioni nel suo ruolo, il motore per suggerimenti ruolo IAM valuta il ruolo per determinare se può essere revocato o se esiste un altro ruolo più adatto. Se il ruolo può essere revocato, il motore per suggerimenti IAM genera un suggerimento per revocarlo. Se esiste un altro ruolo più adatto, il motore per suggerimenti IAM genera un suggerimento per sostituire il ruolo con un ruolo suggerito. Questo ruolo suggerito può essere un nuovo ruolo personalizzato, un ruolo personalizzato esistente o uno o più ruoli predefiniti. Ad eccezione dei suggerimenti per agenti di servizio, un suggerimento per il ruolo non suggerisce mai una modifica che aumenti il livello di accesso di un'entità.
I consigli sui ruoli vengono generati in base solo ai controlli di accesso IAM. Non prendono in considerazione altri tipi di controlli dell'accesso, come elenchi di controllo dell'accesso (ACL) e accesso basato sui ruoli di Kubernetes di controllo (RBAC). Se usi altri tipi di controlli dell'accesso, prendi in considerazione è importante quando esamini i tuoi consigli e valuta in che modo questi accedono i controlli relativi ai criteri di autorizzazione.
Inoltre, i suggerimenti per i ruoli non vengono generati per tutti i ruoli IAM concessi alle entità. Per ulteriori informazioni sul motivo per cui un ruolo potrebbe non avere un suggerimento per il ruolo. Consulta Disponibilità su questo .
Periodo di osservazione
Il periodo di osservazione di un suggerimento del ruolo è il numero di giorni di i dati sull'utilizzo delle autorizzazioni su cui si basa il suggerimento.
Il periodo massimo di osservazione per i suggerimenti sui ruoli è per 90 giorni. Ciò significa che il motore per suggerimenti IAM utilizza, gli ultimi 90 giorni di dati sull'utilizzo delle autorizzazioni generare suggerimenti sui ruoli.
Inoltre, il Recommender IAM non inizia a generare consigli sui ruoli fino a quando non dispone di un determinato numero di giorni di dati sull'utilizzo delle autorizzazioni. Questa durata è chiamata periodo di osservazione minimo. Per impostazione predefinita, il numero minimo di osservazione è di 90 giorni, ma per il ruolo a livello di progetto consigli, puoi impostarlo manualmente su 30 o 60 giorni. Per maggiori dettagli, vedi Configura la generazione di suggerimenti per i ruoli. Se imposti un periodo di osservazione minimo inferiore a 90 giorni, riceverai i consigli in anticipo, ma la loro precisione potrebbe essere compromessa.
Se sono trascorsi più del periodo di osservazione minimo, ma meno di 90 giorni dalla concessione del ruolo, il periodo di osservazione è il periodo di tempo trascorso dalla concessione del ruolo.
Nuovi ruoli personalizzati nei suggerimenti sui ruoli
Quando il motore per suggerimenti IAM suggerisce delle sostituzioni per un ruolo, suggerisce sempre un ruolo personalizzato esistente o uno o più ruoli predefiniti più adatti alle esigenze dell'entità.
Se il motore per suggerimenti IAM identifica un modello di utilizzo delle autorizzazioni comune nella tua organizzazione che non sono associati a un ruolo predefinito o personalizzato esistente, potrebbe anche consigliare di creare un nuovo progetto ruolo personalizzato. Questo ruolo personalizzato include solo il parametro le autorizzazioni consigliate. Puoi modificare il suggerimento sul ruolo personalizzato aggiungendo o rimuovendo le autorizzazioni.
Se vuoi applicare il principio del privilegio minimo nel modo più rigoroso possibile, scegli il nuovo ruolo personalizzato. Il motore per suggerimenti IAM crea a livello di progetto. L'utente è responsabile della manutenzione e dell'aggiornamento ruoli personalizzati per i tuoi progetti.
Se preferisci utilizzare un ruolo che viene mantenuto, scegli l'impostazione predefinita ruolo. Google Cloud aggiorna regolarmente questi ruoli aggiungendo o rimuovendo le autorizzazioni. Per ricevere notifiche su questi aggiornamenti, iscriviti al feed di notizie per il log delle modifiche alle autorizzazioni. Quando scegli il predefinito, l'entità continua ad avere almeno alcune autorizzazioni e potenzialmente un numero elevato di autorizzazioni che non hanno utilizzato.
Il motore per suggerimenti IAM consiglia nuovi ruoli personalizzati solo per i ruoli concessi su un progetto. Non consiglia nuovi ruoli personalizzati per i ruoli concessi su altre risorse, come cartelle o organizzazioni.
Inoltre, il motore per suggerimenti IAM non consiglia nuovi ruoli personalizzati nei seguenti casi:
- La tua organizzazione ha già 100 o più ruoli personalizzati.
- Il progetto ha già 25 o più ruoli personalizzati.
Il motore per suggerimenti IAM non consiglia più di 5 nuovi ruoli personalizzati al giorno in ogni progetto e al massimo 15 nuovi ruoli personalizzati in dell'intera organizzazione.
Come vengono generati gli insight sul movimento laterale
Il movimento laterale si verifica quando un account di servizio in un progetto dispone dell'autorizzazione rappresentare un account di servizio in un altro progetto. Ad esempio, un servizio potrebbe essere stato creato nel progetto A, ma avere le autorizzazioni per rappresentare un account di servizio nel progetto B.
Queste autorizzazioni possono comportare una catena di furti d'identità nei progetti che consente alle entità di accedere in modo indesiderato alle risorse. Ad esempio, se un'entità assume il ruolo di un account di servizio nel progetto A, può utilizzare quell'account di servizio per assumere il ruolo di un account di servizio nel progetto B. Se l'account di servizio nel progetto B ha l'autorizzazione per simulare l'identità di altri account di servizio in altri progetti della tua organizzazione, il principale può continuare a utilizzare la simulazione dell'identità dell'account di servizio per spostarsi da un progetto all'altro, ottenendo le autorizzazioni man mano che procede.
Il motore per suggerimenti IAM genera insight sul movimento laterale identificando ruoli che soddisfano i seguenti criteri:
- L'entità a cui è stato concesso il ruolo è un account di servizio che non creato nel progetto.
Il ruolo include una delle seguenti autorizzazioni, che consentono a un'entità di si tratta di un account di servizio:
iam.serviceAccounts.actAs
iam.serviceAccounts.getAccessToken
iam.serviceAccounts.getOpenIdToken
iam.serviceAccounts.implicitDelegation
iam.serviceAccounts.signBlob
iam.serviceAccounts.signJwt
Se un ruolo soddisfa questi criteri, il motore per suggerimenti IAM genera un informazioni sul movimento per il ruolo. Questo insight contiene informazioni sugli la capacità di rappresentazione degli account di servizio, incluso gli account di servizio può rappresentare e se ha utilizzato autorizzazioni di rappresentazione negli ultimi per 90 giorni.
Il motore per suggerimenti ruolo IAM non utilizza autonomamente gli approfondimenti sui movimenti laterali per generare nuovi consigli sui ruoli. Il motivo è che, se un account di servizio usando le proprie autorizzazioni di rappresentazione, il motore per suggerimenti IAM suggeriamo di rimuoverli. Tuttavia, se un consiglio sul ruolo suggerisce di rimuovere queste autorizzazioni perché non vengono utilizzate, il Recommender IAM collegherà l'informazione sul movimento laterale a quel consiglio. Questo collegamento ti aiuta a dare la priorità ai consigli sui ruoli per gli account di servizio che dispongono di autorizzazioni di rappresentazione potenti e inutilizzate nei progetti.
Per scoprire come gestire gli insight sul movimento laterale, consulta Gestire gli insight sul movimento laterale.
Disponibilità
Gli insight sulle norme, gli insight sui movimenti laterali e i suggerimenti sui ruoli non sono generati per tutti i ruoli concessi alle entità. Leggi le seguenti sezioni per comprendere i ruoli per i quali vengono generati approfondimenti sulle norme, sugli spostamenti laterali e sui consigli.
Disponibilità degli insight sulle norme
Affinché il motore per suggerimenti IAM generi un insight sul criterio per un ruolo, deve essere vero:
Il criterio di autorizzazione IAM che concede il ruolo deve essere collegato a una delle seguenti risorse:
- Bucket Cloud Storage
- Set di dati BigQuery
- Progetto
- Cartella
- Organizzazione
Il motore per suggerimenti IAM genera insight sui criteri solo per i ruoli concessi su queste risorse.
L'associazione di ruoli che concede il ruolo non deve avere una condizione. Il motore per suggerimenti ruolo IAM non genera approfondimenti sui criteri per associazioni di ruoli condizionali.
L'entità a cui viene concesso il ruolo deve essere una delle seguenti tipi di entità:
- Utente
- Service account
- Gruppo
allUsers
allAuthenticatedUsers
- Valori di convenienza di Cloud Storage
- Iscrizione a gruppi speciali BigQuery
Uno dei seguenti tipi di identità federate:
- Tutte le identità in un pool di identità per i carichi di lavoro
- Un'unica identità in un pool di identità per i carichi di lavoro
- Tutte le identità in un pool di identità della forza lavoro
- Un'unica identità in un pool di identità per la forza lavoro
Tutti i pod di Google Kubernetes Engine che utilizzano un account di servizio Kubernetes specifico
Per informazioni dettagliate sul formato dell'identificatore per ogni tipo di principale, consulta Identificatori principali.
Possono essere necessari fino a 10 giorni per il motore per suggerimenti IAM per generare insight sui criteri per un ruolo appena concesso.
Gli insight sui criteri esistenti vengono aggiornati quotidianamente in base alla tua autorizzazione recente all'utilizzo delle risorse. Tuttavia, i dati su cui si basano gli approfondimenti sulle norme in genere sono in ritardo fino a due giorni rispetto all'utilizzo effettivo.
Disponibilità degli approfondimenti sul movimento laterale
Gli insight sul lateral movement vengono generati per i ruoli concessi sulle seguenti risorse:
- Organizzazioni
- Cartelle
- Progetti
- Account di servizio
Disponibilità dei suggerimenti sui ruoli
Affinché il motore per suggerimenti IAM generi un suggerimento per un ruolo, deve verificarsi quanto segue:
- Al ruolo deve essere associato un insight sul criterio. Queste norme e insight è la base per il suggerimento.
- Deve essere stato più lungo del limite minimo di osservazione da quando è stato concesso il ruolo. In questo modo, il Recommender IAM ha dati di utilizzo sufficienti per fornire un consiglio. Di predefinito, il periodo minimo di osservazione è di 90 giorni, ma puoi impostarlo manualmente su 30 o 60 giorni. Per maggiori dettagli, vedi Configura la generazione di suggerimenti sul ruolo.
- Se l'entità a cui è stato concesso il ruolo è un agente di servizio, il ruolo deve essere Proprietario, Editor o Visualizzatore. Motore per suggerimenti IAM e non genera suggerimenti sui ruoli per gli agenti di servizio con altri ruoli. Per maggiori dettagli, vedi Suggerimenti sui ruoli per gli agenti di servizio.
Se un ruolo è stato concesso troppo di recente o non dispone di insight, La colonna Autorizzazioni analizzate della console Google Cloud mostra
.In alcuni casi il motore per suggerimenti IAM non genera un ruolo consigli per un ruolo, anche se è trascorso tempo sufficiente e il ruolo ha a un insight associato. Questo può accadere per i seguenti motivi:
Non esistono ruoli IAM predefiniti più appropriati del ruolo corrente. Se un'entità ha già un oggetto che ne riduce al minimo le autorizzazioni o che include meno autorizzazioni rispetto ad altri ruoli predefiniti, il motore per suggerimenti IAM non può consigliano un altro ruolo predefinito.
Potresti riuscire a ridurre le autorizzazioni dell'entità creando un ruolo personalizzato per l'entità.
L'entità è un agente di servizio e il ruolo non è di base. Il motore per suggerimenti IAM genera solo il ruolo per gli agenti di servizio con un ruolo di base (Proprietario, Editor Visualizzatore). Per maggiori dettagli, consulta Suggerimenti sui ruoli per il servizio agenti.
Nessun'altra entità ha il ruolo di base Proprietario per il progetto. Minimo un'entità deve avere il ruolo Proprietario (
roles/owner
) per ciascun progetto. Se solo un'entità ha questo ruolo, il motore per suggerimenti ruolo IAM non consiglierà di revocare o sostituire il ruolo.
In questi casi, la colonna Autorizzazioni analizzate nella console Google Cloud mostra l'utilizzo delle autorizzazioni del principale, ma non ha un'icona Consiglio disponibile.
I consigli sui ruoli esistenti vengono aggiornati quotidianamente in base al tuo utilizzo recente delle autorizzazioni. Tuttavia, i dati su cui si basano i consigli sui ruoli tipicamente sono in ritardo fino a due giorni rispetto all'utilizzo effettivo.
Priorità e gravità
La priorità dei suggerimenti e la gravità degli insight ti aiutano a comprendere l'urgenza di un suggerimento o di un insight e definire le priorità di conseguenza.
Priorità del suggerimento sul ruolo
Ai suggerimenti vengono assegnati livelli di priorità in base alla loro urgenza percepita.
I livelli di priorità vanno da P1
(priorità massima) a P4
(priorità più bassa).
La priorità di un consiglio per i ruoli dipende dal ruolo per cui è rivolto:
Dettagli suggerimento | Priorità | Spiegazione |
---|---|---|
Consigli per i ruoli che concedono l'accesso pubblico ai bucket Cloud Storage | P1 |
I bucket accessibili pubblicamente sono accessibili a chiunque su internet. La rimozione dell'accesso pubblico ti offre un maggiore controllo sui tuoi dati. |
Suggerimenti per i ruoli che concedono l'accesso pubblico a Set di dati BigQuery | P1 |
I set di dati pubblicamente accessibili sono accessibili a chiunque su internet. La rimozione dell'accesso pubblico ti offre un maggiore controllo sui tuoi dati. |
Suggerimenti per i ruoli di base (Proprietario, Editor e Visualizzatore) concessa per un progetto, una cartella o un'organizzazione | P2 |
I ruoli di base sono molto permissivi e l'applicazione dei consigli per questi ruoli può ridurre notevolmente le autorizzazioni in eccesso. |
Consigli che non concedono l'accesso pubblico o i ruoli di base | P4 |
Sebbene questi consigli ti aiutino a ridurre le autorizzazioni in eccesso, non rimuovono l'accesso pubblico né i ruoli di base altamente permissivi, il che li rende una priorità più bassa. |
Gravità degli approfondimenti
Agli insight vengono assegnati livelli di gravità in base all'urgenza percepita. Gravità
i livelli possono essere LOW
, MEDIUM
, HIGH
o CRITICAL
.
La gravità di un approfondimento sui criteri dipende dal ruolo a cui è destinato:
Dettagli insight | Gravità | Spiegazione |
---|---|---|
Insight per i ruoli che concedono l'accesso pubblico a Cloud Storage bucket | CRITICAL |
I bucket accessibili pubblicamente sono accessibili a chiunque su internet. La rimozione dell'accesso pubblico ti offre un maggiore controllo sui tuoi dati. |
Insight per i ruoli che concedono l'accesso pubblico a Set di dati BigQuery | CRITICAL |
I set di dati accessibili pubblicamente sono accessibili a chiunque su internet. La rimozione dell'accesso pubblico ti offre un maggiore controllo sui tuoi dati. |
Approfondimenti per i ruoli di base (Proprietario, Editor e Visualizzatore) concessi in un progetto, una cartella o un'organizzazione | HIGH |
I ruoli di base sono molto permissivi e l'utilizzo di approfondimenti per questi ruoli può ridurre notevolmente le autorizzazioni in eccesso. |
Approfondimenti che non concedono l'accesso pubblico o i ruoli di base | LOW |
Sebbene questi approfondimenti mettano in evidenza autorizzazioni in eccesso, non comportano l'accesso pubblico o ruoli di base altamente permissivi, il che li rende una priorità più bassa. |
Tutti gli approfondimenti sul movimento laterale hanno una gravità pari a LOW
.
Come vengono applicati i suggerimenti sui ruoli
Il motore per suggerimenti IAM non applica automaticamente i consigli. Devi invece esaminare i consigli e decidere se applicarli o ignorarle. Per scoprire come rivedere, applicare e ignorare i consigli sui ruoli, consulta una delle seguenti guide:
- Esaminare e applicare i consigli sui ruoli per progetti, cartelle e organizzazioni
- Esamina e applica i suggerimenti sui ruoli per Cloud Storage del bucket
- Esaminare e applicare i consigli sui ruoli per i set di dati BigQuery
Audit logging
Quando applichi o ignori un consiglio, il motore per suggerimenti IAM crea una voce di log. Puoi visualizzare queste voci nella cronologia dei consigli o nei log di controllo di Google Cloud.
Sottotipi di suggerimenti sui ruoli
I suggerimenti sui ruoli sono suddivisi in diversi sottotipi in base al l'azione consigliata. Se utilizzi gcloud CLI o REST API, puoi utilizzare questi sottotipi per filtrare i suggerimenti.
Sottotipo | Descrizione |
---|---|
REMOVE_ROLE |
Un consiglio per rimuovere il ruolo dell'entità a livello di progetto, di cartella o di organizzazione. |
REMOVE_ROLE_BIGQUERY_DATASET |
Un suggerimento per la rimozione del ruolo a livello di set di dati dell'entità. |
REMOVE_ROLE_STORAGE_BUCKET |
Un suggerimento per la rimozione del ruolo a livello di bucket dell'entità. |
REPLACE_ROLE |
Un consiglio per sostituire il ruolo dell'entità a livello di progetto, di cartella o di organizzazione con un ruolo meno permissivo. La sostituzione consigliata potrebbe essere un ruolo personalizzato esistente o uno o più ruoli predefiniti. |
REPLACE_ROLE_CUSTOMIZABLE |
Un consiglio per sostituire il ruolo dell'entità con un nuovo ruolo personalizzato meno permissivo rispetto al suo ruolo attuale. |
REPLACE_ROLE_BIGQUERY_DATASET |
Un consiglio per sostituire il ruolo a livello di set di dati dell'entità con un ruolo meno permissivo. La sostituzione consigliata potrebbe essere un ruolo personalizzato esistente o uno o più ruoli predefiniti. |
REPLACE_ROLE_STORAGE_BUCKET |
Un suggerimento per sostituire il ruolo a livello di bucket dell'entità con un ruolo permissivo. La sostituzione consigliata potrebbe essere una sostituzione o uno o più ruoli predefiniti. |
SERVICE_AGENT_WITH_DEFAULT_ROLE |
Un consiglio per sostituire il ruolo Proprietario, Editor o Visualizzatore di un agente di servizio con il ruolo concesso automaticamente all'account di servizio al momento della creazione. Per ulteriori informazioni, consulta Suggerimenti sui ruoli per gli agenti di servizio. |
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE |
Un suggerimento per sostituire il proprietario, l'editor o il visualizzatore di un agente di servizio con un ruolo meno permissivo. Per ulteriori informazioni, consulta Suggerimenti sui ruoli per gli agenti di servizio. |
Suggerimenti sui ruoli per gli agenti di servizio
Per gli agenti di servizio, il motore per suggerimenti IAM fornisce solo consigli per i ruoli di base (Proprietario, Editor o Visualizzatore).
I suggerimenti per gli agenti di servizio sono suddivisi in due sottotipi di suggerimenti.
SERVICE_AGENT_WITH_DEFAULT_ROLE
Al momento della creazione, ad alcuni agenti di servizio viene concesso automaticamente un agente di servizio
per assicurarti che i servizi Google Cloud funzionino
correttamente. Se sostituisci questo ruolo con un ruolo di base (Proprietario, Editor o Visualizzatore), un suggerimento per il ruolo potrebbe suggerirti di ripristinare il ruolo agente di servizio originale per rimuovere le autorizzazioni in eccesso, anche se il ruolo agente di servizio ha autorizzazioni non presenti nel ruolo di base. Questi consigli hanno il
tipo SERVICE_AGENT_WITH_DEFAULT_ROLE
. Ti aiutano a rimuovere in sicurezza le autorizzazioni in eccesso, garantendo al contempo il corretto funzionamento di tutti i servizi Google Cloud.
I consigli SERVICE_AGENT_WITH_DEFAULT_ROLE
sono l'unico tipo di consigli che potrebbe suggerire ruoli con autorizzazioni non presenti nel ruolo corrente.
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
Se a un agente di servizio non viene concesso automaticamente un ruolo al momento della creazione,
i consigli per l'agente di servizio si basano esclusivamente sulle autorizzazioni
che utilizza. Questi suggerimenti hanno il sottotipo
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
.
Suggerimenti sui ruoli in Security Command Center
Se hai il livello Premium di Security Command Center, puoi visualizzare alcuni sottotipi di consigli per i ruoli come risultati in Security Command Center. Ogni sottotipo è associato a un rilevatore:
Sottotipo di consiglio | Categoria risultati |
---|---|
REMOVE_ROLE |
Unused IAM role |
REPLACE_ROLE |
IAM role has excessive permissions |
SERVICE_AGENT_WITH_DEFAULT_ROLE |
Service agent role replaced with basic role |
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE |
Service agent granted basic role |
Per saperne di più sulla visualizzazione dei suggerimenti sui ruoli in Security Command Center, consulta il motore per suggerimenti IAM in Security Command Center documentazione.
Prezzi
Suggerimenti sul ruolo a livello di progetto, cartella e organizzazione per i ruoli di base sono disponibili senza costi aggiuntivi.
Le seguenti funzionalità avanzate del motore per suggerimenti IAM richiedono un'attivazione a livello di organizzazione del livello Premium di Security Command Center:
- Suggerimenti per i ruoli non di base
- Consigli per i ruoli concessi a risorse diverse da organizzazioni, cartelle e progetti, ad esempio consigli per i ruoli concessi nei bucket Cloud Storage
- Consigli che suggeriscono ruoli personalizzati
- Approfondimenti sulle norme
- Informazioni sul movimento laterale
Per ulteriori informazioni, consulta la pagina Domande sulla fatturazione.
Esempi di suggerimenti sui ruoli
Gli esempi riportati di seguito mostrano i tipi di consigli che puoi ricevere.
Revocare un ruolo esistente
All'utente my-user@example.com
è stato assegnato il ruolo Browser in un progetto.
Il ruolo Browser include sei autorizzazioni che consentono all'utente di visualizzare le risorse
nel progetto. Tuttavia, negli ultimi 90 giorni
my-user@example.com
non ha visualizzato alcuna risorsa.
Pertanto, il motore per suggerimenti IAM genera un suggerimento sul ruolo
suggerendo di revocare il ruolo Browser da my-user@example.com
:
Console
gcloud
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"member": "user:my-user@example.com",
"removedRole": "roles/browser",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "This role has not been used during the observation window.",
"etag": "\"9fc3241da8bfab51\"",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"priority": "P4",
"recommenderSubtype": "REMOVE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fe512038-5455-49g1-8f9c-752e31c8c154",
"description": "This role has not been used during the observation window.",
"lastRefreshTime": "2022-05-20T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 6
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/browser"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/browser"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"9fc3241da8bfab51\"",
"recommenderSubtype": "REMOVE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/86c14538-dcfd-4326-afe5-ee8ac921e06a"
}
],
"priority": "P4"
}
Sostituire un ruolo esistente
A un account di servizio è stato concesso il ruolo Editor (roles/editor
) su un progetto.
Questo ruolo di base include più di 3000 autorizzazioni e concede l'accesso esteso
al progetto. Tuttavia, negli ultimi 90 giorni, l'account servizio ha utilizzato solo alcune di queste autorizzazioni.
Pertanto, il motore per suggerimenti IAM genera un suggerimento per il ruolo suggerendo di revocare il ruolo Editor e sostituirlo con una combinazione di altri due ruoli, che rimuove migliaia di autorizzazioni in eccesso:
Console
gcloud
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountUser"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"member": "user:my-user@example.com",
"minimumObservationPeriodInDays": "0",
"removedRole": "roles/editor",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012"
}
},
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"etag": "\"0da9a354c2a83d96\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"priority": "P2",
"recommenderSubtype": "REPLACE_ROLE",
"stateInfo": {
"state": "ACTIVE"
}
}
REST
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/4637db3d-dba5-45eb-95ac-b4ee4b4cd14e",
"description": "Replace the current role with smaller predefined roles to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 2998
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/iam.serviceAccountOwner"
}
},
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/storage.objectAdmin"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/editor"
}
}
]
}
],
"overview": {
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"member": "user:my-user@example.com",
"removedRole": "roles/editor",
"addedRoles": [
"roles/iam.serviceAccountUser",
"roles/storage.objectAdmin"
],
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"0da9a354c2a83d96\"",
"recommenderSubtype": "REPLACE_ROLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/3d4ef3d6-bdf0-4330-975d-c65cb929c44d"
}
],
"priority": "P2"
}
Creare un ruolo personalizzato
All'utente my-user@example.com
è stato assegnato il ruolo Amministratore Cloud Trace
(roles/cloudtrace.admin
) in un progetto. Il ruolo include più di 10
autorizzazioni, ma un approfondimento sui criteri indica che, nel passato
90 giorni, di cui my-user@example.com
ne ha usati solo 4
autorizzazioni aggiuntive.
Di conseguenza, il motore per suggerimenti IAM genera un suggerimento per un ruolo
suggerendo di creare un ruolo personalizzato che includa solo le autorizzazioni effettivamente utilizzate damy-user@example.com
:
Console
gcloud
Il sottotipo REPLACE_ROLE_CUSTOMIZABLE
indica che
Il motore per suggerimenti IAM consiglia di creare un ruolo personalizzato con
autorizzazioni aggiuntive. Per visualizzare le autorizzazioni utilizzate, visualizza l'approfondimento relativo alle norme associate.
{
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"associatedResourceNames": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"path": "/iamPolicy/bindings/*/members/-",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"value": "user:my-user@example.com"
},
{
"action": "remove",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
},
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"resourceType": "cloudresourcemanager.googleapis.com/Project"
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"etag": "\"c7f57a4725d32d66\"",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"originalContent": {},
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {},
"revokedIamPermissionsCount": 1
}
},
"priority": "P4",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"stateInfo": {
"state": "ACTIVE"
},
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
]
}
REST
Il sottotipo REPLACE_ROLE_CUSTOMIZABLE
indica che
il motore per suggerimenti IAM consiglia di creare un ruolo personalizzato con
autorizzazioni aggiuntive. Per vedere le autorizzazioni utilizzate, richiedi il criterio associato
informazioni.
{
"name": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/ba1fc977-fddd-3856-a829-f69649ae8075",
"description": "Replace the current role with a smaller role to cover the permissions needed.",
"lastRefreshTime": "2022-06-22T07:00:00Z",
"primaryImpact": {
"category": "SECURITY",
"securityProjection": {
"details": {
"revokedIamPermissionsCount": 1
}
}
},
"content": {
"operationGroups": [
{
"operations": [
{
"action": "add",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/-",
"value": "user:my-user@example.com",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.user"
}
},
{
"action": "remove",
"resourceType": "cloudresourcemanager.googleapis.com/Project",
"resource": "//cloudresourcemanager.googleapis.com/projects/123456789012",
"path": "/iamPolicy/bindings/*/members/*",
"pathFilters": {
"/iamPolicy/bindings/*/condition/expression": "",
"/iamPolicy/bindings/*/members/*": "user:my-user@example.com",
"/iamPolicy/bindings/*/role": "roles/cloudtrace.admin"
}
}
]
}
],
"overview": {
"minimumObservationPeriodInDays": "0"
}
},
"stateInfo": {
"state": "ACTIVE"
},
"etag": "\"c7f57a4725d32d66\"",
"recommenderSubtype": "REPLACE_ROLE_CUSTOMIZABLE",
"associatedInsights": [
{
"insight": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/2799dc04-b12e-4cf6-86aa-d81907d31f58"
}
],
"priority": "P4"
}
Il suggerimento sul ruolo suggerisce anche un'altra opzione, ovvero la sostituzione
il ruolo esistente con il ruolo Utente Cloud Trace
(roles/cloudtrace.user
). Questo ruolo predefinito include
autorizzazioni aggiuntive rispetto al ruolo
Amministratore Cloud Trace.
Sostituzione del ruolo con le autorizzazioni suggerite dal machine learning
A un account di servizio è stato concesso il ruolo Editor (roles/editor
) su un progetto.
Questo ruolo di base include più di 3000 autorizzazioni e concede l'accesso esteso
a un progetto. Tuttavia, un approfondimento sulle norme indica che, nel passato
Per 90 giorni, l'account di servizio ha utilizzato meno di 10
autorizzazioni aggiuntive.
L'approfondimento sulle norme evidenzia anche diverse autorizzazioni dell'account di servizio probabilmente ne serviranno in futuro. Il Recommender IAM ha identificato queste autorizzazioni utilizzando il machine learning.
Il motore per suggerimenti ruolo IAM genera un suggerimento di ruolo che ti consiglia di revocare il ruolo Editor e sostituirlo con il ruolo Amministratore oggetti Storage (roles/storage.objectAdmin
), che concede il controllo completo degli oggetti in un bucket Cloud Storage. Questa modifica rimuove migliaia di autorizzazioni in eccesso,
includendo comunque sia le autorizzazioni utilizzate dall'account di servizio
autorizzazioni necessarie per l'account di servizio in futuro:
Console
Il motore per suggerimenti IAM utilizza un modello di machine learning
per identificare le autorizzazioni aggiunte in base
machine learning del motore per suggerimenti IAM anziché sull'utilizzo delle autorizzazioni.
In questo esempio, è stata consigliata l'autorizzazione resourcemanager.projects.get
basate sul machine learning:
gcloud
Le autorizzazioni aggiunte in base all'apprendimento automatico del Motore per suggerimenti IAM anziché all'utilizzo delle autorizzazioni non sono elencate nel suggerimento stesso. ma sono elencate nelle informazioni sulle norme associate al
suggerimento. Tutte le autorizzazioni basate sull'IA sono elencate nel inferredPermissions
campo dell'approfondimento. In questo esempio, il valore resourcemanager.projects.get
l'autorizzazione è stata consigliata in base al machine learning:
associatedRecommendations:
- recommendation: projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/0573b702-96a5-4622-a916-c762e7b0731f
category: SECURITY
content:
condition:
description: ''
expression: ''
location: ''
title: ''
currentTotalPermissionsCount: '5069'
exercisedPermissions:
- permission: storage.objects.create
- permission: storage.objects.delete
- permission: storage.objects.get
- permission: storage.objects.list
inferredPermissions:
- permission: resourcemanager.projects.get
member: serviceAccount:my-service-account@my-project.iam.gserviceaccount.com
role: roles/editor
description: 4 of the permissions in this role binding were used in the past 90 days.
etag: '"d3cdec23cc712bd0"'
insightSubtype: PERMISSIONS_USAGE
lastRefreshTime: '2020-07-11T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/0d3ce433-f067-4e78-b6ae-03d7d1f6f040
observationPeriod: 7776000s
stateInfo:
state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012
severity: HIGH
Per scoprire come ottenere un approfondimento sulle norme, consulta una delle seguenti pagine:
REST
Autorizzazioni aggiunte in base alla macchina del motore per suggerimenti IAM
l'apprendimento anziché l'utilizzo delle autorizzazioni non sono elencati nel suggerimento
per trovare le regole. Vengono invece elencate negli approfondimenti sulle norme associati al
un consiglio per i nostri esperti. Tutte le autorizzazioni basate su ML sono elencate nella inferredPermissions
campo dell'insight. In questo esempio, l'autorizzazione resourcemanager.projects.get
è stata consigliata in base al machine learning:
{
"name": "projects/123456789012/locations/global/insightTypes/google.iam.policy.Insight/insights/07841f74-02ce-4de8-bbe6-fc4eabb68568",
"description": "4 of the permissions in this role binding were used in the past 90 days.",
"content": {
"role": "roles/editor",
"member": "serviceAccount:my-service-account@my-project.iam.gserviceaccount.com",
"condition": {
"expression": "",
"title": "",
"description": "",
"location": ""
},
"exercisedPermissions": [
{
"permission": "storage.objects.create"
},
{
"permission": "storage.objects.delete"
},
{
"permission": "storage.objects.get"
},
{
"permission": "storage.objects.list"
}
],
"inferredPermissions": [
{
"permission": "resourcemanager.projects.get"
}
],
"currentTotalPermissionsCount": "5069"
},
"lastRefreshTime": "2020-07-12T07:00:00Z",
"observationPeriod": "7776000s",
"stateInfo": {
"state": "ACTIVE"
},
"category": "SECURITY",
"associatedRecommendations": [
{
"recommendation": "projects/123456789012/locations/global/recommenders/google.iam.policy.Recommender/recommendations/b1932220-867d-43d1-bd74-fb95876ab656"
}
],
"targetResources": [
"//cloudresourcemanager.googleapis.com/projects/123456789012"
],
"insightSubtype": "PERMISSIONS_USAGE",
"etag": "\"d3cdec23cc712bd0\"",
"severity": "HIGH"
}
Per scoprire come ottenere informazioni sulle norme, consulta uno dei seguenti articoli:
Passaggi successivi
- Consulta le best practice per l'utilizzo dei suggerimenti sui ruoli.
- Esamina e applica i consigli sui ruoli per progetti, cartelle e organizzazioni.
- Esamina e applica i suggerimenti sul ruolo per Cloud Storage del bucket
- Esaminare e applicare i suggerimenti sul ruolo per BigQuery set di dati
- Scopri di più sul motore per suggerimenti.
- Comprendere i ruoli predefiniti e ruoli personalizzati in IAM.