התחברות וחשבונות

קבעו מי יכול ליצור חשבון וכיצד מתחברים. כל שיטת ההתחברות ב-Antimatter פועלת ללא צורך ברשיון, כולל התחברות מאוחדת ומדיות.

מי יכול ליצור חשבון

מידע לאחר התקנה, בדקו קונסולת מערכת › אימות › הרשמה. עם הגדרות ברירת המחדל, כל מי שיש לו קישור הזמנה לקהילה יכול ליצור חשבון, אך אף אחד לא יכול להירשם בלעדיו.

הגדרהמפתחברירת מחדלמה היא עושה
הפעלת יצירת חשבונותTeamSettings.EnableUserCreationדלוקכשכבוי, אף אחד לא יכול ליצור חשבון באף שיטה; רק מנהלים יכולים (קונסולת מערכת או amctl user create).
הפעלת שרת פתוחTeamSettings.EnableOpenServerכבויכשדלוק, כל מי שמגיע לשרת יכול להירשם עם כתובת אימייל, בלי הזמנה. השתמשו בזה רק לקהילות ציבוריות.
הגבלת חברי מערכת וצוות חדשים לתחומי אימייל מוגדריםTeamSettings.RestrictCreationToDomainsריקתחומים מופרדים בפסיק, למשל example.com, example.org: רק כתובות מתחומים אלה יכולות ליצור חשבון.
הפעלת הזמנות בדוא"לServiceSettings.EnableEmailInvitationsכבוי בשרת חדשאפשר לחברים להזמין אנשים בדוא"ל (דורש SMTP). ביטול הזמנות דוא"ל ממתין מבטל הזמנות שעדיין לא נקלטו; בכל מקרה, הן פגות תוך 48 שעות.

מנהלי קהילה שולטים גם במי מצטרף לקהילה שלהם, באמצעות קישורי הזמנה ותחומים מותרים משלהם: ראו את המדריך הפעלת קהילה.

מקושרת הפקודה: amctl user create (הוסיפו --system-admin או --guest), amctl user invite, amctl user deactivate, amctl roles system-admin <user> כדי להפוך מישהו למנהל מערכת, ו-amctl roles member <user> כדי לשנות זאת.

אימייל וסיסמה

בקונסולת מערכת › אימות › כתובת דוא"ל:

הגדרהמפתחברירת מחדל
הפעלת יצירת חשבון באמצעות אימיילEmailSettings.EnableSignUpWithEmailדלוק. כבו אותו כשכולם מתחברים באמצעות התחברות מאוחדת.
דרישת אימות כתובת דוא״לEmailSettings.RequireEmailVerificationכבוי. הדליקו אותו ברגע ש-אימייל פועל: אז אנשים מאמתים את כתובתם לפני שהם יכולים להתחבר.
הפעלת כניסה באמצעות אימיילEmailSettings.EnableSignInWithEmailדלוק
הפעלת כניסה באמצעות שם משתמשEmailSettings.EnableSignInWithUsernameדלוק

ב-קונסולת מערכת › אימות › סיסמה:

הגדרהמפתחברירת מחדל
אורך סיסמה מינימליPasswordSettings.MinimumLength8 (5 עד 72)
דרישות סיסמה: אותיות קטנות, אותיות גדולות, מספר, סמלPasswordSettings.Lowercase, .Uppercase, .Number, .Symbolהכול כבוי
מספר ניסיונות התחברות מקסימליServiceSettings.MaximumLoginAttempts10: לאחר מספר כשלונות זה, החשבון ננעל עד שהסיסמה תאופס דרך הדוא״ל
הפעלת קישור "שכחת סיסמה"PasswordSettings.EnableForgotLinkדלוק

אורך של 12 תווים ומעלה תורם יותר לאבטחה מאשר כללי תווים. כדי לאפס סיסמה למישהו: קונסולת מערכת › ניהול משתמשים › משתמשים, או amctl user change-password <user> --password <new>.

אימות דו־גורמי

אימות דו־גורמי (MFA) מוסיף קוד מאפליקציית אימות לסיסמה. הוא חל על חשבונות שנכנסים עם דוא״ל או AD/LDAP; עם התחברות מאוחדת, יש להשתמש ב־MFA של ספק הזהות. ב־קונסולת מערכת › אימות › MFA:

  • הפעלת אימות רב-גורמי (ServiceSettings.EnableMultifactorAuthentication, כבוי): אנשים יכולים להפעיל אימות רב-גורמי בהגדרות האבטחה שלהם.
  • הפעלת אימות דו־גורמי (ServiceSettings.EnforceMultifactorAuthentication, כבוי): כולם חייבים להגדיר אותו, בעת הרשמה או בכניסה הבאה.

אם מישהו מאבד את המכשיר שלו: amctl user resetmfa <user>, או לאפס אותו מהעמוד שלו ב־קונסולת מערכת › ניהול משתמשים › משתמשים.

התחברות מאוחדת

Antimatter יכול לאפשר לאנשים להתחבר דרך ספק הזהות שלך. בהתחברות הראשונה הוא יוצר את החשבון שלהם (אם נוצר חשבון מותר) מהשם, הדוא״ל ושם המשתמש שספק הזהות שולח.

OpenID Connect, GitLab, Google ו־Entra ID

עבור קונסולת מערכת › אימות › OpenID Connect, ובחר תחת בחירת ספק השירות: GitLab, Google Apps, Entra ID (Office 365) או OpenID Connect (אחר) לכל ספק אחר (Keycloak, Authentik, Zitadel, Okta, Auth0…).

  1. בספק שלך, צור אפליקציה ("לקוח") מסוג web, עם URI הפניה זה, עבור כתובת האתר שלך:
    ספקURI הפניה
    OpenID Connect (אחר)https://chat.example.com/signup/openid/complete
    GitLabhttps://chat.example.com/signup/gitlab/complete
    Googlehttps://chat.example.com/signup/google/complete
    Entra IDhttps://chat.example.com/signup/office365/complete
  2. ב-Antimatter, מלא את נקודת גילוי (כתובת ה-/.well-known/openid-configuration של הספק; עבור GitLab, כתובת האתר של GitLab במקום), את מזהה לקוח ואת סוד לקוח. עבור ספקים אחרים, גם את שם כפתור וצבע כפתור של כפתור ההתחברות.
  3. שימוש ב־Preferred Username (GitLab וספקים אחרים) לוקח את שם המשתמש ב-Antimatter מתוך טענת preferred_username של הספק.
  4. שמור, התנתק, ונסה את הכפתור החדש בעמוד ההתחברות.

ההגדרות נשמרות ב-OpenIdSettings, GitLabSettings, GoogleSettings או Office365Settings (לדוגמה AM_OPENIDSETTINGS_ENABLE, AM_OPENIDSETTINGS_DISCOVERYENDPOINT, AM_OPENIDSETTINGS_ID, AM_OPENIDSETTINGS_SECRET). עמוד OAuth 2.0 הישן מופיע רק עבור שרתים שיש להם עדיין תצורת OAuth 2.0 של GitLab, Google או Entra ID.

SAML 2.0

בקונסולת מערכת › אימות › SAML 2.0, הפעל הפעלת התחברות באמצעות SAML 2.0 (SamlSettings.Enable) ומלא את מה שספק הזהות שלך מספק: כתובת URL של מטא־דאטה של ספק הזהות, או כתובת URL של SSO SAML, כתובת URL של מנפיק ספק הזהות ותעודה ציבורית של ספק הזהות. בצד ספק הזהות:

  • כתובת URL להתחברות של ספק השירות (שירות צרכן ההצהרות): https://chat.example.com/login/sso/saml;
  • מטא־נתונים של Antimatter, עבור ספקים שמייבאים אותם: https://chat.example.com/api/v4/saml/metadata.

מפה את המאפיינים שספק שלך שולח: לפחות את מאפיין אימייל ומאפיין שם משתמש, ובאופן אופציונלי את המאפיינים של מזהה, שם פרטי, שם משפחה, כינוי, תפקיד, שפה, אורח ומנהל. אימות חתימה והפעלת הצפנה פעילים כברירת מחדל (הצפנה דורשת מפתח ותעודה של ספק השירות; נתמכות רק מפתחות RSA); חתימת בקשה כבוי. אלגוריתם החתימה ברירת המחדל הוא RSAwithSHA256.

AD/LDAP

ב-קונסולת מערכת › אימות › AD/LDAP, עמוד שלב־אחר־שלב מחבר את Antimatter ל־Active Directory או לשרת LDAP אחר: השרת והפורט (LdapSettings.LdapServer, LdapSettings.LdapPort, 389 כברירת מחדל), אבטחת ההתחברות (ללא, TLS או STARTTLS), ה־DN הבסיסי וחשבון חיבור (BaseDN, BindUsername, BindPassword), מסננים למשתמשים, אורחים, מנהלים וקבוצות, והמאפיינים לדוא״ל, שם משתמש, מזהה, שמות ותמונה. המשתמשים מתחברים אז עם פרטי ההתחברות שלהם מהמאגר.

משימת סנכרון רצה כל 60 דקות (LdapSettings.SyncIntervalMinutes) כדי לעדכן שמות ולבטל פעילות של אנשים שנוסו מהמאגר; ניתן להריץ אותה עכשיו עם amctl ldap sync. קבוצות LDAP יכולות להיות מקושרות לקהילות ולערוצים ב-קונסולת מערכת › ניהול משתמשים › קבוצות. חשבונות SAML יכולים גם הם להיות מוסנכרנים עם AD/LDAP (הפעלת סנכרון חשבונות SAML עם AD/LDAP).

העברת חשבונות קיימים

כדי להעביר חשבונות דוא״ל קיימים להתחברות מאוחדת, הפקודה amctl user migrate-auth email saml users.json (או ldap) מבצעת את ההעברה בבת אחת. משתמש יכול גם לשנות את דרך ההתחברות שלו בהגדרות האבטחה שלו כאשר אפשרות העברת אימות (ServiceSettings.ExperimentalEnableAuthenticationTransfer, ב־קונסולת מערכת › ניסויי › תכונות) מופעלת.

חשבונות אורחים

אורחים הם אנשים מחוץ לארגון שלך שרואים רק את הערוצים שהוזמנו אליהם. הפעלה מתבצעת ב־קונסולת מערכת › אימות › גישה לאורחים:

הגדרהמפתחברירת מחדל
הפעלת גישה לאורחיםGuestAccountsSettings.Enableכבוי
תחומי אורח מורשיםGuestAccountsSettings.RestrictCreationToDomainsריק: לאורחים יכול להיות כל דומיין אימייל
הפעלת אימות דו־גורמיGuestAccountsSettings.EnforceMultifactorAuthenticationכבוי; זמין רק כאשר MFA מופעל ונאכף לכל המשתמשים
הסתרת תגית אורחGuestAccountsSettings.HideTagsכבוי: תג "אורח" מוצג ליד השם שלהם

לאחר ההפעלה, מנהלי הקהילה מזמינים אורחים לערוצים ספציפיים. מנהלים יכולים להפוך חבר לאורח באמצעות amctl user demote, ואורח לחבר באמצעות amctl user promote.

מסעות

משך ההתחברות נקבע ב־קונסולת מערכת › סביבה › משך סשן:

הגדרהמפתחברירת מחדל על שרת חדש
הארכת משך ההתחברות עם פעילותServiceSettings.ExtendSessionLengthWithActivityמופעל: המסעות מתחדשות בזמן שהאנשים משתמשים ב-Antimatter
אורך הפעלה ל־AD/LDAP ובאמצעות דוא״ל (שעות)ServiceSettings.SessionLengthWebInHours720 שעות (30 ימים)
אורך סשן נייד (שעות)ServiceSettings.SessionLengthMobileInHours720 שעות
אורך הפעולה SSO (שעות)ServiceSettings.SessionLengthSSOInHours720 שעות
זמן המתנה לסשן לא פעיל (דקות)ServiceSettings.SessionIdleTimeoutInMinutes43200 דקות (30 ימים); מוצג רק כאשר המסעות אינן מתחדשות עם פעילות
סיים פעלות בשינוי סיסמהServiceSettings.TerminateSessionsOnPasswordChangeדלוק

כדי להסיר את כל המשתמשים מהמערכת בבת אחת, השתמשו ב־ביטול כל ההתחברות ב־קונסולת מערכת › ניהול משתמשים › משתמשים. כדי להסיר משתמש בודד, פתחו את העמוד שלו שם.