Scollega PDP e PEP per supportare l'architettura zero-trust su Oracle Cloud

Per ridurre i rischi derivanti da minacce costanti, un'architettura zero-trust dovrebbe utilizzare un piano di controllo separato per il punto di decisione dei criteri (PDP) e implementare il punto di applicazione dei criteri (PEP) su un piano dati. Puoi utilizzare i servizi Oracle Cloud per supportare la tua architettura zero-trust e migliorare il controllo dell'accesso su Oracle Cloud per l'implementazione di PDP e PEP.

Oracle Cloud Infrastructure (OCI) offre un set convincente di funzionalità di sicurezza per proteggere carichi di lavoro mission-critical e dati sensibili. Oracle Cloud implementa un modello di sicurezza zero-trust informato dall'architettura zero-trust stabilita dal National Institute of Standards and Technology (NIST). Questo modello consente di applicare un livello di sicurezza rigoroso che richiede la verifica da parte di ogni utente che tenta di accedere a sistemi, reti e dati.

Puoi integrare OCI Identity and Access Management e OCI API Gateway per ottenere la separazione tra PDP e PEP.

Identity and Access Management (IAM)

Oracle Cloud offre una piattaforma di livello Enterprise Identity-as-a-Service (IDaaS) denominata OCI Identity and Access Management. OCI Identity and Access Management utilizza i domini di Identity per eseguire il provisioning delle identità cloud, degli utenti e delle applicazioni sicure. È possibile utilizzare OCI Identity and Access Management con i domini di Identity come PDP per consentire o negare l'accesso a varie risorse o servizi cloud definendo criteri granulari.

La piattaforma di identità funge sia da front door verso i servizi cloud, sia da piattaforma standalone di identity-as-a-service (IDaaS) sia per gli utenti aziendali che per i consumatori. Questa piattaforma offre funzionalità chiave di gestione delle identità per applicazioni e servizi in esecuzione in Oracle Cloud, cloud di terze parti e data center on-premise. OCI Identity and Access Management offre autenticazione, Single Sign-On (SSO) e gestione del ciclo di vita delle identità per Oracle Cloud e per applicazioni Oracle e non Oracle, siano esse SaaS, ospitate nel cloud o on-premise. IAM consente inoltre di controllare il tipo di accesso di un gruppo di utenti e a quali risorse cloud specifiche è consentito.

API Gateway

Oracle Cloud crea servizi con un approccio progettuale incentrato sulla sicurezza. Con questo approccio, servizi come OCI API Gateway consentono di creare criteri di accesso ai dati che consentono solo agli utenti o alle applicazioni autorizzati di accedere ai dati in tutta l'azienda.

Il servizio OCI API Gateway consente di creare interfacce HTTP/S (API) gestite per più backend, inclusi i servizi Oracle Cloud quali OCI Load Balancing, funzioni OCI, istanze di OCI Compute e applicazioni on premise connesse a Oracle Cloud tramite una VPN o OCI FastConnect. OCI API Gateway fornisce funzioni di applicazione dei criteri come la limitazione di frequenza agli endpoint HTTP/S, l'autenticazione con i provider di identità e l'accesso a più servizi RESTful sia nel cloud che on-premise.

OCI API Gateway garantisce che il chiamante sia autenticato in modo che i backend connessi al gateway non possano essere chiamati in forma anonima. OCI API Gateway può anche controllare l'autorizzazione e consente di aggiungere URL HTTP e HTTP/S a un servizio backend per concedere a tali servizi l'accesso front-end con l'applicazione dei criteri. Gli URL HTTP/S specificati per il servizio backend possono essere i seguenti:

  • URL di un servizio Oracle Cloud (ad esempio, Funzioni OCI o Storage degli oggetti OCI)
  • L'URL di un servizio nella propria rete privata o interna connesso a OCI tramite VPN o OCI FastConnect

Architettura

Questa progettazione dell'architettura descrive l'integrazione tra OCI Identity and Access Management e OCI API Gateway. In questa architettura, OCI API Gateway funge da PEP applicando i criteri e OCI Identity and Access Management funge da PDP autorizzando il token e concedendo l'accesso agli utenti autorizzati. Questa integrazione utilizza il token Web JWT o JSON, noto anche come token di accesso. JWT è uno standard di settore aperto che consente l'integrazione con altri sistemi IAM.

Il seguente diagramma illustra questa architettura di riferimento.

Descrizione di zero-trust-pdp-pep-oci.png
Descrizione dell'immagine zero-trust-pdp-pep-oci.png

zero-trust-pdp-pep-oci-oracle.zip

I passi riportati di seguito illustrano il flusso di autorizzazione dell'architettura con OCI API Gateway e OCI Identity and Access Management.
  1. Genera token di accesso

    L'applicazione client dell'utente finale utilizza l'API IAM per generare un token di accesso JWT da OCI Identity and Access Management (PDP).

  2. Chiama con token di accesso (JWT)

    Il token di accesso JWT viene inviato al gateway API OCI come parte dell'intestazione di richiesta HTTP di ogni chiamata API. Facoltativamente, il token può contenere ambiti definiti in modo specifico per le risorse.

  3. Verifica dei criteri e convalida JWT con IAM

    Il gateway API OCI (PEP) richiama l'API di autorizzazione IAM e passa il token di accesso ricevuto dal client.

  4. Decisione sui criteri

    Il servizio OCI Identity and Access Management (PDP) valuta il token e restituisce una decisione da consentire o negare.

  5. Concessione dell'accesso ai backend

    Il gateway API OCI (PEP) concede o nega l'accesso ai servizi backend (ad esempio microservizi in esecuzione in Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), Funzioni OCI, Storage degli oggetti OCI o a un endpoint di servizio esposto da un'applicazione in esecuzione in VM) in base al risultato della decisione sui criteri IAM.

  6. Risposta (200 OK / 403 Vietato)

    Il gateway API OCI (PEP) restituisce lo stato 200 OK (consenti) o 403 Non consentito (nega) al chiamante.

È possibile utilizzare le chiamate Console o GUI e REST OCI per configurare l'implementazione di questa integrazione.

L'architettura presenta i seguenti componenti:

  • API Gateway

    Il servizio OCI API Gateway ti consente di pubblicare le API con endpoint privati accessibili dall'interno della tua rete e che, se necessario, puoi esporre alla rete Internet pubblica. Gli endpoint supportano la convalida delle API, la trasformazione delle richieste e delle risposte, il CORS, l'autenticazione e l'autorizzazione e la limitazione delle richieste.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) è il piano di controllo dell'accesso per Oracle Cloud Infrastructure (OCI) e Oracle Cloud Applications. L'API IAM e l'interfaccia utente consentono di gestire i domini di Identity e le risorse all'interno del dominio di Identity. Ogni dominio di Identity IAM OCI rappresenta una soluzione standalone per la gestione delle identità e degli accessi o una popolazione di utenti diversa.

    IAM ti consente di controllare chi può accedere alle tue risorse in OCI e alle operazioni che possono eseguire su tali risorse.

  • Criterio

    Un criterio di Oracle Cloud Infrastructure Identity and Access Management specifica chi può accedere a quali risorse e come. L'accesso viene concesso a livello di gruppo e compartimento. Ciò significa che è possibile scrivere un criterio che fornisce a un gruppo un tipo specifico di accesso all'interno di un compartimento specifico o alla tenancy.

  • Container Engine per Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) è un servizio completamente gestito, scalabile e ad alta disponibilità che puoi utilizzare per distribuire le tue applicazioni containerizzate nel cloud. Puoi specificare le risorse di computazione richieste dalle tue applicazioni e Container Engine for Kubernetes le esegue sul provisioning di Oracle Cloud Infrastructure in una tenancy esistente. Container Engine for Kubernetes utilizza Kubernetes per automatizzare l'implementazione, la scalabilità e la gestione di applicazioni containerizzate tra cluster di host.

  • Funzioni

    Oracle Cloud Infrastructure Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand e Functions-as-a-Service (FaaS). È alimentato dal motore open source Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o di attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.

  • storage degli oggetti

    Lo storage degli oggetti offre un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage senza problemi senza compromettere le prestazioni o l'affidabilità del servizio. Utilizza lo storage standard per lo storage "caldo" a cui è necessario accedere rapidamente, immediatamente e frequentemente. Utilizza lo storage di archivio per lo storage "freddo" che conservi per lunghi periodi di tempo e a cui accedi raramente o raramente.

Suggerimenti

Utilizzare i seguenti suggerimenti come punto di partenza. Le vostre esigenze potrebbero differire dall'architettura descritta qui.
  • Sicurezza

    Utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure (OCI) in modo proattivo. Oracle Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse alla ricerca di punti deboli nella sicurezza e per monitorare operatori e utenti per attività rischiose. Quando viene rilevata un'attività di configurazione errata o non sicura, Oracle Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette del rispondente che è possibile definire.

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, OCI convalida le operazioni rispetto ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Cloud Guard

    Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette personalizzate del rilevatore e del rispondente. Queste ricette consentono di specificare il tipo di violazione della sicurezza che genera un'avvertenza e le azioni consentite per l'esecuzione. Ad esempio, potresti voler rilevare i bucket OCI Object Storage con visibilità impostata su Pubblico.

    Applica Oracle Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre l'onere amministrativo legato alla gestione di più configurazioni.

    È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.

Considerazioni

Quando si implementa questa architettura di riferimento, tenere presente quanto riportato di seguito.

  • Provisioning e controllo dell'accesso degli utenti

    Quando ai clienti viene concesso l'accesso ai servizi di dati e backend, come viene eseguito il provisioning in Oracle Cloud Infrastructure Identity and Access Management (che li autentica)? Come viene annullato il provisioning quando i diritti di accesso devono essere revocati? Queste considerazioni emergono come parte della discussione più ampia su come e a chi sono resi disponibili i prodotti di dati monetizzati.

  • Prestazioni

    Oracle Cloud Infrastructure API Gateway supporta l'inserimento delle risposte nella cache mediante l'integrazione con un server cache esterno (ad esempio un server Redis o KeyDB), che consente di evitare carichi non necessari sui servizi backend. Con le risposte inserite nella cache, richieste simili vengono completate recuperando i dati da una cache delle risposte anziché inviando la richiesta al servizio backend. Ciò riduce il carico sui servizi backend, migliorando le prestazioni e riducendo i costi.

    Inoltre, OCI API Gateway inserisce nella cache i token di autenticazione in base al time-to-live (TTL), riducendo il carico sul provider di identità e migliorando le prestazioni.

  • Sicurezza

    I servizi Oracle Cloud Infrastructure (OCI) utilizzano i criteri OCI Identity and Access Management, ad esempio consentendo al gateway API OCI di richiamare le funzioni. Il gateway API OCI può anche controllare l'accesso utilizzando l'autenticazione e l'autorizzazione OAuth. L'autenticazione e l'autorizzazione possono essere federate tramite OCI Identity and Access Management, che offre al gateway API OCI la possibilità di eseguire l'autenticazione su una vasta gamma di servizi e impostazioni di autenticazione.

  • Alta disponibilità

    Prendi in considerazione l'utilizzo di un'opzione ad alta disponibilità in base ai requisiti di distribuzione e all'area geografica. Le opzioni includono la distribuzione delle risorse tra più domini di disponibilità in un'area e la distribuzione delle risorse tra i domini di errore all'interno di un dominio di disponibilità. I domini di errore offrono la migliore resilienza per i carichi di lavoro distribuiti all'interno di un singolo dominio di disponibilità. Per l'alta disponibilità nel livello di applicazione, distribuire gli Application Server in domini di errore diversi e utilizzare un load balancer per distribuire il traffico client tra gli Application Server.

Conferme

Autore:

  • Subba Bhamidipati