サインインとアカウント
アカウントを作成できるユーザーと、サインイン方法を決定します。Antimatterのすべてのサインイン方法(シングルサインオンやディレクトリを含む)は、ライセンスなしで利用できます。
アカウントを作成できるユーザー
インストール直後、システムコンソール › 認証 › 利用登録を確認してください。デフォルト設定では、コミュニティへの招待リンクを持つユーザーであれば誰でもアカウントを作成できますが、招待なしでは登録できません。
| 設定項目 | キー | デフォルト値 | 機能 |
|---|---|---|---|
| アカウントの作成を有効にする | TeamSettings.EnableUserCreation | on | オフの場合、どの方法でもアカウントを作成できません(管理者のみがシステムコンソールまたは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 | on |
| ユーザー名でのサインインを有効にする | EmailSettings.EnableSignInWithUsername | on |
システムコンソール › 認証 › パスワードで:
| 設定項目 | キー | デフォルト値 |
|---|---|---|
| 最小パスワード長さ | PasswordSettings.MinimumLength | 8(5から72) |
| パスワードの要件: 小文字、大文字、数字、記号 | PasswordSettings.Lowercase, .Uppercase, .Number, .Symbol | すべてオフ |
| 最大ログイン試行回数 | ServiceSettings.MaximumLoginAttempts | 10: この回数に達すると、メールによるパスワードリセットが行われるまでアカウントがロックされます |
| パスワード再設定リンクを有効にする | PasswordSettings.EnableForgotLink | on |
文字数12文字以上は、文字種ルールよりもセキュリティに効果的です。誰かのパスワードをリセットするには: システムコンソール › ユーザー管理 › ユーザー、または amctl user change-password <user> --password <new> を使用します。
多要素認証
多要素認証 (MFA) は、パスワードに加えて認証アプリからのコードを必要とします。メールまたは AD/LDAP でサインインするアカウントに適用されます。シングルサインオンを使用している場合は、アイデンティティプロバイダーの MFA を使用してください。システムコンソール › 認証 › 多要素認証 で:
- 多要素認証を有効にする (
ServiceSettings.EnableMultifactorAuthentication、オフ): ユーザーはセキュリティ設定で MFA をオンにできます。 - 多要素認証を強制する (
ServiceSettings.EnforceMultifactorAuthentication、オフ): 全員がサインアップ時または次回サインイン時に設定する必要があります。
デバイスを紛失した場合: amctl user resetmfa <user>、または システムコンソール › ユーザー管理 › ユーザー の該当ページからリセットします。
シングルサインオン
Antimatter は、アイデンティティプロバイダーを通じてユーザーをサインインさせることができます。初回サインイン時、プロバイダーから送信された名前、メール、ユーザー名からアカウントが作成されます (アカウント作成が許可されている場合)。
OpenID Connect、GitLab、Google、Entra ID
システムコンソール › 認証 › OpenID Connect に移動し、サービスプロバイダ選択 で GitLab、Google Apps、Entra ID (Office 365)、またはその他のプロバイダー (Keycloak、Authentik、Zitadel、Okta、Auth0 など) には OpenID Connect (Other) を選択します。
- プロバイダーで、Web タイプのアプリケーション ("クライアント") を作成し、サイト URL に対応するリダイレクト URI を設定します:
プロバイダー リダイレクト URI OpenID Connect (Other) 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 - Antimatter で、Discoveryエンドポイント (プロバイダーの
/.well-known/openid-configurationURL。GitLab の場合は GitLab Site URL)、Client ID、Client Secret を入力します。その他のプロバイダーの場合は、サインインボタンの ボタン名 と ボタンの色 も入力します。 - Preferred Username を使用する (GitLab およびその他のプロバイダー) は、プロバイダーの
preferred_usernameクレームから Antimatter のユーザー名を取得します。 - 保存し、サインアウトしてから、サインインページで新しいボタンを試してください。
設定は 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、または SAMLシングルサインオンURL、認証プロバイダーの発行者URL、認証プロバイダーの公開証明書 です。認証プロバイダー側では以下を設定します:
- サービスプロバイダーのログインURL(アサーションコンシューマーサービス):
https://chat.example.com/login/sso/saml; - インポートするプロバイダー向けの Antimatter のメタデータ:
https://chat.example.com/api/v4/saml/metadata。
プロバイダーが送信する属性をマッピングします。最低限 電子メール属性 と ユーザー名の属性、任意で ID、名、姓、ニックネーム、役職、言語、ゲスト、管理者の属性を設定します。署名を照合する と 暗号化を有効にする はデフォルトでオンになっています(暗号化にはサービスプロバイダーの鍵と証明書が必要です。RSA鍵のみサポート)。リクエスト署名 はオフです。署名アルゴリズムのデフォルトは RSAwithSHA256 です。
AD/LDAP
システムコンソール › 認証 › AD/LDAP のステップバイステップページで、Antimatter を Active Directory または他の LDAP サーバーに接続します。サーバーとポート(LdapSettings.LdapServer、LdapSettings.LdapPort、デフォルトは 389)、接続のセキュリティ(なし、TLS、または STARTTLS)、ベース DN とバインドアカウント(BaseDN、BindUsername、BindPassword)、ユーザー、ゲスト、管理者、グループのフィルター、および電子メール、ユーザー名、ID、名前、画像の属性を設定します。その後、ユーザーはディレクトリのログイン情報でサインインできます。
同期ジョブは 60 分間隔(LdapSettings.SyncIntervalMinutes)で実行され、名前を更新し、ディレクトリから削除された人を無効化します。amctl ldap sync を実行して今すぐ同期できます。LDAP グループは システムコンソール › ユーザー管理 › グループ でコミュニティやチャンネルにリンクできます。SAML アカウントも AD/LDAP と同期できます(AD/LDAPサーバーからのSAMLアカウント同期を有効にする)。
既存アカウントの移行
既存のメールアカウントをシングルサインオンに切り替えるには、amctl user migrate-auth email saml users.json(または ldap)を使用して一括移行できます。また、認証の移行を許可する(ServiceSettings.ExperimentalEnableAuthenticationTransfer、システムコンソール › 実験的機能 › 機能)が有効な場合、ユーザーはセキュリティ設定で自分のサインイン方法を変更することもできます。
ゲストアカウント
ゲストは、組織外部から招待された特定のチャンネルのみを表示できるユーザーです。システムコンソール › 認証 › ゲストアカウントで有効にします。
| 設定項目 | キー | デフォルト値 |
|---|---|---|
| ゲストアカウントを有効にする | GuestAccountsSettings.Enable | オフ |
| ゲストドメインのホワイトリスト | GuestAccountsSettings.RestrictCreationToDomains | 空欄: どのメールドメインでもゲストとして登録可能 |
| 多要素認証を強制する | GuestAccountsSettings.EnforceMultifactorAuthentication | オフ; 多要素認証が全ユーザーに有効化かつ強制されている場合のみ利用可能 |
| ゲストタグを表示しない | GuestAccountsSettings.HideTags | オフ: 名前横に「guest」タグが表示されます |
有効化後、コミュニティ管理者はゲストを特定のチャンネルに招待します。管理者は amctl user demote でメンバーをゲストに降格し、amctl user promote でゲストをメンバーに昇格できます。
セッション
サインイン状態の維持期間は、システムコンソール › 環境 › セッション維持期間で設定します。
| 設定項目 | キー | 新規サーバーのデフォルト値 |
|---|---|---|
| 活動中はセッション維持期間を延長する | ServiceSettings.ExtendSessionLengthWithActivity | オン: Antimatter を使用中にセッションが更新されます |
| AD/LDAPと電子メールのセッション維持期間 (時間) | ServiceSettings.SessionLengthWebInHours | 720時間 (30日) |
| モバイルのセッション維持期間 (時間) | ServiceSettings.SessionLengthMobileInHours | 720時間 |
| シングルサインオンのセッション維持期間 (時間) | ServiceSettings.SessionLengthSSOInHours | 720時間 |
| セッションのアイドルタイムアウト時間 (分) | ServiceSettings.SessionIdleTimeoutInMinutes | 43200分 (30日); セッションが活動によって延長されない場合のみ表示されます |
| パスワード変更時にセッションを終了する | ServiceSettings.TerminateSessionsOnPasswordChange | on |
すべてのユーザーを一度にサインアウトさせるには、システムコンソール › ユーザー管理 › ユーザー内のすべてのセッションを破棄するを使用します。特定の1人のみをサインアウトさせるには、同画面でそのユーザーのページを開きます。