Sicurezza a livelli con restrizioni basate sul contesto
Riducete la superficie di attacco con restrizioni basate sul contesto. Aggiungete la posizione della rete, il tipo di endpoint e i requisiti MFA ai vostri criteri basati sull'identità per una gestione degli accessi a grana fine.
Le restrizioni basate sul contesto offrono ai proprietari degli account e agli amministratori la possibilità di definire e applicare le restrizioni di accesso alle risorse di IBM Cloud® in base ai criteri di una regola. I criteri includono la posizione di rete delle richieste di accesso, il tipo di endpoint da cui viene inviata la richiesta, il livello di autenticazione multifattoriale di un'identità e talvolta l'API a cui la richiesta cerca di accedere. Queste restrizioni si affiancano ai tradizionali criteri IAM, che si basano sull'identità, per fornire un ulteriore livello di protezione. Poiché sia i criteri IAM che le restrizioni basate sul contesto impongono l'accesso, le restrizioni basate sul contesto offrono protezione anche in presenza di credenziali compromesse o gestite in modo errato.
Per uno scenario di esempio sulla creazione di restrizioni basate sul contesto, seguite l'esercitazione su Come sfruttare le restrizioni basate sul contesto per proteggere le risorse.
Per ulteriori informazioni sull'implementazione delle restrizioni basate sul contesto nella vostra strategia di sicurezza, consultate il tutorial della soluzione Migliorare la sicurezza del cloud applicando restrizioni basate sul contesto.
Regole
Una regola associa una risorsa di IBM Cloud a un insieme di contesti:
- La risorsa cloud è specificata da attributi di risorsa simili ai criteri di accesso IAM.
- Un contesto è una combinazione di zone di rete e tipi di endpoint.
I contesti configurati definiscono il confine delle risorse associate.
Gli attributi delle risorse necessari nelle regole di restrizione basate sul contesto sono accountId e serviceName. Le regole devono essere definite in base a un account e a un servizio specifico.
Le regole di restrizione basate sul contesto vengono applicate secondo la seguente logica:
- L'accesso viene concesso da una regola solo quando almeno uno dei contesti della regola consente l'accesso.
- Se a una particolare risorsa sono applicabili più regole, l'accesso viene concesso solo quando tutte le regole applicabili consentono l'accesso.
- Se nessuna regola è applicabile a una particolare risorsa, l'accesso è determinato esclusivamente dalle politiche IAM.
A differenza dei criteri IAM, le restrizioni basate sul contesto non assegnano l'accesso. Le restrizioni basate sul contesto verificano che una richiesta di accesso provenga da un contesto consentito configurato dall'utente.
L'interfaccia utilizzata per accedere a una risorsa, come la console, la CLI o l'API, non influisce sull'applicazione di una regola a quella risorsa. La regola si applica allo stesso modo su tutte le interfacce e si basa sull'indirizzo IP del client.
Applicazione delle regole
È possibile decidere come applicare una regola al momento della creazione e aggiornare l'applicazione della regola in qualsiasi momento.
- Abilitato
- Applicare la regola. A seconda del servizio selezionato, potrebbe essere disponibile il monitoraggio dei tentativi di accesso negati attraverso Activity Tracker Event Routing. Esaminate la documentazione di ciascun servizio per conoscere le modalità di integrazione con le restrizioni basate sul contesto.
- Disabilitato
- Non si applicano restrizioni alle risorse del vostro conto. Selezionare questa opzione se non si è pronti ad abilitare la regola.
- Solo report
- A seconda del servizio selezionato, è possibile monitorare l'impatto di una regola sull'accesso senza applicarla. Con la modalità solo rapporti, tutti i tentativi di accesso alle risorse dell'account vengono registrati in Activity Tracker Event Routing. Se disponibile, il monitoraggio è consigliato per 30 giorni prima di applicare una regola.
La modalità solo rapporti non è disponibile per tutti i servizi, pertanto è necessario consultare la documentazione di ciascun servizio per conoscere le modalità di integrazione con le restrizioni basate sul contesto.
È possibile monitorare l'impatto delle regole abilitate e di quelle relative ai soli rapporti. Per ulteriori informazioni, vedere Monitoraggio delle restrizioni basate sul contesto.
Definire l'ambito di applicazione di una regola
Definire le API che si desidera proteggere per restringere l'ambito delle restrizioni di una regola. In questo modo, è possibile specificare protezioni granulari per diverse API che hanno requisiti di accesso distinti.
Ad esempio, si può creare una regola che punta a un'API del piano dati in modo che sia accessibile solo da un cluster Kubernetes o da qualsiasi altro luogo in cui sia presente l'infrastruttura di calcolo. Quindi, è possibile creare una regola mirata all'API del piano di controllo e a tutte le API della piattaforma per proteggere le interazioni con la console cloud in modo che sia accessibile solo da dietro la VPN dell'organizzazione.
Solo alcuni servizi supportano la possibilità di eseguire lo scope di una regola tramite API.
Con alcuni servizi, è possibile limitare le azioni di tutte le API del servizio sulle risorse per impostazione predefinita, il che include tutte le API attuali e future che il servizio potrebbe supportare. Oppure, selezionare API specifiche. Ad esempio, Kubernetes ha API di servizio personalizzate a cui si può limitare l'accesso in base al contesto della richiesta. Esaminate la documentazione di ciascun servizio per saperne di più su come si integrano con le restrizioni basate sul contesto.
Alcuni servizi supportano la possibilità di estendere una regola per proteggere tutte le API della piattaforma, che comprendono tutte le API attuali e future della piattaforma che un servizio potrebbe supportare. L'aggiunta delle API della piattaforma all'ambito di una regola garantisce che le operazioni della piattaforma, come il provisioning delle risorse, la gestione delle credenziali dei servizi e l'aggiunta di tag, siano accessibili solo dalle posizioni definite dall'utente.
Le restrizioni basate sul contesto proteggono di default tutte le API del servizio e della piattaforma supportate dal servizio di destinazione.
Contesti
I contesti definiscono dove si può accedere alla risorsa. Un contesto è costituito dai tipi di endpoint consentiti e dalle zone di rete configurate.
- Se un contesto include zone di rete, l'accesso viene concesso solo se la richiesta viene creata da una di queste zone.
- Se un contesto include tipi di endpoint di servizio, l'accesso viene concesso solo quando la richiesta viene ricevuta tramite una connessione che corrisponde a uno di questi tipi.
- Se un contesto include l'autenticazione multifattoriale (MFA), l'accesso viene concesso solo se l'identità richiedente ha un livello MFA uguale o superiore al livello MFA richiesto.
- Se un contesto include più restrizioni, ad esempio sia zone che tipi di endpoint, tutte le restrizioni devono essere soddisfatte affinché l'accesso sia concesso.
Zona di rete
Una zona di rete rappresenta un elenco di indirizzi IP in cui viene creata una richiesta di accesso. Definisce un insieme di una o più posizioni di rete specificate dai seguenti attributi:
- Indirizzi IP, che comprendono singoli indirizzi, intervalli o sottoreti.
- VPC
- Riferimenti ai servizi, che consentono l'accesso da altri servizi di IBM Cloud®.
Indirizzi IP
I clienti possono specificare gli indirizzi IP che conoscono e da cui vogliono poter inviare il traffico. Qualsiasi cosa al di fuori degli indirizzi IP specificati viene negata.
VPC
Se si dispone di applicazioni distribuite in una VPC che devono accedere a una risorsa limitata in base al contesto, è possibile includere gli indirizzi IP della VPC nella zona di rete. A tal fine, selezionare la VPC di destinazione nella zona di rete e aggiungere tale zona di rete alla regola. In questo modo, non è necessario trovare gli indirizzi IP utilizzati dalla VPC. Le risorse contattate vedono che la richiesta proviene da un insieme di indirizzi IP consentiti.
Riferimenti del servizio
Un riferimento di servizio rappresenta le posizioni di rete di un servizio o di un'istanza di servizio. L'inclusione di un riferimento a un servizio in una zona di rete aggiunge gli indirizzi IP associati al servizio all'elenco dei permessi, senza dover conoscere gli indirizzi IP sottostanti del servizio. I riferimenti ai servizi sono utili poiché le posizioni di rete dei servizi cloud sono sconosciute all'amministratore delle restrizioni basate sul contesto e possono cambiare nel tempo.
Di seguito è riportato un elenco di servizi che è possibile aggiungere a una zona di rete come riferimento di servizio:
| Servizio | Tipo di servizio | service_name |
|---|---|---|
| Tutti i servizi di Account Management | Account Management | iam-access-management |
| Servizio Gruppi di accesso IAM | Gestione degli account | iam-groups |
| Gestione degli utenti IAM | Gestione degli account | user-management |
| Activity Tracker Event Routing | IAM-enabled | logdnaat |
| App Configuration | IAM-enabled | apprapp |
| Servizio di gestione dei cataloghi | IAM-enabled | globalcatalog-collection |
| Cloud Block Storage for VPC | IAM-enabled | |
| Cloud Object Storage | IAM-enabled | cloud-object-storage |
| Code Engine | IAM-enabled | codeengine |
| Databases for DataStax | IAM-enabled | databases-for-cassandra |
| Databases for EnterpriseDB | IAM-enabled | databases-for-enterprisedb |
| Databases for Elasticsearch | IAM-enabled | databases-for-elasticsearch |
| Databases for etcd | IAM-enabled | databases-for-etcd |
| Databases for MongoDB | IAM-enabled | databases-for-mongodb |
| Databases for MySQL | IAM-enabled | databases-for-mysql |
| Databases for PostgreSQL | IAM-enabled | databases-for-postgresql |
| Databases for Redis | IAM-enabled | databases-for-redis |
| Direct Link | IAM-enabled | directlink |
| Event Notifications | IAM-enabled | event-notifications |
| Event Streams | IAM-enabled | messagehub |
| Kubernetes Service / Red Hat OpenShift | IAM-enabled | containers-kubernetes |
| Messages for RabbitMQ | IAM-enabled | messages-for-rabbitmq |
| Secrets Manager | IAM-enabled | secrets-manager |
| Servizi infrastrutturali VPC | Abilitati per IAM | |
| Schematics | IAM-enabled | schematics |
| Toolchain | IAM-enabled | toolchain |
| Watsonx.data | IAM-enabled | lakehouse |
Nella tabella 1, Tutti i servizi di Account Management si riferisce al raggruppamento di servizi di tipo Account Management elencati nella tabella. Ad esempio, se esistono due servizi di Gestione clienti elencati nella tabella 1, Tutti i servizi di Gestione clienti include questi due servizi. Man mano che altri servizi di Gestione account diventano disponibili come riferimenti di servizio, le zone di rete che specificano Tutti i servizi di Gestione account come riferimento di servizio includono automaticamente i servizi di gestione account aggiunti di recente.
Per ulteriori informazioni sui servizi da aggiungere come riferimento per l'offerta di servizi a cui si mira in una regola, consultare la documentazione di ciascuna offerta di servizi.
Tipi di endpoint
Un tipo di endpoint rappresenta la connessione su cui viene ricevuta una richiesta di accesso. Corrisponde all'endpoint che riceve la connessione. È possibile consentire l'accesso da tutti i tipi di endpoint supportati dal servizio o da tipi specifici di endpoint del servizio.
I tre tipi di endpoint comuni sono i seguenti:
- Gli endpoint pubblici possono accettare richieste da qualsiasi luogo.
- Gli endpoint privati sono disponibili per la maggior parte delle richieste provenienti da IBM Cloud®.
- Gli endpoint diretti sono utilizzati negli scenari Bring-Your-Own-IP, generalmente per le richieste che provengono da risorse all'interno di VPC.
Alcuni tipi di endpoint potrebbero non essere supportati dal servizio selezionato.
Per accedere agli endpoint privati virtuali, gli utenti della CLI devono accedere utilizzando il comando ibmcloud login -a private.cloud.ibm.com --vpc. Per ulteriori informazioni, vedere Creazione di un gateway endpoint privato(necessario per l'uso di VPC).
Autenticazione a più fattori
L'autenticazione a più fattori (MFA) richiede che le identità si autentichino utilizzando un altro fattore di autenticazione oltre all'ID e alla password. Impostando un requisito di livello MFA meno severo, si consente agli utenti che soddisfano o superano tale livello di autenticarsi. Ad esempio, se la regola richiede agli utenti di autenticarsi con MFA LEVEL1, gli utenti che hanno MFA LEVEL2 sono ancora conformi poiché LEVEL2 supera i criteri di sicurezza per LEVEL1. I seguenti livelli di AMF indicano il fattore AMF minimo per ciascun livello. Per ulteriori informazioni, vedere IBM Cloud Autenticazione a più fattori.
- LEVEL1: MFA basato su e-mail
- LEVEL2: TOTP MFA
- LEVEL3: Chiave di sicurezza MFA
Oltre a LEVEL1, LEVEL2 e LEVEL3 MFA, la regola di restrizione basata sul contesto supporta anche il valore IAM_ACCOUNT_SETTING, il che significa che il valore MFA della regola corrisponde a qualsiasi requisito MFA definito dall'utente
per l'account. In questo modo, qualsiasi modifica alle impostazioni MFA dell'account viene applicata automaticamente alla regola. Per ulteriori informazioni, vedere Opzioni MFA.
Se si seleziona un'opzione dalla sezione MFA per gli utenti con IBMid nelle impostazioni di autenticazione IAM, il valore MFA di IAM viene mappato a LEVEL2 MFA nelle restrizioni basate sul contesto. L'MFA viene applicato sia agli utenti federati che a quelli non federati, anche se è stato selezionato l'utente non federato.
Solo alcuni servizi supportano la possibilità di specificare l'MFA in una regola.
Requisiti di accesso
Per completare le azioni delle regole, è necessario che vi sia assegnato un criterio IAM sul servizio di destinazione. Per completare le azioni della zona di rete, è necessario assegnare un criterio IAM al servizio restrizioni basate sul contesto.
Per creare una restrizione basata sul contesto per un servizio, è necessario che al servizio contro cui si sta creando la regola sia assegnato un criterio IAM con il ruolo di amministratore. Per esempio, se si desidera creare una regola per proteggere un'istanza di Key Protect istanza, è necessario essere assegnati al ruolo di Amministratore del servizio e al ruolo di Visualizzatore o superiore del servizio di restrizione contestuale Key Protect e il ruolo Viewer o superiore sul servizio di restrizioni basate sul contesto.
Il ruolo Viewer del servizio restrizioni basate sul contesto autorizza ad aggiungere zone di rete alla regola.
Ruoli e azioni di restrizione basati sul contesto
Per gestire le zone di rete, è necessario assegnare un criterio IAM con un ruolo specifico per il servizio di gestione degli account delle restrizioni basate sul contesto. La tabella seguente mostra i ruoli di accesso e le azioni possibili per la gestione degli account.
| Ruoli | Azioni |
|---|---|
| Visualizzatore | Visualizzazione delle zone di rete |
| Editor | Visualizza le zone di rete
Crea le zone di rete Aggiorna le zone di rete Rimuovi le zone di rete |
| Amministratore | Visualizza le zone di rete
Crea le zone di rete Aggiorna le zone di rete Rimuovi le zone di rete |
Per ulteriori informazioni, vedere Azioni e ruoli per i servizi di gestione degli account.
È inoltre possibile utilizzare le zone di rete per limitare l'accesso a livello di account. Per impostare le limitazioni a livello di account utilizzando le zone di rete, vai alla console Gestisci > IAM > Impostazioni nella console IBM Cloud e immetti il nome della tua zona di rete.
Ruoli e azioni del servizio target
Per gestire le regole, è necessario essere assegnati a un criterio IAM con il ruolo di amministratore per il servizio contro cui si sta creando la regola. La tabella seguente mostra i ruoli di accesso e le azioni possibili per i servizi.
| Ruoli | Azioni |
|---|---|
| Visualizzatore | Visualizza regole |
| Editor | Visualizza regole |
| Amministratore | Visualizza le regole
Crea regole Aggiorna regole Rimuovi regole |
Servizi integrati con restrizioni basate sul contesto
I servizi specifici di IBM Cloud sono integrati con restrizioni basate sul contesto e solo questi servizi possono applicare regole alle loro risorse. Il modo in cui le regole si applicano ai singoli servizi è determinato dal servizio stesso, pertanto è necessario consultare la documentazione relativa a ciascun servizio per capire come si applicano le restrizioni basate sul contesto.
È possibile creare restrizioni basate sul contesto per i seguenti servizi se è stato concesso l'accesso corretto al servizio:
| service | Tipo di servizio | Ambito di applicazione delle API | service_name |
|---|---|---|---|
| Activity Tracker Event Routing | Gestione account | No | atracker |
| App Configuration | Abilitato IAM | No | apprapp |
| Servizio di gestione del catalogo | Abilitato IAM | Sì | globalcatalog-collection |
| IBM Cloud Logs | Abilitato IAM | No | logs |
| IBM Cloud Monitoring | Abilitato IAM | No | sysdig-monitor |
| Backup e ripristino | Abilitato IAM | Sì | backup-recovery |
| Nuvola Object Storage | Abilitato IAM | No | cloud-object-storage |
| Code Engine | Abilitato IAM | No | codeengine |
| Container Registry | Abilitato IAM | No | container-registry |
| Restrizioni basate sul contesto Servizio | Gestione account | No | context-based-restrictions |
| Databases for DataStax | Abilitato IAM | Sì | databases-for-cassandra |
| Databases for EnterpriseDB | Abilitato IAM | Sì | databases-for-enterprisedb |
| Databases for Elasticsearch | Abilitato IAM | Sì | databases-for-elasticsearch |
| Databases for etcd | Abilitato IAM | Sì | databases-for-etcd |
| Databases for MongoDB | Abilitato IAM | Sì | databases-for-mongodb |
| Databases for MySQL | Abilitato IAM | Sì | databases-for-mysql |
| Databases for PostgreSQL | Abilitato IAM | Sì | databases-for-postgresql |
| Databases for Redis | Abilitato IAM | Sì | databases-for-redis |
| Direct Link | Abilitato IAM | No | directlink |
| DNS Services | Abilitato IAM | No | dns-svcs |
| Enterprise Application Service | Abilitato IAM | No | enterprise-app-java |
| Event Notifications | Abilitato IAM | No | event-notifications |
| Event Streams | Abilitato IAM | No | messagehub |
| Hyper Protect Crypto Services | Abilitato IAM | Sì | hs-crypto |
| Servizio di gruppi di accesso IAM | Gestione account | No | iam-groups |
| Servizio di gestione accessi IAM | Gestione account | No | iam-access-management |
| IAM Identity Service | Gestione account | No | iam-identity |
| Gestione degli utenti IAM | Gestione account | No | user-management |
| IBM Cloud® Virtual Private Cloud | Abilitato IAM | No | is |
| Key Protect | Abilitato IAM | No | kms |
| Kubernetes Service / Red Hat OpenShift | Abilitato IAM | Sì | containers-kubernetes |
| MQ | Abilitato IAM | Sì | mqcloud |
| Messages for RabbitMQ | Abilitato IAM | Sì | messages-for-rabbitmq |
| Schematics | Abilitato IAM | No | schematics |
| Secrets Manager | Abilitato IAM | No | secrets-manager |
| IBM Cloud Security and Compliance Center Workload Protection | Abilitato IAM | No | sysdig-secure |
| Servizio di etichettatura | Gestione account | No | ghost-tags |
| Transit Gateway | Abilitato IAM | No | transit |
| Watsonx.data | Abilitato IAM | No | lakehouse |
Le restrizioni basate sul contesto definite per i servizi abilitati IAM non si applicano alle azioni della piattaforma come la creazione o l'eliminazione. Per ulteriori informazioni, vedere Ruoli e azioni IAM.
Controllate regolarmente quali servizi vengono aggiunti man mano che altri servizi si integrano con le restrizioni basate sul contesto.
Limiti di restrizione basati sul contesto
La tabella seguente elenca i limiti massimi per le restrizioni basate sul contesto. Questi limiti si applicano a qualsiasi utente che possa creare regole di restrizione basate sul contesto o zone di rete. Per ulteriori informazioni, vedere Cosa sono le restrizioni basate sul contesto.
Se avete un caso d'uso specifico che richiede un limite esteso, potete richiedere un aumento. Per ulteriori informazioni, vedere Aumento dei limiti del conto.
| Risorsa | Max |
|---|---|
| Regole di restrizione basate sul contesto per account [1] | 4020 |
| Zone di rete per account | 500 |
| Indirizzi IP per zona di rete | 1000 |
| Indirizzi IP per regola | 1000 |
Una regola di restrizione basata sul contesto che include più zone di rete può avere un massimo di 1000 indirizzi IP associati indirettamente. Ad esempio, in una regola che include due zone di rete, una delle zone potrebbe avere 800 indirizzi IP e l'altra un massimo di 200 indirizzi IP.
Se si desidera controllare il numero di regole nel proprio account, vedere Visualizzazione del numero totale di regole per account. Per richiedere un aumento del limite dell'account, vedere Richiesta di aumento del limite condiviso di una policy e di una regola.
Eventuale coerenza
Le restrizioni basate sul contesto seguono uno schema coerente, comune a molti servizi cloud-native. Di conseguenza, le restrizioni basate sul contesto rimangono altamente disponibili e performanti in più regioni globali. Le modifiche apportate alle regole di restrizione basate sul contesto e alle zone di rete vengono registrate e propagate in tutto il mondo. Le modifiche all'accesso potrebbero non avere effetto fino al completamento del processo di propagazione, di solito entro pochi minuti.
-
I criteri IAM e le regole di restrizione basate sul contesto condividono un limite combinato di 4020. ↩︎