Aktualisierung der Benutzerpool- und App-Client-Konfiguration - Amazon Cognito

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.

Aktualisierung der Benutzerpool- und App-Client-Konfiguration

Wenn Sie eine Einstellung in einem Benutzerpool oder App-Client ändern möchten, können Sie das Update mit wenigen Klicks in der Amazon Cognito Cognito-Konsole anwenden. Sie navigieren durch die funktionsbasierten Registerkarten in Ihren Benutzerpool-Einstellungen und Aktualisierungsfeldern, wie in anderen Bereichen dieses Handbuchs beschrieben.

Viele Organisationen verwalten ihre Ressourcen programmgesteuert in Anwendungen AWS CloudFormation, die auf dem OP basierenCDK, und AWS SDKs anderer Automatisierungssoftware. Wenn dies Ihr Ressourcenverwaltungsmodell ist, müssen Sie besonders vorsichtig sein, wenn Sie Änderungen an Ihren Ressourcen vornehmen.

Die API Operationen UpdateUserPoolund das UpdateUserPoolClientVornehmen von Aktualisierungen an einem vorhandenen Benutzerpool oder App-Client. Jedes Attribut enthält eine Warnung in der API Referenz: Wenn Sie keinen Wert für ein Attribut angeben, setzt Amazon Cognito es auf den Standardwert. Wenn Sie eine Aktualisierungsanfrage mit nur einem Parameter einreichen, setzt Amazon Cognito diesen Parameter auf den Wert Ihrer Wahl und setzt alle anderen auf einen Standardwert. Dadurch können Konfigurationen wie Ihr Attributschema, Ihre Lambda-Trigger und Ihre E-Mail- und SMS Nachrichtenkonfiguration zurückgesetzt werden.

Darüber hinaus sind einige Einstellungen gesperrt, nachdem Sie Ihren Benutzerpool oder App-Client erstellt haben. Sie können sie nur ändern, wenn Sie eine neue Ressource erstellen.

Einstellungen, die Sie nicht ändern können

Nachdem Sie einen Benutzerpool erstellt haben, können Sie einige dieser Einstellungen nicht mehr ändern. Wenn Sie die folgenden Einstellungen ändern möchten, müssen Sie einen neuen Benutzerpool oder App-Client erstellen.

Name des Benutzerpools

APIName des Parameters: PoolName

Der Anzeigename, den Sie Ihrem Benutzerpool zugewiesen haben. Wenn Sie den Namen eines Benutzerpools ändern möchten, erstellen Sie einen neuen Benutzerpool.

Anmeldeoptionen für den Amazon-Cognito-Benutzerpool

APIParameternamen: AliasAttributesund UsernameAttributes

Die Attribute, die Ihre Benutzer beim Anmelden als Benutzernamen übergeben können. Wenn Sie einen Benutzerpool erstellen, können Sie die Anmeldung mit Benutzername, E-Mail-Adresse, Telefonnummer oder einem bevorzugten Benutzernamen zulassen. Wenn Sie die Anmeldeoptionen für den Benutzerpool ändern möchten, erstellen Sie einen neuen Benutzerpool.

Make user name case sensitive (Groß- und Kleinschreibung bei Benutzernamen beachten)

APIParametername: UsernameConfiguration

Wenn Sie einen Benutzernamen erstellen, der mit Ausnahme der Groß-/Kleinschreibung mit einem anderen Benutzernamen übereinstimmt, kann Amazon Cognito diesen entweder als denselben Benutzer oder als eindeutigen Benutzer behandeln. Weitere Informationen finden Sie unter Berücksichtigung der Groß-/Kleinschreibung im Benutzerpool. Wenn Sie die Groß-/Kleinschreibung ändern möchten, erstellen Sie einen neuen Benutzerpool.

Clientschlüssel

APIParametername: GenerateSecret

Wenn Sie einen App-Client erstellen, können Sie einen Client-Schlüssel generieren, damit nur vertrauenswürdige Quellen Anfragen an Ihren Benutzerpool stellen können. Weitere Informationen finden Sie unter Anwendungsspezifische Einstellungen mit App-Clients. Wenn Sie einen Client-Schlüssel ändern möchten, erstellen Sie einen neuen App-Client im selben Benutzerpool.

Erforderliche Attribute

APIParametername: Schema

Die Attribute, für die Ihre Benutzer Werte angeben müssen, wenn sie sich anmelden oder wenn Sie sie erstellen. Weitere Informationen finden Sie unter Mit Benutzerattributen arbeiten. Wenn Sie die erforderlichen Attribute ändern möchten, erstellen Sie einen neuen Benutzerpool.

Custom attributes (Benutzerdefinierte Attribute)

APIParametername: Schema

Attribute mit benutzerdefinierten Namen. Sie können den Wert des benutzerdefinierten Attributs eines Benutzers ändern, aber Sie können kein benutzerdefiniertes Attribut aus Ihrem Benutzerpool löschen. Weitere Informationen finden Sie unter Mit Benutzerattributen arbeiten. Wenn Sie die maximale Anzahl benutzerdefinierter Attribute erreicht haben und die Liste ändern möchten, erstellen Sie einen neuen Benutzerpool.

SMSKonfiguration

Nachdem Sie SMS Nachrichten in Ihrem Benutzerpool aktiviert haben, können Sie sie nicht mehr deaktivieren.

  • Wenn Sie sich beim Erstellen eines Benutzerpools dafür entscheiden, SMS Nachrichten zu konfigurieren, können Sie sie SMS nach Abschluss der Einrichtung nicht mehr deaktivieren.

  • Sie können SMS Nachrichten in einem Benutzerpool aktivieren, den Sie erstellt haben, aber danach können Sie sie nicht mehr deaktivierenSMS.

  • Amazon Cognito kann SMS Nachrichten für die Einladung und Wiederherstellung von Benutzerkonten, die Überprüfung von Attributen und die Multi-Faktor-Authentifizierung () MFA verwenden. Nachdem Sie SMS Nachrichten aktiviert haben, können Sie SMS Nachrichten für diese Funktionen jederzeit ein- oder ausschalten.

  • SMSDie Nachrichtenkonfiguration beinhaltet eine IAM Rolle, die Sie an Amazon Cognito delegieren, um Nachrichten mit Amazon zu senden. SNS Sie können die zugewiesene Rolle jederzeit ändern.

Aktualisierung eines Benutzerpools mit einem AWS SDK AWS CDK, oder REST API

In der Amazon Cognito Cognito-Konsole können Sie die Einstellungen Ihres Benutzerpools für jeden Parameter ändern. Um beispielsweise einen Lambda-Trigger hinzuzufügen, wählen Sie Lambda-Trigger hinzufügen und wählen die Funktion und den Triggertyp aus. Die Amazon Cognito Cognito-Benutzerpools API sind so strukturiert, dass Aktualisierungsvorgänge für Benutzerpools und App-Clients alle Parameter für den Benutzerpool erfordern. Die Konsole automatisiert diesen Aktualisierungsvorgang jedoch auf transparente Weise mit Ihren anderen Benutzerpool-Einstellungen.

Möglicherweise stellen Sie manchmal fest, dass eine Änderung an einer anderen Stelle in Ihrem AWS-Konto System dazu führen kann, dass Updates einen Fehler generieren, wenn sie nicht mit der Einstellung zusammenhängen, die Sie ändern möchten. Eine gelöschte SES Amazon-Identität oder eine Änderung einer IAM Erlaubnis für AWS WAF, zum Beispiel. Wenn einer der aktuellen Parameter nicht mehr gültig ist, können Sie Ihre Einstellungen erst aktualisieren, wenn Sie ihn behoben haben. Wenn Sie auf einen solchen Fehler stoßen, überprüfen Sie die Fehlerreaktion und überprüfen Sie die darin erwähnte Einstellung.

Die AWS Cloud Development Kit (AWS CDK)Amazon Cognito Cognito-Benutzerpools REST API und AWS SDKssind Tools für die Automatisierung und programmatische Konfiguration von Amazon Cognito Cognito-Ressourcen. Anfragen mit diesen Tools müssen ebenfalls, wie bei der Amazon Cognito-Konsole, eine Einstellung mit einer vollständigen Ressourcenkonfiguration im Anfragetext aktualisieren. Auf einer höheren Ebene müssen Sie den folgenden Prozess ausführen.

  1. Erfassen Sie die Ausgabe eines Vorgangs, der die Konfiguration Ihrer vorhandenen Ressource beschreibt.

  2. Ändern Sie die Ausgabe mit Ihren geänderten Einstellungen.

  3. Senden Sie die geänderte Konfiguration in einem Vorgang, der Ihre Ressource aktualisiert.

Mit dem folgenden Verfahren wird Ihre Konfiguration mit dem UpdateUserPoolAPIVorgang aktualisiert. Derselbe Ansatz mit unterschiedlichen Eingabefeldern gilt für UpdateUserPoolClient.

Wichtig

Wenn Sie keine Werte für vorhandene Parameter angeben, legt Amazon Cognito diese auf Standardwerte fest. Wenn Sie zum Beispiel einen vorhandenen LambdaConfig-Wert haben und einen UpdateUserPool mit einer leeren LambdaConfig senden, löschen Sie die Zuordnung aller Lambda-Funktionen zu Benutzerpool-Auslösern. Planen Sie entsprechend, wenn Sie Änderungen an Ihrer Benutzerpool-Konfiguration automatisieren möchten.

  1. Erfassen Sie den aktuellen Status Ihres Benutzerpools mit DescribeUserPool.

  2. Formatieren Sie die Ausgabe von DescribeUserPool den Anfrageparametern von UpdateUserPool entsprechend. Entfernen Sie die folgenden Felder der obersten Ebene und ihre untergeordneten Objekte aus der AusgabeJSON.

    • Arn

    • CreationDate

    • CustomDomain

    • Domain

    • EmailConfigurationFailure

    • EstimatedNumberOfUsers

    • Id

    • LastModifiedDate

    • Name

    • SchemaAttributes

    • SmsConfigurationFailure

    • Status

  3. Vergewissern Sie sich, dass das Ergebnis den Anforderungsparametern von JSON entsprichtUpdateUserPool.

  4. Ändern Sie alle Parameter, die Sie im Ergebnis ändern möchtenJSON.

  5. Senden Sie eine UpdateUserPool API Anfrage mit Ihrer Änderung JSON als Anforderungseingabe.

Sie können auch diese modifizierte Ausgabe DescribeUserPool im Parameter --cli-input-json von update-user-pool in der AWS CLI verwenden.

Führen Sie alternativ den folgenden AWS CLI Befehl aus, um JSON mit leeren Werten für die akzeptierten Eingabefelder für update-user-pool zu generieren. Anschließend können Sie diese Felder mit den vorhandenen Werten aus Ihrem Benutzerpool füllen.

aws cognito-idp update-user-pool --generate-cli-skeleton --output json

Führen Sie den folgenden Befehl aus, um dasselbe JSON Objekt für einen App-Client zu generieren.

aws cognito-idp update-user-pool-client --generate-cli-skeleton --output json