GCP - Basic Information
Gerarchia delle risorse
Google Cloud utilizza una Gerarchia delle risorse che è concettualmente simile a quella di un filesystem tradizionale. Questo fornisce un flusso logico genitore/figlio con punti di attacco specifici per le policy e le autorizzazioni.
A un livello elevato, appare così:
Un'istanza virtuale (chiamata un'istanza di calcolo) è una risorsa. Una risorsa risiede in un progetto, probabilmente insieme ad altre istanze di calcolo, bucket di archiviazione, ecc.
Migrazione dei Progetti
È possibile migrare un progetto senza alcuna organizzazione in un'organizzazione con i permessi roles/resourcemanager.projectCreator
e roles/resourcemanager.projectMover
. Se il progetto è all'interno di un'altra organizzazione, è necessario contattare il supporto GCP per spostarli fuori dall'organizzazione prima. Per ulteriori informazioni consulta questo.
Politiche dell'Organizzazione
Consentono di centralizzare il controllo sulle risorse cloud della tua organizzazione:
Centralizza il controllo per configurare restrizioni su come le risorse dell'organizzazione possono essere utilizzate.
Definire ed istituire vincoli per i team di sviluppo per rimanere entro i limiti della conformità.
Aiutare i proprietari dei progetti e i loro team a muoversi rapidamente senza preoccuparsi di violare la conformità.
Queste politiche possono essere create per influenzare l'intera organizzazione, cartelle o progetti. I discendenti del nodo gerarchico delle risorse mirate ereditano la politica dell'organizzazione.
Per definire una politica dell'organizzazione, si sceglie un vincolo, che è un particolare tipo di restrizione contro un servizio Google Cloud o un gruppo di servizi Google Cloud. Si configura quel vincolo con le restrizioni desiderate.
Casi d'uso comuni
Limitare la condivisione delle risorse in base al dominio.
Limitare l'uso degli account di servizio Identity and Access Management.
Limitare la posizione fisica delle risorse di nuova creazione.
Disabilitare la creazione di account di servizio.
Ci sono molti altri vincoli che ti danno un controllo dettagliato sulle risorse della tua organizzazione. Per ulteriori informazioni, consulta l' elenco di tutti i vincoli del servizio Politica dell'Organizzazione.
Politiche dell'Organizzazione Predefinite
Ruoli IAM
Sono simili alle policy IAM in AWS poiché ogni ruolo contiene un insieme di permessi.
Tuttavia, a differenza di AWS, non esiste un repository centralizzato di ruoli. Invece, le risorse assegnano ruoli di accesso X a principali Y, e l'unico modo per scoprire chi ha accesso a una risorsa è utilizzare il metodo get-iam-policy
su quella risorsa.
Questo potrebbe essere un problema perché ciò significa che l'unico modo per scoprire quali permessi ha un principale è chiedere a ogni risorsa a chi sta concedendo i permessi, e un utente potrebbe non avere i permessi per ottenere i permessi da tutte le risorse.
Ci sono tre tipi di ruoli in IAM:
Ruoli di base/primitivi, che includono i ruoli Proprietario, Editore e Visualizzatore che esistevano prima dell'introduzione di IAM.
Ruoli predefiniti, che forniscono accesso granulare per un servizio specifico e sono gestiti da Google Cloud. Ci sono molti ruoli predefiniti, puoi vederli tutti con i privilegi che hanno qui.
Ruoli personalizzati, che forniscono accesso granulare in base a un elenco di permessi specificato dall'utente.
Ci sono migliaia di permessi in GCP. Per verificare se un ruolo ha un permesso puoi cercare il permesso qui e vedere quali ruoli lo hanno.
Puoi anche cercare qui i ruoli predefiniti offerti da ciascun prodotto. Nota che alcuni ruoli non possono essere assegnati agli utenti e solo agli SA a causa di alcuni permessi che contengono. Inoltre, nota che i permessi avranno effetto solo se sono assegnati al servizio rilevante.
Oppure verifica se un ruolo personalizzato può utilizzare un permesso specifico qui.
pageGCP - IAM, Principals & Org Policies EnumUtenti
Nella console di GCP non vi è alcuna gestione degli Utenti o Gruppi, che viene gestita in Google Workspace. Tuttavia è possibile sincronizzare un diverso fornitore di identità in Google Workspace.
È possibile accedere agli utenti e gruppi di Workspace su https://admin.google.com.
L'MFA può essere impostato per gli utenti di Workspace, tuttavia, un attaccante potrebbe utilizzare un token per accedere a GCP tramite CLI senza protezione MFA (sarà protetto da MFA solo quando l'utente effettua l'accesso per generarlo: gcloud auth login
).
Gruppi
Quando viene creata un'organizzazione, è fortemente consigliato creare diversi gruppi. Se gestisci uno di essi, potresti compromettere tutto o una parte importante dell'organizzazione:
Gruppo | Funzione |
| Amministrazione di qualsiasi risorsa che appartiene all'organizzazione. Assegna questo ruolo con parsimonia; gli amministratori dell'organizzazione hanno accesso a tutte le risorse di Google Cloud. In alternativa, poiché questa funzione è molto privilegiata, considera l'uso di account individuali anziché creare un gruppo. |
| Creazione di reti, subnet, regole del firewall e dispositivi di rete come Cloud Router, Cloud VPN e bilanciatori di carico cloud. |
| Configurazione degli account di fatturazione e monitoraggio del loro utilizzo. |
| Progettazione, codifica e test di applicazioni. |
| Stabilire e gestire le politiche di sicurezza per l'intera organizzazione, inclusa la gestione degli accessi e le politiche di vincolo dell'organizzazione. Consulta la guida alle fondamenta della sicurezza di Google Cloud per ulteriori informazioni sulla pianificazione dell'infrastruttura di sicurezza di Google Cloud. |
| Creazione o gestione di pipeline end-to-end che supportano integrazione e distribuzione continue, monitoraggio e provisioning di sistemi. |
| |
| |
| |
| Monitoraggio delle spese nei progetti. I membri tipici fanno parte del team finanziario. |
| Revisione delle informazioni sulle risorse in tutta l'organizzazione Google Cloud. |
| Revisione della sicurezza cloud. |
| Revisione delle configurazioni di rete. |
| Visualizzazione dei log di audit. |
| Amministrazione del Security Command Center. |
| Gestione dei segreti in Secret Manager. |
Politica Password Predefinita
Imporre password sicure
Tra 8 e 100 caratteri
Nessun riutilizzo
Nessuna scadenza
Se le persone accedono a Workspace tramite un provider terzo, questi requisiti non vengono applicati.
Account di servizio
Questi sono i principali che le risorse possono avere associati e accedere per interagire facilmente con GCP. Ad esempio, è possibile accedere al token di autenticazione di un Account di Servizio associato a una VM nei metadati.
È possibile incontrare alcuni conflitti quando si utilizzano sia IAM che access scopes. Ad esempio, il tuo account di servizio potrebbe avere il ruolo IAM di compute.instanceAdmin
ma l'istanza che hai violato è stata limitata con la limitazione dello scope di https://www.googleapis.com/auth/compute.readonly
. Ciò ti impedirebbe di apportare modifiche utilizzando il token OAuth assegnato automaticamente alla tua istanza.
È simile ai ruoli IAM di AWS. Ma a differenza di AWS, qualsiasi account di servizio può essere associato a qualsiasi servizio (non è necessario consentirlo tramite una policy).
Molti degli account di servizio che troverai sono effettivamente generati automaticamente da GCP quando inizi a utilizzare un servizio, come:
Tuttavia, è anche possibile creare e collegare alle risorse account di servizio personalizzati, che avranno questo aspetto:
Ambiti di accesso
Gli ambiti di accesso sono associati ai token OAuth generati per accedere ai punti di API di GCP. Essi limitano i permessi del token OAuth. Ciò significa che se un token appartiene a un Proprietario di una risorsa ma non ha nell'ambito del token l'accesso a quella risorsa, il token non può essere utilizzato per (ab)usare quei privilegi.
Google effettivamente raccomanda di non utilizzare gli ambiti di accesso e di fare affidamento totalmente su IAM. Il portale di gestione web effettivamente impone questo, ma gli ambiti di accesso possono comunque essere applicati alle istanze utilizzando account di servizio personalizzati in modo programmato.
È possibile vedere quali ambiti sono assegnati tramite interrogazione:
Gli ambiti precedenti sono quelli generati per impostazione predefinita utilizzando gcloud
per accedere ai dati. Questo perché quando si utilizza gcloud
si crea prima un token OAuth, e poi lo si utilizza per contattare i punti di contatto.
L'ambito più importante tra quelli potenzialmente disponibili è cloud-platform
, che significa fondamentalmente che è possibile accedere a qualsiasi servizio in GCP.
È possibile trovare un elenco di tutti gli ambiti possibili qui.
Se si dispone di credenziali del browser gcloud
, è possibile ottenere un token con altri ambiti, facendo qualcosa del genere:
Politiche IAM di Terraform, Associazioni e Appartenenze
Come definito da terraform in https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/google_project_iam utilizzando terraform con GCP ci sono diversi modi per concedere l'accesso a un principale su una risorsa:
Appartenenze: Imposti principali come membri di ruoli senza restrizioni sul ruolo o sui principali. Puoi mettere un utente come membro di un ruolo e poi mettere un gruppo come membro dello stesso ruolo e anche impostare quei principali (utente e gruppo) come membri di altri ruoli.
Associazioni: Diversi principali possono essere associati a un ruolo. Quei principali possono ancora essere associati o essere membri di altri ruoli. Tuttavia, se un principale che non è associato al ruolo viene impostato come membro di un ruolo associato, la prossima volta che viene applicata l'associazione, l'appartenenza scomparirà.
Politiche: Una politica è autoritativa, indica ruoli e principali e quindi, quei principali non possono avere più ruoli e quei ruoli non possono avere più principali a meno che quella politica non venga modificata (neanche in altre politiche, associazioni o appartenenze). Pertanto, quando un ruolo o principale è specificato nella politica tutti i suoi privilegi sono limitati da quella politica. Ovviamente, questo può essere aggirato nel caso in cui al principale venga data l'opzione di modificare la politica o i permessi di escalation dei privilegi (come creare un nuovo principale e associargli un nuovo ruolo).
Riferimenti
Last updated