Amazon Verified Permissions ist ein skalierbares, fein abgestuftes Service zur Verwaltung von Berechtigungen und Autorisierungen für die Anwendungen, die Sie entwickeln. Mit diesem Service können Ihre Entwickler sicherere Anwendungen schneller erstellen, indem sie die Autorisierung auslagern und die Richtlinienverwaltung und -verwaltung zentralisieren. Entwickler können ihren Anwendungszugriff an den Zero-Trust-Prinzipien ausrichten, indem sie innerhalb der Anwendungen die geringste Berechtigung und die kontinuierliche Überprüfung implementieren. Sicherheits- und Prüfungsteams können besser analysieren und prüfen, wer innerhalb von Anwendungen auf was Zugriff hat. Verified Permissions verwendet Cedar, eine speziell entwickelte Open-Source-Richtliniensprache, bei der Sicherheit an erster Stelle steht, um richtlinienbasierte Zugriffskontrollen mithilfe von Rollen und Attributen für eine detailliertere, kontextsensitive Zugriffskontrolle zu definieren.
Definieren Ihres Autorisierungsmodells
Schema
Sie definieren Ihr Schema anhand der einzelnen Entitätstypen, einschließlich der für das Autorisierungsmodell relevanten Attribute und der gültigen Kombinationen von 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 Dienst die relevanten Richtlinien ab und bewertet diese Richtlinien, um festzustellen, ob ein Benutzer anhand von Kontexteingaben wie Benutzern, Rollen, Gruppenzugehörigkeit und Attributen eine Aktion für eine Ressource ausführen darf.
Verwaltung und Validierung von Richtlinien
Richtlinienspeicher
Ein Richtlinienspeicher ist ein Container mit Richtlinien in Verified Permissions, 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
Die Prüftandfunktion ist ein Tool zum Testen und zur Problembehebung von Richtlinien für verifizierte Berechtigungen, indem eine simulierte Autorisierungsanfrage für alle 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, bei der es sich um eine Richtlinienerklärung mit Platzhaltern im Geltungsbereich handelt, die mit bestimmten Werten gefüllt werden sollen. Eine Richtlinienvorlage kann Platzhalter für den Prinzipal, die Ressource oder beide enthalten. Aktualisierungen der Richtlinienvorlage wirken sich auf alle Prinzipale und Ressourcen aus, die die Vorlage verwenden, was auch als vorlagenverknüpfte Richtlinie bezeichnet wird.
Wir empfehlen die Verwendung von Richtlinienvorlagen, um Richtlinien zu erstellen, 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.