Anmeldung und Konten
Entscheiden Sie, wer ein Konto erstellen kann und wie sich Personen anmelden. Jede Anmelde-Methode von Antimatter funktioniert ohne Lizenz, einschließlich Single Sign-On und Verzeichnisdienste.
Wer kann ein Konto erstellen
Prüfen Sie direkt nach der Installation Systemkonsole › Authentifizierung › Registrierung. Mit den Standardwerten kann jeder, der einen Einladungslink zu einer Community hat, ein Konto erstellen, aber niemand kann sich ohne einen registrieren.
| Einstellung | Schlüssel | Standard | Funktion |
|---|---|---|---|
| Aktiviere Kontoerstellung | TeamSettings.EnableUserCreation | an | Aus, niemand kann auf irgendeine Weise ein Konto erstellen; nur Administratoren können dies (Systemkonsole oder amctl user create). |
| Aktiviere offenen Server | TeamSettings.EnableOpenServer | aus | Ein, jeder, der den Server erreicht, kann sich mit einer E-Mail-Adresse registrieren, ohne Einladung. Verwenden Sie dies nur für öffentliche Communities. |
| Neue System- und Teammitglieder auf bestimmte E-Mail-Domains beschränken | TeamSettings.RestrictCreationToDomains | leer | Durch Kommas getrennte Domains, zum Beispiel example.com, example.org: Nur Adressen dieser Domains können ein Konto erstellen. |
| Aktiviere E-Mail-Einladungen | ServiceSettings.EnableEmailInvitations | auf einem neuen Server aus | Erlaubt Mitgliedern, Personen per E-Mail einzuladen (erfordert SMTP). Ausstehende E-Mail-Einladungen ungültig machen storniert die noch nicht akzeptierten Einladungen; sie laufen ohnehin nach 48 Stunden ab. |
Community-Administratoren steuern ebenfalls, wer ihrer Community beitritt, mit Einladungslinks und ihren eigenen erlaubten Domains: siehe den Leitfaden Eine Community betreiben.
Von der Kommandozeile: amctl user create (fügen Sie --system-admin oder --guest hinzu), amctl user invite, amctl user deactivate, amctl roles system-admin <user>, um jemanden zum Systemadministrator zu machen, und amctl roles member <user>, um dies rückgängig zu machen.
E-Mail und Passwort
In Systemkonsole › Authentifizierung › E-Mail:
| Einstellung | Schlüssel | Standard |
|---|---|---|
| Erlaube Kontoerstellung mit E-Mail | EmailSettings.EnableSignUpWithEmail | ein. Schalten Sie es aus, wenn sich alle über Single Sign-On anmelden. |
| Erzwinge E-Mail-Bestätigung | EmailSettings.RequireEmailVerification | aus. Schalten Sie es ein, sobald E-Mail funktioniert: Personen bestätigen dann ihre Adresse, bevor sie sich anmelden können. |
| Erlaube Login mit E-Mail | EmailSettings.EnableSignInWithEmail | an |
| Erlaube Login mit Benutzernamen | EmailSettings.EnableSignInWithUsername | an |
In Systemkonsole › Authentifizierung › Passwort:
| Einstellung | Schlüssel | Standard |
|---|---|---|
| Minimale Passwortlänge | PasswordSettings.MinimumLength | 8 (5 bis 72) |
| Passwortanforderungen: Kleinbuchstaben, Großbuchstaben, Zahl, Sonderzeichen | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | alle aus |
| Max. Anmeldeversuche | ServiceSettings.MaximumLoginAttempts | 10: Nach dieser Anzahl an Fehlversuchen wird das Konto gesperrt, bis das Passwort per E-Mail zurückgesetzt wird |
| Aktiviere den Link Passwort vergessen | PasswordSettings.EnableForgotLink | an |
Eine Länge von 12 oder mehr Zeichen trägt mehr zur Sicherheit bei als Zeichenregeln. Um das Passwort für jemanden zurückzusetzen: Systemkonsole › Benutzerverwaltung › Benutzer oder amctl user change-password <user> --password <new>.
Multifaktor-Authentifizierung
Die Multifaktor-Authentifizierung (MFA) ergänzt das Passwort um einen Code aus einer Authenticator-App. Sie gilt für Konten, die sich per E-Mail oder AD/LDAP anmelden. Bei Single Sign-On verwenden Sie die MFA Ihres Identitätsanbieters. In Systemkonsole › Authentifizierung › MFA:
- Multi-Faktor-Authentifizierung einschalten (
ServiceSettings.EnableMultifactorAuthentication, aus): Personen können die MFA in ihren Sicherheitseinstellungen aktivieren. - Multi-Faktor-Authentifizierung erzwingen (
ServiceSettings.EnforceMultifactorAuthentication, aus): Alle müssen sie einrichten, entweder bei der Registrierung oder beim nächsten Login.
Wenn jemand sein Gerät verliert: amctl user resetmfa <user> oder von der Seite in Systemkonsole › Benutzerverwaltung › Benutzer zurücksetzen.
Single Sign-On
Antimatter kann Benutzer über Ihren Identitätsanbieter anmelden. Bei der ersten Anmeldung wird ihr Konto (wenn die Kontoerstellung erlaubt ist) aus dem Namen, der E-Mail-Adresse und dem Benutzernamen erstellt, die der Anbieter sendet.
OpenID Connect, GitLab, Google und Entra ID
Gehe zu Systemkonsole › Authentifizierung › OpenID Connect und wähle unter Dienstanbieter auswählen: GitLab, Google Apps, Entra ID (Office 365) oder OpenID Connect (Andere) für jeden anderen Anbieter (Keycloak, Authentik, Zitadel, Okta, Auth0…).
- Erstellen Sie in Ihrem Anbieter eine Anwendung (einen „Client“) vom Web-Typ mit dieser Weiterleitungs-URI für Ihre Site-URL:
Anbieter Weiterleitungs-URI OpenID Connect (Andere) https://chat.example.com/signup/openid/completeGitLab https://chat.example.com/signup/gitlab/completeGoogle https://chat.example.com/signup/google/completeEntra ID https://chat.example.com/signup/office365/complete - Fülle in Antimatter den Entdeckung Endpunkt (die
/.well-known/openid-configuration-URL des Anbieters; bei GitLab stattdessen die GitLab-Site-URL), die Client-ID und das Client Secret aus. Für andere Anbieter auch den Schaltflächen Name und die Farbe des Buttons der Login-Schaltfläche. - Bevorzugten Benutzernamen verwenden (GitLab und andere Anbieter) übernimmt den Antimatter-Benutzernamen aus dem
preferred_username-Claim des Anbieters. - Speichern, abmelden und die neue Schaltfläche auf der Anmeldeseite ausprobieren.
Die Einstellungen werden in OpenIdSettings, GitLabSettings, GoogleSettings oder Office365Settings gespeichert (zum Beispiel AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). Zusätzliche Scopes (AM_OPENIDSETTINGS_ADDITIONALSCOPES) fordert beim Anbieter zusätzliche OAuth-Scopes an, getrennt durch Leerzeichen, zusätzlich zu den Standard-Scopes. Die ältere OAuth-2.0-Seite wird nur für Server angezeigt, die noch über eine OAuth-2.0-Konfiguration für GitLab, Google oder Entra ID verfügen.
Bei normalem OpenID Connect (nicht GitLab, Google oder Entra ID) werden beim Anmelden auch Benutzerattribute synchronisiert, die Sie einem Claim zugeordnet haben: Antimatter liest das ID-Token und die userinfo-Antwort (die userinfo-Antwort hat Vorrang, wenn beide einen Claim enthalten), versucht zuerst, den Claim-Namen als einzelnen Top-Level-Schlüssel zu finden, und dann als punktförmig verschachtelten Pfad (zum Beispiel address.country), falls nichts übereinstimmt. Ein Claim, den die Antwort nicht enthält, löscht das zugeordnete Attribut, da der Anbieter als maßgebliche Quelle für die synchronisierten Daten behandelt wird. Diese Funktion ist standardmäßig aktiviert; deaktivieren Sie sie mit AM_FEATUREFLAGS_OPENIDATTRIBUTESYNC=false.
SAML 2.0
In Systemkonsole › Authentifizierung › SAML 2.0, schalte Erlaube Login mit SAML 2.0 (SamlSettings.Enable) ein und fülle die von deinem Identitätsanbieter bereitgestellten Daten ein: die Identitätsanbieter-Metadaten-URL, oder die SAML SSO URL, die Issuer-URL des Identitätsanbieters und das Öffentliche Zertifikat des Identitätsanbieters. Auf der Seite des Identitätsanbieters:
- Anmelde-URL des Service-Providers (Assertion Consumer Service):
https://chat.example.com/login/sso/saml; - Metadaten von Antimatter für Anbieter, die diese importieren:
https://chat.example.com/api/v4/saml/metadata.
Mappe die Attribute, die dein Anbieter sendet: mindestens das E-Mail Attribut und das Attribut Benutzername, sowie optional die ID, Vor- und Nachname, Spitzname, Position, Sprache, Gast- und Admin-Attribute. Signatur überprüfen und Verschlüsselung aktivieren sind standardmäßig aktiviert (Verschlüsselung erfordert einen Schlüssel und ein Zertifikat des Dienstanbieters; nur RSA-Schlüssel werden unterstützt); Anfrage signieren ist deaktiviert. Der Signaturalgorithmus ist standardmäßig RSAwithSHA256.
AD/LDAP
In Systemkonsole › Authentifizierung › AD/LDAP verbindet eine schrittweise Seite Antimatter mit Active Directory oder einem anderen LDAP-Server: Server und Port (LdapSettings.LdapServer, LdapSettings.LdapPort, standardmäßig 389), die Verbindungssicherheit (keine, TLS oder STARTTLS), die Basis-DN und ein Bind-Konto (BaseDN, BindUsername, BindPassword), Filter für Benutzer, Gäste, Administratoren und Gruppen sowie die Attribute für E-Mail, Benutzername, ID, Namen und Bild. Die Benutzer melden sich anschließend mit ihrem Verzeichnis-Login an.
Ein Synchronisationsjob wird alle 60 Minuten ausgeführt (LdapSettings.SyncIntervalMinutes), um Namen zu aktualisieren und Personen zu deaktivieren, die aus dem Verzeichnis entfernt wurden; Sie können ihn jetzt mit amctl ldap sync ausführen. LDAP-Gruppen können in Systemkonsole › Benutzerverwaltung › Gruppen mit Communities und Kanälen verknüpft werden. SAML-Konten können auch mit AD/LDAP synchronisiert werden (Synchronisierung von SAML-Konten mit AD/LDAP aktivieren).
Benutzerdefinierte Profilattribute, die einem AD/LDAP- oder SAML-Attribut zugeordnet sind, werden in der Systemkonsole › System-Attribute auf dieselbe Weise synchronisiert: Der Wert eines Textattributs wird so kopiert, wie ihn das Verzeichnis oder die Assertion sendet, bis zu einer Länge von 64 Zeichen (ein längerer Wert löscht das Attribut, statt gekürzt zu werden); der Wert eines Auswahlfeld- oder Mehrfachauswahlattributs wird unabhängig von der Groß-/Kleinschreibung mit einer vorhandenen Option abgeglichen, wobei die Schreibweise dieser Option beibehalten wird, und es wird eine neue Option erstellt, wenn keine übereinstimmt. Optionen, die von niemandem mehr verwendet werden, werden entfernt, und die Optionsliste eines synchronisierten Attributs kann nur von der Synchronisation geändert werden, die es besitzt, nicht manuell in der Systemkonsole.
Verschieben vorhandener Konten
Um bestehende E-Mail-Konten auf Single Sign-On umzustellen, verschiebt amctl user migrate-auth email saml users.json (oder ldap) sie in einem Rutsch. Ein Nutzer kann zudem in den Sicherheitseinstellungen die eigene Anmeldeart ändern, wenn Authentifizierungstransfer erlauben (ServiceSettings.ExperimentalEnableAuthenticationTransfer, in Systemkonsole › Experimentell › Funktionen) aktiviert ist.
Gastkonten
Gäste sind Personen außerhalb Ihrer Organisation, die nur die Kanäle sehen, zu denen sie eingeladen wurden. Aktivieren Sie diese Funktion in Systemkonsole › Authentifizierung › Gastzugang:
| Einstellung | Schlüssel | Standard |
|---|---|---|
| Gastzugang aktivieren | GuestAccountsSettings.Enable | aus |
| Gastdömanen auf der Whitelist | GuestAccountsSettings.RestrictCreationToDomains | leer: Gäste dürfen jede E-Mail-Domain verwenden |
| Multi-Faktor-Authentifizierung erzwingen | GuestAccountsSettings.EnforceMultifactorAuthentication | aus; nur verfügbar, wenn MFA für alle aktiviert und erzwungen ist |
| Gast-Tag ausblenden | GuestAccountsSettings.HideTags | aus: ein „Gast“-Tag wird neben dem Namen angezeigt |
Sobald aktiviert, laden Community-Administratoren Gäste zu bestimmten Kanälen ein. Administratoren können ein Mitglied mit amctl user demote in einen Gast umwandeln und einen Gast mit amctl user promote in ein Mitglied.
Sitzungen
Die Dauer, für die Personen angemeldet bleiben, wird in Systemkonsole › Umgebung › Session-Längen festgelegt:
| Einstellung | Schlüssel | Standard auf einem neuen Server |
|---|---|---|
| Session durch Aktivität verlängern | ServiceSettings.ExtendSessionLengthWithActivity | an: Sitzungen werden erneuert, während Personen Antimatter verwenden |
| Sitzungsdauer AD/LDAP und E-Mail (Stunden) | ServiceSettings.SessionLengthWebInHours | 720 Stunden (30 Tage) |
| Sitzungsdauer Mobil (Stunden) | ServiceSettings.SessionLengthMobileInHours | 720 Stunden |
| Sitzungsdauer SSO (Stunden) | ServiceSettings.SessionLengthSSOInHours | 720 Stunden |
| Session-Leerlaufzeit (Minuten) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200 Minuten (30 Tage); wird nur angezeigt, wenn Sitzungen nicht durch Aktivität verlängert werden |
| Beende Sitzungen bei Passwortänderung | ServiceSettings.TerminateSessionsOnPasswordChange | an |
Um alle Personen gleichzeitig abzumelden, verwenden Sie Alle Sitzungen zurückziehen in Systemkonsole › Benutzerverwaltung › Benutzer. Um eine einzelne Person abzumelden, öffnen Sie deren Seite dort.