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 sono 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 delle 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 i criteri e insight. Gli insight sui criteri sono risultati basati su ML relativi all'autorizzazione di un'entità all'utilizzo delle risorse.
Alcuni consigli sono anche associati 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 insight sui criteri confrontando un numero totale di autorizzazioni dell'entità con le autorizzazioni utilizzate negli ultimi 90 giorni. Se al ruolo è stato concesso meno di 90 giorni fa, il motore per suggerimenti IAM esamina le l'utilizzo dell'autorizzazione dell'entità nel momento in cui all'entità è stato concesso 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.Allo stesso modo, quando chiami il metodo
testIamPermissions
per una risorsa, utilizzare 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
compute.instances.get
autorizzazione.Di conseguenza, quando modifichi un'istanza VM nella console Google Cloud, usa l'autorizzazione
compute.instances.get
.
Il motore per suggerimenti IAM usa anche il machine learning per identificare le autorizzazioni nel ruolo attuale di un'entità di cui probabilmente quest'ultima avrà bisogno anche se l'entità non ha utilizzato queste autorizzazioni di recente. Per ulteriori informazioni informazioni, consulta Machine learning per gli insight sui criteri 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 incluso nei suoi ruoli attuali, ma che non ha usato 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 coesistenza comuni nella cronologia osservata: il fatto che un in passato l'utente ha usato le autorizzazioni A, B e C, il che suggerisce che A, B e C potrebbero essere correlati in qualche modo e che sono necessari insieme per svolgere su Google Cloud. Se il modello ML osserva frequentemente questo pattern abbastanza, la volta successiva che un altro utente utilizza le autorizzazioni A e B, il modello suggerisce che anche all'utente potrebbe essere necessaria l'autorizzazione C.
Conoscenza del dominio come codificata nelle definizioni dei ruoli: IAM offre centinaia di diversi ruoli predefiniti specifici del servizio. 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
incorporamento di parole per calcolare come
semanticamente simili alle autorizzazioni. Le autorizzazioni semanticamente simili
essere "chiudi" dopo l'incorporamento e hanno maggiori probabilità
di ottenere
in sinergia. 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. La viene addestrato con questi dati anonimizzati.
Il modello globale può essere ulteriormente personalizzato per ogni organizzazione utilizzando federated learning, una piattaforma che addestra i modelli di machine learning senza esportare dati.
Come vengono generati i suggerimenti sui ruoli
Se un insight sui criteri indica che un'entità non ha bisogno di tutte le autorizzazioni nel proprio ruolo, il motore per suggerimenti IAM determinare se può essere revocato o se esiste un altro ruolo adatta. Se il ruolo può essere revocato, il motore per suggerimenti IAM genera un ruolo di revocare il ruolo. Se esiste un altro ruolo più adatto, il motore per suggerimenti IAM genera un suggerimento sul ruolo 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 consigli per di servizio, un suggerimento sui ruoli non suggerisce mai modifica che aumenta il livello di accesso di un'entità.
I suggerimenti sui ruoli vengono generati solo in base all'accesso IAM i controlli di sicurezza. 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, non vengono generati suggerimenti per tutti i ruoli IAM, e i ruoli concessi alle entità. Per ulteriori informazioni sul motivo per cui un ruolo potrebbe non avere un suggerimento per il ruolo. Consulta la sezione 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 motore per suggerimenti IAM non inizia a generare suggerimenti sui ruoli fino a quando non avrà ottenuto un determinato numero di giorni di dati sull'utilizzo delle autorizzazioni. Questa durata è chiamato periodo minimo di osservazione. 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 il parametro minimo di osservazione a meno di 90 giorni, otterrai i consigli in tempi più rapidi, ma la precisione dei consigli potrebbe interessati.
Se è stato superiore al periodo di osservazione minimo, ma inferiore a 90 giorni dalla concessione del ruolo, il periodo di osservazione indica da quanto tempo è stato concesso il 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 il più rigorosamente 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 autorizzazioni aggiuntive. Per ricevere notifiche su questi aggiornamenti, iscriviti al feed di notizie per nel log delle modifiche delle 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 non consiglia nuovi ruoli personalizzati nel i seguenti casi:
- Il suggerimento riguarda un ruolo a livello di cartella o organizzazione.
- La tua organizzazione ha già 100 o più ruoli personalizzati.
- Il tuo progetto ha già 25 o più ruoli personalizzati.
Inoltre, 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 generate le informazioni sui movimenti laterali
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 rappresentazioni tra progetti concede alle entità un accesso involontario alle risorse. Ad esempio, se un'entità impersona l'account di servizio nel progetto A, possono utilizzare questo account di servizio per rappresentare l'account di servizio nel progetto B. Se l'account di servizio il progetto B ha l'autorizzazione per impersonare altri account di servizio in altri progetti Nella tua organizzazione, l'entità può continuare a utilizzare l'account di servizio la rappresentazione per passare da un progetto all'altro, ottenendo le autorizzazioni a mano a mano che si presentano.
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 IAM non utilizza autonomamente gli insight sul movimento laterale per generare nuovi suggerimenti 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 suggerimento sul ruolo suggerisce di rimuovere questi elementi perché non sono usate, il motore per suggerimenti IAM collegherà l'approfondimento sul movimento laterale a quel suggerimento. Questo collegamento consente di dare priorità ai suggerimenti sui ruoli per gli account di servizio autorizzazioni di rappresentazione potenti e inutilizzate tra progetti.
Per scoprire come gestire le informazioni sul movimento laterale, vedi Gestire il movimento laterale e insight.
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 quanto segue sezioni per comprendere il ruolo che gli insight sulle politiche, lo spostamento laterale per cui vengono generati insight e suggerimenti.
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. La Il motore per suggerimenti IAM non genera insight sui criteri per associazioni di ruoli condizionali.
L'entità a cui viene concesso il ruolo deve essere una delle seguenti tipi di entità:
- Utente
- Account di servizio
- Gruppo
- Entità singola in un pool di identità per i carichi di lavoro
allUsers
allAuthenticatedUsers
- Valori di convenienza di Cloud Storage
- Iscrizione a gruppi speciali BigQuery
Per saperne di più sui tipi di entità, consulta Entità identificatori.
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 insight sulle norme solitamente sono in ritardo. fino a due giorni rispetto all'utilizzo effettivo.
Disponibilità di insight sui movimenti laterali
Gli insight sul movimento laterale vengono generati per i ruoli concessi nella 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 essere vero quanto segue:
- Al ruolo deve essere associato un insight sul criterio. Queste norme e insight sono la base per il suggerimento.
- Deve essere stato più lungo del limite minimo di osservazione da quando è stato concesso il ruolo. Ciò garantisce che Il motore per suggerimenti IAM ha dati sufficienti sull'utilizzo per generare un suggerimento. 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 viene 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 Per maggiori dettagli, consulta 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 un periodo di tempo sufficiente e il ruolo ha a un insight associato. Ciò può accadere per i seguenti motivi:
Non esistono ruoli IAM predefiniti rispetto al ruolo attuale. 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 è un ruolo 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 IAM non di revocare o sostituire il ruolo.
In questi casi, nella colonna Autorizzazioni analizzate della La console Google Cloud mostra l'utilizzo delle autorizzazioni dell'entità, ma non Un Consiglio disponibile
.I suggerimenti sui ruoli esistenti vengono aggiornati quotidianamente in base ai l'utilizzo delle autorizzazioni. Tuttavia, i dati su cui si basano i suggerimenti sui ruoli in genere è indietro di 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à dei suggerimenti dei ruoli
Ai suggerimenti vengono assegnati livelli di priorità in base alla loro urgenza percepita.
I livelli di priorità vanno da P0
(priorità massima) a P4
(priorità più bassa).
La priorità di un suggerimento per il ruolo dipende dal ruolo del suggerimento per:
Dettagli suggerimento | Priorità | Spiegazione |
---|---|---|
Suggerimenti per i ruoli che concedono l'accesso pubblico a 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 altamente permissivi e l'applicazione dei suggerimenti questi ruoli possono ridurre notevolmente le autorizzazioni in eccesso. |
Suggerimenti 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 pubblicamente accessibili 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 altamente permissivi e forniscono informazioni per questi possono ridurre notevolmente le autorizzazioni in eccesso. |
Insight che non concedono l'accesso pubblico o i ruoli di base | LOW |
Sebbene questi approfondimenti mettano in evidenza le autorizzazioni in eccesso, prevedono 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 suggerimenti. 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:
- Esamina e applica suggerimenti sui ruoli per progetti, cartelle e organizzazioni
- Esamina e applica i suggerimenti sui ruoli per Cloud Storage del bucket
- Esaminare e applicare i suggerimenti sul ruolo per BigQuery set di dati
Audit logging
Quando applichi o ignori un suggerimento, il motore per suggerimenti IAM crea una voce di log. Puoi visualizzare queste voci nei consigli per te cronologia oppure puoi visualizzale negli audit log 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 suggerimento per rimuovere gli elementi a livello di progetto, cartella a livello 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 suggerimento per sostituire i valori a livello di progetto, cartella a livello di organizzazione e con un ruolo meno permissivo. Il tipo di la sostituzione potrebbe essere un ruolo personalizzato esistente o uno o più ruoli. |
REPLACE_ROLE_CUSTOMIZABLE |
Un suggerimento per sostituire il ruolo dell'entità con un nuovo ruolo personalizzato meno permissivo rispetto alla ruolo attuale. |
REPLACE_ROLE_BIGQUERY_DATASET |
Un suggerimento per sostituire il ruolo a livello di set di dati dell'entità con un ruolo permissivo. La sostituzione consigliata potrebbe essere una sostituzione 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 suggerimento per sostituire il proprietario, l'editor o il visualizzatore di un agente di servizio con il ruolo concesso automaticamente all'account di servizio quando è stato creato. Per ulteriori informazioni, vedi 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, vedi 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 suggerimenti per le funzionalità di base ruoli (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 automaticamente assegnato 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 sul ruolo potrebbe suggerire di ripristinare l'agente di servizio originale
per rimuovere le autorizzazioni in eccesso, anche se il ruolo di agente di servizio ha
autorizzazioni non associate al ruolo di base. Questi consigli presentano
sottotipo SERVICE_AGENT_WITH_DEFAULT_ROLE
. Ti aiutano a rimuovere in sicurezza gli oggetti in eccesso
garantendo al contempo che tutti i servizi Google Cloud funzionino correttamente.
SERVICE_AGENT_WITH_DEFAULT_ROLE
di consigli sono l'unico tipo di
suggerimento che potrebbe suggerire ruoli con autorizzazioni non
ruolo.
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
Se a un agente di servizio non viene concesso automaticamente un ruolo al momento della creazione,
I suggerimenti per l'agente di servizio si basano esclusivamente sulle autorizzazioni
usate dall'agente di servizio. Questi suggerimenti hanno il sottotipo
SERVICE_AGENT_WITHOUT_DEFAULT_ROLE
.
Suggerimenti sui ruoli in Security Command Center
Se disponi del livello Premium di Security Command Center, puoi visualizzare alcuni sottotipi di ruoli come risultati in Security Command Center. Ogni sottotipo è associato a un rilevatore:
Sottotipo di suggerimento | 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 l'attivazione a livello di organizzazione del livello Premium di Security Command Center:
- Suggerimenti per i ruoli non di base
- Suggerimenti per i ruoli concessi per risorse diverse dalle organizzazioni. cartelle e progetti, ad esempio suggerimenti per i ruoli concessi dei bucket Cloud Storage,
- Consigli che suggeriscono ruoli personalizzati
- Approfondimenti sulle norme
- Informazioni sul movimento laterale
Per ulteriori informazioni, consulta la sezione Domande sulla fatturazione.
Esempi di suggerimenti sui ruoli
I seguenti esempi mostrano i tipi di consigli che puoi ricevere.
Revocare un ruolo esistente
All'utente my-user@example.com
è stato concesso 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.
Di conseguenza, il motore per suggerimenti IAM genera un suggerimento sul ruolo.
suggerimento 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"
}
Sostituisci 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,
che l'account di servizio ha utilizzato solo alcune di queste autorizzazioni.
Di conseguenza, il motore per suggerimenti IAM genera un suggerimento sul ruolo. suggerendo di revocare il ruolo Editor e di sostituirlo con una combinazione di altri due ruoli, rimuovendo così 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 concesso 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 sul ruolo.
suggerendo di creare un ruolo personalizzato che includa solo le autorizzazioni
my-user@example.com
effettivamente in uso:
Console
gcloud
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, [scarica il criterio associato]
insight][get-policy-insight].
{
"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, [scarica il criterio associato]
insight][get-policy-insight].
{
"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 dei ruoli con 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 motore per suggerimenti IAM ha identificato questi autorizzazioni utilizzando il machine learning.
Il motore per suggerimenti IAM genera un suggerimento sul ruolo che suggerisce
Revocare il ruolo Editor e sostituirlo con il ruolo Amministratore oggetti Storage
(roles/storage.objectAdmin
), che garantisce il controllo completo degli oggetti in un
nel 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
resourcemanager.projects.get
basate sul machine learning:
gcloud
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, 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 [Esamina gli approfondimenti sulle norme][get-policy-insight].
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, il valore resourcemanager.projects.get
l'autorizzazione è 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 un approfondimento sulle norme, consulta [Esamina gli approfondimenti sulle norme][get-policy-insight].
Passaggi successivi
- Comprendi best practice per l'utilizzo dei suggerimenti sui ruoli.
- Esamina e applica suggerimenti sui ruoli per progetti, cartelle e organizations.
- 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.