Funktionen von Amazon Verified Permissions
Definieren Ihres Autorisierungsmodells
Schema
Mit der Unterstützung für Cedar können Sie Ihr Schema in Bezug auf jeden Entitätstyp definieren, einschließlich der für das Autorisierungsmodell relevanten Attribute und der gültigen Kombinationen aus Prinzipaltypen, Ressourcentypen und Aktionen. Verified Permissions verwendet das Schema, um zu überprüfen, ob eine statische Richtlinie oder Richtlinienvorlage mit dem Autorisierungsmodell der Anwendung übereinstimmt. Sie können JSON verwenden, um ein Schema in Verified Permissions zu definieren. Es hat eine gewisse Ähnlichkeit mit dem JSON-Schema, verwendet jedoch einzigartige Aspekte der Cedar-Richtliniensprache. Sie können Aktionsgruppen in Ihrem Schema definieren. Dabei handelt es sich um Richtlinien, die Aktionsgruppen zulassen oder verbieten.
Autorisierungsanfragen
Verbinden Sie Ihre Anwendung über die API mit dem Service, um Benutzerzugriffsanfragen zu autorisieren. Für jede Autorisierungsanforderung ruft der Service die relevanten Richtlinien ab und wertet diese Cedar-basierten Richtlinien aus, um zu bestimmen, ob ein Benutzer unter Berücksichtigung von Kontexteingaben wie Benutzern, Rollen, Gruppenmitgliedschaften und Attributen eine Aktion für eine Ressource ausführen darf.
Verwaltung und Validierung von Richtlinien
Richtlinienspeicher
Ein Richtlinienspeicher ist ein Container mit Cedar-basierten Richtlinien in geprüften Berechtigungen, der logisch von anderen Containern isoliert ist. Sie können all Ihre hierarchischen Beziehungen und Konfigurationen in einem einzigen Richtlinienspeicher erstellen, um Richtlinien und Richtlinienvorlagen von anderen Richtlinienspeichern zu unterscheiden. Richtlinienspeicher sind in der Regel jeder Anwendung zugeordnet und ermöglichen es Ihnen, unterschiedliche Konfigurationen und Schemaregeln für mehrere Mandanten zu erstellen, ohne sie gemeinsam nutzen oder Verbindungen zwischen ihnen herstellen zu müssen. Sie könnten beispielsweise für jeden Mandanten, der eine Anwendung mit verifizierten Berechtigungen verwendet, einen separaten Richtlinienspeicher einrichten. Sie können den Richtlinienspeicher eines Mandanten löschen, ohne dass sich dies auf die Ressourcen, Schemas, Richtlinien und Richtlinienvorlagen eines anderen Richtlinienspeichers auswirkt.
Prüfstandfunktion
Der Prüfstand ist ein Tool zum Testen und zur Fehlerbehebung von Richtlinien für verifizierte Berechtigungen, indem eine simulierte Autorisierungsanforderung für alle Cedar-basierten Richtlinien in Ihrem Richtlinienspeicher ausgeführt wird. Der Prüfstand verwendet die von Ihnen angegebenen Parameter, um festzustellen, ob die Richtlinien in Ihrem Richtlinienspeicher die Anfrage autorisieren würden.
Richtlinienvorlagen
Sie können eine Richtlinienvorlage verwenden. Dabei handelt es sich um eine Cedar-basierte Richtlinienanweisung mit Platzhaltern im Geltungsbereich, die mit bestimmten Werten ausgefüllt werden sollen. Eine Richtlinienvorlage kann Platzhalter für den Prinzipal, die Ressource oder beides enthalten. Aktualisierungen der Richtlinienvorlage wirken sich auf alle Prinzipale und Ressourcen aus, die die Vorlage verwenden. Dies wird auch als vorlagenverknüpfte Richtlinien bezeichnet.
Wir empfehlen die Verwendung von Richtlinienvorlagen zum Erstellen von Cedar-basierten Richtlinien, die in Ihrer gesamten Anwendung gemeinsam genutzt werden können. Sie könnten beispielsweise eine Richtlinienvorlage für einen Editor erstellen, die Lese-, Bearbeitungs- und Kommentarberechtigungen für den Prinzipal und die Ressource bereitstellt, die die Richtlinienvorlage verwenden. Sie können auch Richtlinienvorlagen verwenden, um grobkörnige, mittelkörnige und feinkörnige Zugriffskontrollen für Ihre Anwendungen zu definieren. Sie könnten beispielsweise Richtlinienvorlagen verwenden, um bestimmte Benutzer einer Gruppe zuzuweisen, mittelgradige Steuerungen, um den Zugriff auf bestimmte Ressourcen zuzuweisen, und feingranulare Kontrollen für die detailliertesten Attribute von Ressourcen verwenden.
Abfragen und Prüfen von Richtlinien
Richtlinien abfragen
Mithilfe der APIs für verifizierte Berechtigungen können Sie spezifische Abfragen anhand der in Verified Permissions gespeicherten Richtlinien ausführen. Sie können Ihre Richtlinien abfragen, um festzustellen, welche auf bestimmte Prinzipale, bestimmte Ressourcen oder beides angewendet werden.
Prüfung und Protokollierung
Sie können verifizierte Berechtigungen konfigurieren und verbinden, um Ihre Richtlinienverwaltungs- und Autorisierungsprotokolle an AWS CloudTrail zu senden.
Integrationen und Erweiterbarkeit
Integration mit Amazon Cognito
Sie können Ihr Authentifizierungstoken von Amazon Cognito an eine Autorisierungsanfrage übergeben, die über Verified Permissions ausgeführt wird. Auf diese Weise können Sie Identitätsanbieter-Attribute direkt an eine Richtlinienbewertung übergeben und damit in eine Autorisierungsentscheidung einfließen lassen, die von Verified Permissions generiert wird.
Integration mit AWS CloudFormation
Verified Permissions ist in CloudFormation integriert, einen Service, der Ihnen hilft, Ihre AWS-Ressourcen zu modellieren und einzurichten, sodass Sie weniger Zeit mit der Erstellung und Verwaltung Ihrer Ressourcen und Infrastruktur verbringen können. Sie erstellen eine Vorlage mit allen AWS-Ressourcen, die Sie nutzen möchten. CloudFormation übernimmt die Bereitstellung und Konfiguration dieser Ressourcen für Sie.
Erweiterbarkeit
Das Verified Permissions SDK ist mit C++, Go, Java, JavaScript, Kotlin, .NET, Node.js, PHP, Python, Ruby, Rust und Swift verfügbar.