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.
Arbeiten mit Amazon Cognito Cognito-Identitätsquellen
Verified Permissions arbeitet eng mit Amazon Cognito Cognito-Benutzerpools zusammen. Amazon Cognito JWTs hat eine vorhersehbare Struktur. Verified Permissions erkennt diese Struktur und zieht den größtmöglichen Nutzen aus den darin enthaltenen Informationen. Sie können beispielsweise ein Autorisierungsmodell für die rollenbasierte Zugriffskontrolle (RBAC) implementieren, das entweder ID-Token oder Zugriffstoken verwendet.
Die Identitätsquelle eines neuen Amazon Cognito Cognito-Benutzerpools benötigt die folgenden Informationen:
-
Das AWS-Region.
-
Die Benutzerpool-ID.
-
Der Haupt-Entitätstyp, den Sie Ihrer Identitätsquelle zuordnen möchten, zum Beispiel
MyCorp::User
. -
Der Entitätstyp der Prinzipalgruppe, den Sie Ihrer Identitätsquelle zuordnen möchten
MyCorp::UserGroup
. -
Der Client IDs aus Ihrem Benutzerpool, den Sie autorisieren möchten, Anfragen an Ihren Richtlinienspeicher zu stellen.
Da Verified Permissions nur mit Amazon Cognito Cognito-Benutzerpools in demselben funktioniert AWS-Konto, können Sie keine Identitätsquelle in einem anderen Konto angeben. Verified Permissions legt beispielsweise das Entitätspräfix — die ID der Identitätsquelle, auf die Sie in Richtlinien verweisen müssen, die sich auf Benutzerpool-Prinzipale beziehen — auf die ID Ihres Benutzerpools fest. us-west-2_EXAMPLE
In diesem Fall würden Sie auf einen Benutzer in diesem Benutzerpool mit der ID als verweisen a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
us-west-2_EXAMPLE|a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Ansprüche auf Benutzerpool-Tokens können Attribute, Bereiche, Gruppen IDs, Client- und benutzerdefinierte Daten enthalten. Amazon Cognito JWTs kann eine Vielzahl von Informationen, die zu Autorisierungsentscheidungen beitragen können, in Verifizierte Berechtigungen aufnehmen. Dazu zählen:
-
Nutzername und Gruppenansprüche mit einem Präfix
cognito:
-
Benutzerdefinierte Benutzerattribute mit einem
custom: prefix
-
Zur Laufzeit hinzugefügte benutzerdefinierte Ansprüche
-
OIDC-Standardansprüche wie und
sub
email
Wir behandeln diese Ansprüche ausführlich und erfahren, wie sie verwaltet werden, in den Richtlinien für verifizierte Berechtigungen, unter. Zuordnen Amazon Cognito Cognito-Token zum Schema
Wichtig
Sie können Amazon Cognito Cognito-Token zwar vor ihrem Ablauf widerrufen, sie JWTs gelten jedoch als zustandslose Ressourcen, die eigenständig sind und über eine Signatur und Gültigkeit verfügen. Von Diensten, die dem JSON Web Token RFC 7519
Das folgende Beispiel zeigt, wie Sie eine Richtlinie erstellen könnten, die auf einige Ansprüche der Amazon Cognito Cognito-Benutzerpools verweist, die mit einem Prinzipal verknüpft sind.
permit( principal, action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" ) when { principal["cognito:username"]) == "alice" && principal["custom:department"]) == "Finance" };
Das folgende Beispiel zeigt, wie Sie eine Richtlinie erstellen können, die auf einen Prinzipal verweist, der ein Benutzer in einem Cognito-Benutzerpool ist. Beachten Sie, dass die Prinzipal-ID die Form von "<userpool-id>|<sub>"
hat.
permit( principal == ExampleCo::User::"us-east-1_example|a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", action, resource == ExampleCo::Photo::"VacationPhoto94.jpg" );
Die Richtlinien von Cedar für Identitätsquellen in Benutzerpools in Verified Permissions verwenden eine spezielle Syntax für Anspruchsnamen, die andere Zeichen als alphanumerische Zeichen und Unterstriche () _
enthalten. Dazu gehören auch Ansprüche auf Benutzerpool-Präfixe, die ein :
Zeichen wie cognito:username
und enthalten. custom:department
Um eine Richtlinienbedingung zu schreiben, die auf den custom:department
Anspruch cognito:username
oder verweist, schreiben Sie sie jeweils als principal["cognito:username"]
undprincipal["custom:department"]
.
Anmerkung
Wenn ein Token einen Anspruch mit dem custom:
Präfix cognito:
oder und einen Anspruchsnamen mit dem wörtlichen Wert cognito
oder enthältcustom
, schlägt eine Autorisierungsanfrage mit a IsAuthorizedWithTokenValidationException
fehl.
Weitere Informationen zur Zuordnung von Ansprüchen finden Sie unterZuordnen Amazon Cognito Cognito-Token zum Schema. Weitere Informationen zur Autorisierung für Amazon Cognito-Benutzer finden Sie unter Autorisierung mit von Amazon verifizierten Berechtigungen im Amazon Cognito Developer Guide.