PDP und PEP entkoppeln, um Zero-Trust-Architektur auf Oracle Cloud zu unterstützen

Um Risiken durch ständige Bedrohungen zu reduzieren, sollte eine Zero-Trust-Architektur eine separate Control Plane für Policy Decision Point (PDP) verwenden und den Policy Enforcement Point (PEP) in einer Data Plane implementieren. Sie können Oracle Cloud-Services verwenden, um Ihre Zero-Trust-Architektur zu unterstützen und die Zugriffskontrolle in Oracle Cloud für Ihre PDP- und PEP-Implementierung zu verbessern.

Oracle Cloud Infrastructure (OCI) bietet eine überzeugende Reihe von Sicherheitsfunktionen zum Schutz geschäftskritischer Workloads und sensibler Daten. Oracle Cloud implementiert ein Zero-Trust-Sicherheitsmodell, das von der Zero-Trust-Architektur des National Institute of Standards and Technology (NIST) geprägt ist. Mit diesem Modell können Sie eine strenge Sicherheitslage durchsetzen, die eine Überprüfung durch jeden Benutzer erfordert, der versucht, Zugriff auf Systeme, Netzwerke und Daten zu erhalten.

Sie können OCI Identity and Access Management und OCI API Gateway integrieren, um eine Trennung zwischen PDP und PEP zu erreichen.

Identity and Access Management (IAM)

Oracle Cloud bietet eine Identity-as-a-Service-(IDaaS-)Plattform der Unternehmensklasse mit dem Namen OCI Identity and Access Management. OCI Identity and Access Management verwendet Identitätsdomains, um Cloud-Identitäten, Benutzer und sichere Anwendungen bereitzustellen. Sie können OCI Identity and Access Management mit Identitätsdomains als PDP verwenden, um den Zugriff auf verschiedene Cloud-Ressourcen oder -Services zuzulassen oder zu verweigern, indem Sie granulare Policys definieren.

Die Identitätsplattform dient sowohl als Haustür für Cloud-Services als auch als eigenständige Identity-as-a-Service-(IDaaS-)Plattform für Unternehmensbenutzer und -verbraucher. Diese Plattform bietet wichtige Identitätsmanagementfunktionen für Anwendungen und Services, die in Oracle Cloud, Clouds von Drittanbietern und Ihren On-Premise-Data Centern ausgeführt werden. OCI Identity and Access Management bietet Authentifizierung, Single Sign-On (SSO) und Identitätslebenszyklusmanagement für Oracle Cloud und für Oracle- und Nicht-Oracle-Anwendungen, unabhängig davon, ob sie SaaS, in der Cloud gehostet oder On Premise sind. Mit IAM können Sie auch kontrollieren, welchen Zugriffstyp eine Benutzergruppe hat und auf welche spezifischen Cloud-Ressourcen sie zugreifen können.

API Gateway

Oracle Cloud entwickelt Services mit einem Security-First-Designansatz. Mit diesem Ansatz können Sie mit Services wie dem OCI-API-Gateway Datenzugriffs-Policys erstellen, die nur autorisierten Benutzern oder Anwendungen den Zugriff auf die Daten im gesamten Unternehmen ermöglichen.

Mit dem OCI-API-Gateway-Service können Sie gesteuerte HTTP/S-Schnittstellen (APIs) für mehrere Backends erstellen, einschließlich Oracle Cloud-Services wie OCI Load Balancing, OCI Functions, OCI Compute-Instanzen und On-Premise-Anwendungen, die über ein VPN oder OCI FastConnect mit Oracle Cloud verbunden sind. OCI API Gateway bietet Policy Enforcement-Features wie Ratenbegrenzung auf HTTP/S-Endpunkte, Authentifizierung bei Identitätsprovidern und Zugriff auf mehrere RESTful-Services sowohl in der Cloud als auch On Premise.

OCI-API-Gateway stellt sicher, dass der Aufrufer authentifiziert ist, sodass die mit dem Gateway verbundenen Backends nicht anonym aufgerufen werden können. OCI-API-Gateway kann auch die Autorisierung prüfen. Sie können einem Backend-Service HTTP- und HTTP/S-URLs hinzufügen, um diesen Services Frontend-Zugriff mit Policy Enforcement zu erteilen. Die HTTP/S-URLs, die Sie für den Backend-Service angeben, können eine der folgenden sein:

  • Die URL eines Oracle Cloud-Service (z.B. OCI Functions oder OCI Object Storage)
  • Die URL eines Service in Ihrem eigenen privaten oder internen Netzwerk, der über VPN oder OCI FastConnect mit OCI verbunden ist

Architektur

Dieses Architekturdesign beschreibt die Integration zwischen OCI Identity and Access Management und OCI API Gateway. In dieser Architektur fungiert OCI API Gateway als PEP, indem die Policys durchgesetzt werden. OCI Identity and Access Management fungiert als PDP, indem es das Token autorisiert und autorisierten Benutzern Zugriff erteilt. Diese Integration nutzt JWT- oder JSON-Web-Token, das auch als Zugriffstoken bezeichnet wird. JWT ist ein offener Branchenstandard, mit dem Sie in andere IAM-Systeme integrieren können.

Das folgende Diagramm veranschaulicht diese Referenzarchitektur.

Beschreibung von zero-trust-pdp-pep-oci.png folgt
Beschreibung der Abbildung zero-trust-pdp-pep-oci.png

Zero-Trust-PDP-PeP-oci-oracle.zip

In den folgenden Schritten wird der Architekturautorisierungsablauf mit OCI API Gateway und OCI Identity and Access Management erläutert:
  1. Zugriffstoken generieren

    Die Clientanwendung des Endbenutzers verwendet die IAM-API, um ein JWT-Zugriffstoken aus OCI Identity and Access Management (PDP) zu generieren.

  2. Anruf mit Zugriffstoken (JWT)

    Das JWT-Zugriffstoken wird als Teil des HTTP-Anforderungsheaders jedes API-Aufrufs an OCI API Gateway gesendet. Optional kann das Token Geltungsbereiche enthalten, die speziell für die Ressourcen definiert sind.

  3. Policy-Verifizierung und JWT-Validierung mit IAM

    Das OCI-API-Gateway (PEP) ruft die IAM-Autorisierungs-API auf und übergibt das vom Client empfangene Zugriffstoken.

  4. Richtlinienentscheidung

    Der OCI Identity and Access Management-Service (PDP) wertet das Token aus und gibt eine Entscheidung zurück, die zugelassen oder abgelehnt werden soll.

  5. Zugriff auf Backends erteilen

    Das OCI-API-Gateway (PEP) erteilt oder verweigert Zugriff auf Backend-Services (wie Microservices, die in Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), OCI Functions, OCI Object Storage oder einem Serviceendpunkt ausgeführt werden, der von einer in VM ausgeführten Anwendung bereitgestellt wird) basierend auf dem Ergebnis der IAM-Policy-Entscheidung.

  6. Antwort (200 OK / 403 Verboten)

    Das OCI-API-Gateway (PEP) gibt den Status 200 OK (zulassen) oder 403 Verboten (ablehnen) an den Aufrufer zurück.

Mit der OCI-Konsole oder den GUI- und REST-Aufrufen können Sie die Implementierung dieser Integration konfigurieren.

Die Architektur umfasst die folgenden Komponenten:

  • API-Gateway

    Mit dem OCI-API-Gateway-Service können Sie APIs mit privaten Endpunkten veröffentlichen, auf die Sie über Ihr Netzwerk zugreifen können. Bei Bedarf können Sie auch das öffentliche Internet nutzen. Die Endpunkte unterstützen API-Validierung, Anforderungs- und Antworttransformation, CORS, Authentifizierung und Autorisierung sowie Anforderungsbegrenzung.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) ist die Zugriffskontrollebene für Oracle Cloud Infrastructure (OCI) und Oracle Cloud Applications. Mit der IAM-API und der Benutzeroberfläche können Sie Identitätsdomains und die Ressourcen innerhalb der Identitätsdomain verwalten. Jede OCI IAM-Identitätsdomain stellt eine eigenständige Identity and Access Management-Lösung oder eine andere Benutzerpopulation dar.

    Mit IAM können Sie kontrollieren, wer auf Ihre Ressourcen in OCI zugreifen kann und welche Vorgänge mit diesen Ressourcen ausgeführt werden können.

  • Policy

    Eine Oracle Cloud Infrastructure Identity and Access Management-Policy gibt an, wer auf welche Ressourcen zugreifen kann und wie. Der Zugriff wird auf Gruppen- und Compartment-Ebene erteilt. Sie können also eine Policy schreiben, die einer Gruppe einen bestimmten Zugriffstyp in einem bestimmten Compartment oder dem Mandanten gibt.

  • Container Engine for Kubernetes

    Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) ist ein vollständig verwalteter, skalierbarer und hoch verfügbarer Service, mit dem Sie Ihre Containeranwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und Container Engine for Kubernetes stellt sie in Oracle Cloud Infrastructure in einem vorhandenen Mandanten bereit. Container Engine for Kubernetes verwendet Kubernetes, um das Deployment, die Skalierung und die Verwaltung containerisierter Anwendungen auf mehreren Hostclustern zu automatisieren.

  • Functions

    Oracle Cloud Infrastructure Functions ist eine vollständig verwaltete, mehrmandantenfähige, hoch skalierbare, On-Demand-Funktionalität (FaaS). Es wird von der Open-Source-Engine Fn Project angetrieben. Mit Funktionen können Sie Ihren Code bereitstellen und entweder direkt aufrufen oder als Reaktion auf Ereignisse auslösen. Oracle Functions verwendet Docker-Container, die in Oracle Cloud Infrastructure Registry gehostet werden.

  • Object Storage

    Mit dem Objektspeicher können Sie schnell auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps zugreifen, darunter Datenbankbackups, analytische Daten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und geschützt speichern und dann direkt aus dem Internet oder aus der Cloud-Plattform abrufen. Sie können den Speicher nahtlos skalieren, ohne die Performance oder Servicezuverlässigkeit zu beeinträchtigen. Verwenden Sie Standardspeicher für "Hot Storage", auf den Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicher für "Cold Storage", den Sie über lange Zeiträume beibehalten möchten und auf den Sie nur selten zugreifen.

Empfehlungen

Verwenden Sie die folgenden Empfehlungen als Ausgangspunkt. Ihre Anforderungen können von der hier beschriebenen Architektur abweichen.
  • Sicherheit

    Mit Oracle Cloud Guard können Sie die Sicherheit Ihrer Ressourcen in Oracle Cloud Infrastructure (OCI) proaktiv überwachen und verwalten. Oracle Cloud Guard verwendet Detektorrezepte, die Sie definieren können, um Ihre Ressourcen auf Sicherheitslücken zu untersuchen und Operatoren und Benutzer auf riskante Aktivitäten zu überwachen. Wenn eine falsche Konfiguration oder unsichere Aktivität erkannt wird, empfiehlt Oracle Cloud Guard Korrekturmaßnahmen und unterstützt Sie bei der Ausführung dieser Aktionen basierend auf Responder-Rezepten, die Sie definieren können.

    Für Ressourcen, für die maximale Sicherheit erforderlich ist, empfiehlt Oracle die Verwendung von Sicherheitszonen. Eine Sicherheitszone ist ein Compartment, das mit einem von Oracle definierten Rezept von Sicherheits-Policys verknüpft ist, die auf Best Practices basieren. Beispiel: Die Ressourcen in einer Sicherheitszone dürfen nicht über das öffentliche Internet zugänglich sein und müssen mit vom Kunden verwalteten Schlüsseln verschlüsselt werden. Wenn Sie Ressourcen in einer Sicherheitszone erstellen und aktualisieren, validiert OCI die Vorgänge anhand der Policys im Rezept der Sicherheitszone und lehnt Vorgänge ab, die eine der Policys verletzen.

  • Cloud Guard

    Klonen und passen Sie die von Oracle bereitgestellten Standardrezepte an, um benutzerdefinierte Detektor- und Responder-Rezepte zu erstellen. Mit diesen Rezepten können Sie angeben, welcher Typ von Sicherheitsverletzungen eine Warnung generiert und welche Aktionen für sie ausgeführt werden dürfen. Beispiel: Sie möchten OCI Object Storage-Buckets ermitteln, deren Sichtbarkeit auf "Öffentlich" gesetzt ist.

    Wenden Sie Oracle Cloud Guard auf Mandantenebene an, um den größten Geltungsbereich abzudecken und den Verwaltungsaufwand für die Verwaltung mehrerer Konfigurationen zu reduzieren.

    Sie können auch das Feature "Verwaltete Liste" verwenden, um bestimmte Konfigurationen auf Detektoren anzuwenden.

Hinweise

Beachten Sie bei der Implementierung dieser Referenzarchitektur Folgendes:

  • Benutzer-Provisioning und Zugriffskontrolle

    Wie werden Kunden, denen Zugriff auf Daten und Backend-Services gewährt wird, in Oracle Cloud Infrastructure Identity and Access Management bereitgestellt (was sie authentifiziert)? Wie wird die Bereitstellung aufgehoben, wenn ihre Zugriffsrechte widerrufen werden sollen? Diese Überlegungen ergeben sich im Rahmen der breiteren Diskussion darüber, wie und wem monetarisierte Datenprodukte zur Verfügung gestellt werden.

  • Performance

    Oracle Cloud Infrastructure API Gateway unterstützt das Antwort-Caching durch Integration mit einem externen Cacheserver (wie einem Redis- oder KeyDB-Server), wodurch unnötige Last auf Backend-Services vermieden wird. Bei gecachten Antworten werden ähnliche Anforderungen abgeschlossen, indem Daten aus einem Antwortcache abgerufen werden, anstatt die Anforderung an den Backend-Service zu senden. Dadurch wird die Last für Backend-Services reduziert, wodurch die Performance verbessert und Kosten gesenkt werden.

    OCI API Gateway cacht Authentifizierungstoken auch basierend auf ihrer Gültigkeitsdauer (TTL), reduziert die Belastung des Identitätsproviders und verbessert die Performance.

  • Sicherheit

    Oracle Cloud Infrastructure-(OCI-)Services verwenden OCI Identity and Access Management-Policys. So kann OCI API Gateway Funktionen aufrufen. OCI-API-Gateway kann den Zugriff auch mit der OAuth-Authentifizierung und -Autorisierung kontrollieren. Authentifizierung und Autorisierung können über OCI Identity and Access Management föderiert werden. Dadurch erhält das OCI API Gateway die Möglichkeit, sich bei einer Vielzahl von Services und Authentifizierungssetups zu authentifizieren.

  • High Availability

    Verwenden Sie eine High Availability-Option basierend auf Ihren Deployment-Anforderungen und Ihrer Region. Die Optionen umfassen die Verteilung von Ressourcen auf mehrere Availability-Domains in einer Region und die Verteilung von Ressourcen auf die Faultdomains innerhalb einer Availability-Domain. Faultdomains bieten die beste Resilienz für Workloads, die in einer einzelnen Availability-Domain bereitgestellt werden. Für High Availability in der Application Tier stellen Sie die Anwendungsserver in verschiedenen Faultdomains bereit, und verwenden Sie einen Load Balancer, um Clienttraffic auf die Anwendungsserver zu verteilen.

Bestätigungen

Autor:

  • Subba Bhamidipati