0

Ich versuche eine Webanwendung zu erstellen, auf die jeder Benutzer zugreifen kann, der sich bei Facebook anmeldet. Ich möchte AWS Cognito verwenden, um die Entwicklung für das Benutzermanagement zu beschleunigen.Verschiedene Zugriffsebenen für AWS Cognito

Es 3 Art der Benutzer haben muss:

  • Normale Benutzer - jeder Benutzer, die mit Facebook einloggt
  • Editors - Benutzer, die eine andere Zugriffsebene (? IAM Rolle) haben, können sie anrufen eine bestimmte AWS Lambda-Funktion, die normale Benutzer nicht aufrufen können.
  • Administratoren - Benutzer, die den Status von normalen Benutzer ändern können sie Redakteure oder Administratoren

Kann jemand bitte zeigen Sie mir in die richtige Richtung zu machen? Ich habe AWS Cognito Identity Pool eingerichtet, bin mir aber nicht sicher, ob ich einen Benutzerpool einrichten muss oder wie ich einem Benutzer eine andere Rolle oder Richtlinie zuweisen kann, um ihn zu einem Administrator oder Editor zu machen (unterschiedliche Zugriffsebenen für andere) AWS-Ressourcen), wenn ich in meiner Web-App die Benutzerliste von Cognito (nur für einen authentifizierten Administrator) abrufen kann und wie ich ihm erlaube, andere Benutzerrollen zu ändern.

Einige Tutorials, Dokumentationen oder zumindest eine kurze Beschreibung, wie ich das machen könnte, würden mir sehr helfen.

Optional: Benutzer können sich nicht nur bei Facebook anmelden, sondern auch mit E-Mail/Pass und haben die gleiche Funktionalität.

Antwort

1

Sie sollten die Funktion 'Rollenbasierte Zugriffssteuerung' von Cognito föderierten Identitäten verwenden können. Dies ist der relevante Teil des Dokuments: http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html

Wenn Sie nur Facebook verwenden, können Sie Facebook sub verwenden, um die entsprechende Rolle zuzuweisen.

Wenn Sie Benutzername und Kennwort-basierte Anmeldung mit Benutzerpool verwenden, können Sie Gruppenunterstützung verwenden und Editorengruppe erstellen und entsprechende Berechtigungen zuweisen.

Anstatt Administratoren mit föderierten Identitäten oder Benutzerpools zu verwalten, ist die direkte Verwendung von IAM-Benutzern wahrscheinlich eine bessere Idee. Dieser IAM-Benutzer verfügt über die vollständige Berechtigung zum Ändern/Hinzufügen von Identitätspoolregeln oder Benutzerpoolgruppen.

+0

Also sind die Administratoren dann IAM-Benutzer und die Editoren und normalen Benutzer werden Cognito-Benutzer sein? Und jeder Admin hat die Erlaubnis, die Editoren zu ändern, um cognito Benutzer-IDs einzeln hinzuzufügen? Damit Cognito-Benutzer, die der Editor-Richtlinie hinzugefügt werden, über Editor-Rechte verfügen. –

+1

Um zu verdeutlichen, dass Sie die Richtlinie für Cognito-Regeln verwenden möchten, um dies zu verdeutlichen, dann klicken Sie auf Ja. –

+0

ok, also die letzten Fragen: 1) ist es eine gute Praxis, die Liste der IDs (Redakteure in diesem Fall) in der Richtlinie zu haben und fügen Sie die neuen darin hinzu? 2) kann ich den Admin einschränken, so dass er nur den Benutzern erlauben kann, Redakteure zu sein und auf diese Lambda-Funktion zuzugreifen (damit sie Superbenutzern keinen Zugang zu normalen Benutzern geben können) 3) wird es für Facebook geloggt gleich funktionieren Benutzer und Cognito-Benutzer mit Benutzernamen/Passwort angemeldet? –