SSO セットアップ

Okta、Microsoft Entra ID、Google Workspace を接続し、チームが自社の ID プロバイダー経由でサインインできるようにします。

SSO セットアップ

このガイドは、自社の ID プロバイダー (IdP) を InterMIND に接続する IT 管理者向けです。セットアップ後、メンバーは通常のログインページからサインインします: SSO でサインイン → 業務用メール → 自社の IdP → InterMIND に戻る。

対象プラン: Business および Enterprise プラン 設定権限: チームオーナーまたは管理者 プロトコル: OpenID Connect (OIDC)。SAML 2.0 によるサインインは開発中で、SAML 設定は保存されますがまだサインインには使用できません。

前提条件

  1. 検証済みドメイン — まず DNS TXT レコードでメールドメインを検証してください (ドメイン管理を参照)。SSO サインインは、チームが検証済みのメールドメインを持つアカウントのみを受け付けます。これがテナント境界です。
  2. OIDC ディスカバリーをサポートする IdP — Issuer URL の下に /.well-known/openid-configuration を提供する必要があります。Okta、Microsoft Entra ID、Google はいずれも対応しています。

IdP に登録する内容

IdP に OIDC Web Application を作成し、以下を設定します:

設定
リダイレクト URI (コールバック)https://intermind.com/api/auth/sso/callback — OIDC を選択した後、SSO カードにも表示されます
Grant typeAuthorization Code (PKCE S256 が自動的に使用されます)
Scopesopenid email profile

IdP が発行する ID トークンにはユーザーの email が含まれている必要があり、そのメールのドメインは検証済みドメインのいずれかでなければなりません。そうでない場合、サインインは拒否されます。

次に、Integrations ページの SSO カードに入力します:

フィールド入力内容
Display Nameメンバーが識別できる任意のラベル
Issuer URLIdP の Issuer — /.well-known/openid-configuration を提供する URL
Authorization URLそのディスカバリードキュメントの authorization_endpoint
Client ID / Client Secret登録したアプリから取得

クライアントシークレットは保存時に暗号化され、保存後はブラウザに返されることはありません。

Okta

  1. 管理コンソール → Applications → Create App Integration → サインイン方法 OIDC、アプリケーションタイプ Web Application
  2. Sign-in redirect URI: https://intermind.com/api/auth/sso/callback
  3. アクセスを許可するユーザーまたはグループを割り当て
  4. Client IDClient Secret をコピー
  5. InterMIND での設定: Issuer URL = Okta 組織 URL (例: https://acme.okta.com、または認可サーバーを使用している場合は https://acme.okta.com/oauth2/default のような Issuer)、Authorization URL = <issuer>/.well-known/openid-configurationauthorization_endpoint

Microsoft Entra ID (Azure AD)

  1. Entra 管理センター → App registrations → New registration
  2. プラットフォーム Web、リダイレクト URI https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — シークレットの Value をすぐにコピー
  4. Client ID = 概要ページの Application (client) ID
  5. ID トークンにユーザーのメールが含まれるようにします: Token configuration → Add optional claim → ID → email
  6. InterMIND での設定: Issuer URL = https://login.microsoftonline.com/<tenant-id>/v2.0、Authorization URL = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize

Google Workspace

アプリの登録は不要です。SSO カードでプロバイダータイプ Google Workspace を選択して保存すれば、検証済みドメインのメンバーは自分の Google アカウントでサインインし、チームに自動的に参加できます。(明示的にクライアント認証情報を使いたい場合は、Issuer https://accounts.google.com を使って Google を汎用 OIDC プロバイダーとして接続することも可能です。)

接続のテスト

  1. プライベート/シークレットウィンドウでログインページを開く
  2. SSO でサインイン をクリックし、検証済みドメインの業務用メールを入力
  3. IdP にリダイレクトされ、認証後 InterMIND にサインインした状態で戻ります
  4. このサインインは、チームの監査ログ (Users ページからエクスポート可能) に auth.login、メソッド sso として記録されます

トラブルシューティング

症状原因
メール入力後に「SSO is not configured」そのメールドメインに一致する有効な SSO 設定がありません — ドメインが検証済みで、SSO カードが保存されているか確認してください
SSO login is not available: planチームのプランに SSO が含まれなくなりました
SSO login is not available: domain-not-verifiedドメインがまだ DNS 検証待ちです
SSO login is not available: config-incompleteClient ID または Client Secret が未設定 — SSO カードを保存し直してください
SSO login is not available: type-unsupported保存されている設定は SAML です — SAML サインインはまだ利用できません
SSO IdP discovery failedIssuer URL が誤っているか、/.well-known/openid-configuration を提供していません
「login session expired, start again」サインイン開始から IdP コールバックまでに 5 分以上経過しました
IdP からリダイレクトされた後にサインインが拒否されるIdP が検証済みドメイン外のメールを返したか、email クレームがまったく含まれていません (Entra の場合: オプションの email クレームを追加してください)

セキュリティ特性

セキュリティアンケート向け: SSO フローは Authorization Code に PKCE (S256)statenonce を組み合わせたものです。ID トークンの署名は IdP の JWKS に対して検証され、Issuer と audience も同時に検証されます。IdP が信頼の根拠となるのは DNS で検証されたドメインのみで、それ以外のメールに対するアサーションは決してセッションを生成しません。OIDC クライアントシークレットは保存時に暗号化されます。すべての SSO サインインはチームの監査ログに記録されます。プラン、ドメイン、設定のチェックは、サインイン開始時とコールバックの両方でサーバー側で適用されます。