SSO設定

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

SSOセットアップ

このガイドは、企業のアイデンティティプロバイダー(IdP)をInterMINDに接続するIT管理者向けです。セットアップ後、メンバーは通常のログインページからサインインします:Sign in with SSO → 業務用メール → ご利用のIdP → InterMINDに戻ります。技術的な詳細を省いた概要については、シングルサインオン機能ページを参照してください。

利用対象: BusinessおよびEnterpriseプラン 設定権限: チームオーナーまたは管理者 プロトコル: OpenID Connect (OIDC) のみ。SAML 2.0は提供していません — Okta、Microsoft Entra ID、Google WorkspaceはいずれもOIDCをサポートしています。

IntegrationsページのSSOカード

前提条件

  1. 確認済みドメイン — まずDNS TXTレコード経由でメールドメインを確認します(ドメイン管理を参照)。SSOサインインは、お客様のチームが確認したメールドメインのアカウントのみを受け付けます。これがテナントの境界となります。
  2. ディスカバリー付きのOIDCをサポートするIdP — Issuer URLの下で /.well-known/openid-configuration を提供する必要があります。Okta、Microsoft Entra ID、Googleはすべてこれをサポートしています。

IdPで登録する内容

IdPで以下の内容のOIDC Web Applicationを作成します:

設定値
Redirect URI (callback)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. Admin console → Applications → Create App Integration → サインイン方法 OIDC、アプリケーションタイプ Web Application
  2. Sign-in redirect URI: https://intermind.com/api/auth/sso/callback
  3. アクセスを許可するユーザーまたはグループを割り当てます
  4. Client IDとClient Secretをコピーします
  5. InterMINDで:Issuer URL = お客様のOkta組織URL(例:https://acme.okta.com、または認可サーバーのIssuer(使用している場合) 例:https://acme.okta.com/oauth2/default);Authorization URL = <issuer>/.well-known/openid-configuration の authorization_endpoint

Microsoft Entra ID (Azure AD)

  1. Entra admin center → App registrations → New registration
  2. プラットフォーム Web、リダイレクトURI https://intermind.com/api/auth/sso/callback
  3. Certificates & secrets → New client secret — シークレットのValueをすぐにコピーします
  4. Client ID = Overviewページの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 として汎用OIDCプロバイダーとしてGoogleを接続することもできます。)

接続テスト

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

トラブルシューティング

症状原因
メールアドレス入力後に「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保存されているプロバイダータイプがサインインフローで実装されていないものです — SSO設定を削除し、OIDCまたはGoogle Workspaceとして再度作成してください
SSO IdP discovery failedIssuer URLが間違っているか、/.well-known/openid-configuration を提供していません
「login session expired, start again」と表示されるサインイン開始からIdPのコールバックまでに5分以上が経過しました
IdPからのリダイレクト後にサインインが拒否されるIdPが確認済みドメイン外のメールアドレスを返したか、email クレームがまったくありません(Entraの場合:オプションのemailクレームを追加してください)

セキュリティプロパティ

セキュリティアンケート向け:SSOフローはPKCE (S256)、state、およびnonceを伴うAuthorization Codeです。IDトークンの署名はIdPのJWKSに対して検証され、Issuerおよびaudienceと共に確認されます。IdPはDNS経由で確認済みのドメインに対してのみ権威を持ちます — その他のメールアドレスに対するアサーションはセッションを生成しません。OIDCクライアントシークレットは保管時に暗号化されます。すべてのSSOサインインはチームの監査ログに記録されます。プラン、ドメイン、および設定のゲートは、サインイン開始時とコールバック時の両方でサーバー側で強制されます。