Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden
In diesem Abschnitt sind einige wichtige Erkenntnisse aus diesem Leitfaden aufgeführt. Für ausführliche Erläuterungen zu den einzelnen Punkten folgen Sie den Links zu den entsprechenden Abschnitten.
Wählen Sie ein Zugriffskontrollmodell aus, das für Ihre Anwendung geeignet ist
In diesem Handbuch werden verschiedene Zugriffskontrollmodelle beschrieben. Abhängig von Ihrer Anwendung und Ihren Geschäftsanforderungen sollten Sie ein Modell auswählen, das für Sie geeignet ist. Überlegen Sie, wie Sie diese Modelle verwenden können, um Ihre Anforderungen an die Zugriffskontrolle zu erfüllen, und wie sich Ihre Anforderungen an die Zugriffskontrolle entwickeln könnten, sodass Änderungen an Ihrem ausgewählten Ansatz erforderlich sein könnten.
Implementieren Sie ein PDP
Der Policy Decision Point (PDP) kann als Richtlinien- oder Regelmodul bezeichnet werden. Diese Komponente ist dafür verantwortlich, Richtlinien oder Regeln anzuwenden und eine Entscheidung darüber abzugeben, ob ein bestimmter Zugriff zulässig ist. Ein PDP ermöglicht die Auslagerung der Autorisierungslogik im Anwendungscode auf ein separates System. Dies kann den Anwendungscode vereinfachen. Es bietet auch eine easy-to-use idempotente Schnittstelle für Autorisierungsentscheidungen für Microservices APIs, Backend for Frontend (BFF) -Schichten oder jede andere Anwendungskomponente. Ein PDP kann verwendet werden, um Mietanforderungen in einer Anwendung einheitlich durchzusetzen.
Implementieren Sie es PEPs für jede API in Ihrer Anwendung
Für die Implementierung eines Policy-Enforcement-Points (PEP) muss festgelegt werden, wo die Durchsetzung der Zugriffskontrolle in einer Anwendung erfolgen soll. Suchen Sie in einem ersten Schritt die Punkte in Ihrer Anwendung, die Sie integrieren PEPs können. Beachten Sie dieses Prinzip, wenn Sie entscheiden, wo Sie Folgendes hinzufügen möchten PEPs:
Wenn eine Anwendung eine API verfügbar macht, sollte es für diese API eine Autorisierung und Zugriffskontrolle geben.
Erwägen Sie die Verwendung von Amazon Verified Permissions oder OPA als Richtlinien-Engine für Ihr PDP
Amazon Verified Permissions bietet Vorteile gegenüber benutzerdefinierten Policy-Engines. Es handelt sich um einen skalierbaren, differenzierten Service zur Verwaltung und Autorisierung von Berechtigungen für die von Ihnen erstellten Anwendungen. Er unterstützt das Schreiben von Richtlinien in der deklarativen Open-Source-Hochsprache Cedar. Daher erfordert die Implementierung einer Policy-Engine mithilfe von Verified Permissions weniger Entwicklungsaufwand als die Implementierung Ihrer eigenen Lösung. Darüber hinaus wird Verified Permissions vollständig verwaltet, sodass Sie die zugrunde liegende Infrastruktur nicht verwalten müssen.
Der Open Policy Agent (OPA) bietet Vorteile gegenüber benutzerdefinierten Policy-Engines. OPA und seine Richtlinienbewertung mit Rego bieten eine flexible, vorgefertigte Policy-Engine, die das Schreiben von Richtlinien in einer deklarativen Sprache auf hoher Ebene unterstützt. Dadurch ist der Aufwand für die Implementierung einer Policy-Engine deutlich geringer als für die Entwicklung einer eigenen Lösung. Darüber hinaus entwickelt sich OPA schnell zu einem gut unterstützten Autorisierungsstandard.
Implementieren Sie eine Kontrollebene für OPA zur Überwachung DevOps und Protokollierung
Da OPA keine Möglichkeit bietet, Änderungen an der Autorisierungslogik über die Quellcodeverwaltung zu aktualisieren und nachzuverfolgen, empfehlen wir Ihnen, eine Steuerungsebene für diese Funktionen zu implementieren. Auf diese Weise können Updates einfacher an OPA-Agenten verteilt werden, insbesondere wenn OPA in einem verteilten System betrieben wird, wodurch der Verwaltungsaufwand bei der Verwendung von OPA reduziert wird. Darüber hinaus kann eine Kontrollebene verwendet werden, um Protokolle für die Aggregation zu sammeln und den Status der OPA-Agenten zu überwachen.
Konfigurieren Sie die Funktionen für Protokollierung und Beobachtbarkeit in Verified Permissions
Verified Permissions bietet einfachen Zugriff auf Observability-Funktionen. Sie können den Service so konfigurieren, dass er alle Zugriffsversuche auf CloudWatch Amazon-Protokollgruppen AWS CloudTrail, S3-Buckets oder Amazon Data Firehose-Lieferstreams protokolliert, um eine schnelle Reaktion auf Sicherheitsvorfälle und Prüfanfragen zu ermöglichen. Darüber hinaus können Sie den Zustand des Service über die überwachen. AWS Health Dashboard Da es sich bei Verified Permissions um einen verwalteten Dienst handelt, wird dessen Integrität durch andere verwaltete Dienste gewährleistet AWS, und Sie können seine Funktionen zur Überwachung mithilfe anderer AWS verwalteter Dienste konfigurieren.
Verwenden Sie eine CI/CD-Pipeline, um Richtlinienspeicher und Richtlinien in Verified Permissions bereitzustellen und zu aktualisieren
Verified Permissions ist ein verwalteter Service, sodass Sie keine Kontrollebenen oder Agenten verwalten, konfigurieren oder verwalten müssen, um Updates durchzuführen. Wir empfehlen jedoch weiterhin, eine CI/CD-Pipeline (Continuous Integration and Continuous Deployment) zu verwenden, um die Bereitstellung von Richtlinienspeichern und Richtlinienaktualisierungen für verifizierte Berechtigungen mithilfe des SDK zu verwalten. AWS Durch diesen Aufwand können Sie manuellen Aufwand vermeiden und die Wahrscheinlichkeit von Bedienfehlern verringern, wenn Sie Änderungen an Ressourcen mit verifizierten Berechtigungen vornehmen.
Stellen Sie fest, ob externe Daten für Autorisierungsentscheidungen erforderlich sind, und wählen Sie ein Modell aus, das diese Anforderungen berücksichtigt
Wenn ein PDP Autorisierungsentscheidungen ausschließlich auf der Grundlage von Daten treffen kann, die in einem JSON Web Token (JWT) enthalten sind, ist es in der Regel nicht erforderlich, externe Daten zu importieren, um diese Entscheidungen zu treffen. Wenn Sie Verified Permissions oder OPA als PDP verwenden, kann es auch zusätzliche Eingaben akzeptieren, die als Teil der Anfrage übergeben werden, auch wenn diese Daten nicht in einem JWT enthalten sind. Für verifizierte Berechtigungen können Sie einen Kontextparameter für die zusätzlichen Daten verwenden. Für OPA können Sie JSON-Daten als Überladungseingabe verwenden. Wenn Sie ein JWT verwenden, sind Kontext- oder Overload-Eingabemethoden im Allgemeinen viel einfacher als die Verwaltung externer Daten in einer anderen Quelle. Wenn komplexere externe Daten erforderlich sind, um Autorisierungsentscheidungen zu treffen, bietet OPA mehrere Modelle zum Abrufen externer Daten. Verified Permissions kann die Daten in seinen Autorisierungsanfragen ergänzen, indem sie mit einem Autorisierungsdienst auf externe Quellen verweisen.