SSOとSCIM
会社のアカウント(IdP)でのサインインと、ユーザーの自動同期を設定する手順です。
会社のIdP(Okta、Microsoft Entra ID、Google Workspaceなど)をKeuralに接続すると、従業員は会社のアカウントでサインインし、初めてのサインイン時に自動的に組織に参加します。
IdP担当者・開発者向けの仕様は、SSO·SCIM連携仕様を参照してください。
準備事項
| 項目 | 理由 |
|---|---|
| Keural組織のオーナーアカウント | SSOの設定を変更できるのはオーナーだけです。 |
| IdPの管理者権限 | IdPにKeuralのアプリケーションを作成します。 |
| 会社ドメインのDNS管理権限 | ドメインの所有を、TXTレコードで認証します。 |
対応している方式
| 方式 | 用途 |
|---|---|
| OpenID Connect(OIDC) | 会社のアカウントでサインイン |
| SAML 2.0 | 会社のアカウントでサインイン。認証リクエストはRedirect、応答はHTTP-POSTで受け取ります。 |
| SCIM 2.0 | IdPでユーザーを追加・無効化すると、Keuralのアカウントに自動で反映される |
OIDCとSAMLのどちらかを選びます。IdPが両方に対応している場合は、設定が簡単なOIDCをおすすめします。
設定順序
すべての設定は、組織管理 → SSO設定で行います。
1. 会社ドメインを認証する
SSOに使うメールドメインの所有を、先に認証します。認証していないドメインは、3の手順で保存されません。
組織ドメインに会社のドメイン(例: acme.com)を入力し、ドメインを追加を押します。
ドメインの行の認証を押します。ドメイン認証のウィンドウに表示されたTXTレコードの値(keural-verify=…)をコピーします。
DNSの管理画面で、そのドメインにTXTレコードを追加し、コピーした値を貼り付けます。ホスト(名前)は、ドメインそのもの(通常は@)です。
Keuralに戻り、認証を確認を押します。認証済みと表示されれば完了です。DNSの反映には数十分かかることがあるため、失敗した場合はしばらく待ってから押し直します。
会社のドメインが複数ある場合は、それぞれを追加して認証します。gmail.comなどの公開メールドメインは使えません。
2. IdPにアプリケーションを作成する
SSO設定の一番上のプロトコルで、OpenID Connect(OIDC)またはSAML 2.0を選ぶと、IdPに登録するKeuralの値が表示されます。この値をIdPのアプリケーションに入力し、IdPから受け取る値を控えておきます。
| 方向 | 項目 | 内容 |
|---|---|---|
| Keural → IdP | コールバックURI | IdPのアプリケーションのリダイレクトURIに入力します。 |
| IdP → Keural | Issuer URL | IdPの発行者のアドレスです。 |
| IdP → Keural | Client ID・Client Secret | IdPのアプリケーションを作成すると発行される値です。 |
IdPがユーザーのメールアドレスを送信するように設定しないと、サインインできません。
| IdP | 作成する場所 | コールバックURIを入力する欄 | Issuer URL |
|---|---|---|---|
| Okta | Applications → Create App Integration → OIDC · Web Application | Sign-in redirect URIs | https://<Oktaのドメイン> |
| Microsoft Entra ID | App registrations → New registration | Redirect URI(Web) | https://login.microsoftonline.com/<テナントID>/v2.0 |
| Google Workspace | Google Cloudコンソール → APIとサービス → 認証情報 → OAuthクライアントID(ウェブアプリケーション) | 承認済みのリダイレクトURI | https://accounts.google.com |
- Microsoft Entra ID: Client Secretは、Certificates & secretsで新しく作成した値(Value)です。Token configurationで、IDトークンに
emailのオプションのクレームを追加します。 - Okta: アプリケーションのAssignmentsで、Keuralを使うユーザーまたはグループを指定します。
3. Keuralに値を入力して保存する
- 2の手順でIdPから受け取った値を入力します。
- メールドメインに、1の手順で認証したドメインをカンマで区切って入力します。このドメインのメールでサインインすると、会社のサインイン画面に移動します。
- 未登録ユーザーの自動作成(JIT)を設定します。オンにすると、Keuralのアカウントがない従業員も、初めてSSOでサインインするときにアカウントが作成されます。オフにすると、アカウントがある人だけがサインインできます。
- 保存を押します。
OIDCで、IdPが標準のアドレス(discovery)を提供しない場合は、詳細設定を開くでエンドポイントを直接入力します。ほとんどのIdPでは、空欄のままにします。
4. SSOをオンにして、テストログインする
- SSOを有効化をオンにして、保存します。
- テストログインを押します。新しいウィンドウに、会社のサインイン画面が開きます。
- 会社のアカウントでサインインし、Keuralに戻ってくれば接続は完了です。
テストログインは、SSOがオンになっているときにのみ動作します。問題がある場合は、SSOを有効化をオフにして保存します。その間、そのドメインの従業員はメールのリンクでサインインします。
従業員のサインイン
- Keuralのサインイン画面に会社のメールアドレスを入力すると、会社のサインイン画面に移動し、サインインするとKeuralに戻ります。
- デスクトップアプリでは、会社のサインイン画面ではなく、メールのリンクでサインインします。
- 初めてSSOでサインインした従業員は、組織にメンバーとして参加します。管理者の役割は、組織管理で指定します。
次の場合は、サインインはできますが、組織には自動で参加しません。
- 組織が購入した座席がすべて埋まっているとき
- そのアカウントがすでに別の組織に属しているとき
5. SCIMを接続する(任意)
SCIMを接続すると、IdPでユーザーを追加したり無効にしたりしたときに、Keuralのアカウントにすぐ反映されます。SSOの接続を終えてから設定します。
SCIMプロビジョニングで、SCIMプロビジョニングを有効化をオンにします。
トークンを発行を押し、トークンをコピーします。トークンは、この時点で一度だけ表示されます。
IdPのプロビジョニング設定に、SCIM Base URL(Tenant URL)とトークンを入力します。認証方式はBearerトークンです。
| IdP | 入力位置 |
|---|---|
| Okta | アプリケーション → Provisioning → SCIM connector base URL。Authentication ModeはHTTP Header |
| Microsoft Entra ID | Enterprise application → Provisioning → Automatic → Tenant URL・Secret Token |
IdPでの操作は、Keuralに次のように反映されます。
| IdPでの操作 | Keuralでの反映 |
|---|---|
| ユーザーを割り当てる | アカウントを作成し、組織に入れます。ユーザー名はメールアドレスです。 |
| ユーザーを無効化、または割り当てを解除する | アカウントを停止し、サインインを止めます。データは削除しません。 |
| 再び有効化する | 停止を解除します。 |
| Keural Adminsグループに追加・除外する | 管理者に上げる、またはメンバーに下げます。オーナーは変わりません。 |
トークンを紛失した場合は、トークンを再発行を押し、新しいトークンをIdPに入力し直します。既存のトークンは即座に無効になります。
トラブルシューティング
| 症状 | 対処 |
|---|---|
| メールドメインが保存されない | 1の手順でドメインの認証を終えているか、公開メールドメインではないかを確認します。 |
| ドメインの認証が失敗する | TXTの値をkeural-verify=から最後まで入れたか確認し、DNSの反映を待ってから押し直します。 |
| テストログインを押しても、会社のサインイン画面が開かない | SSOを有効化をオンにして保存したか確認します。 |
| 会社のサインインのあと、Keuralのサインイン画面に戻る | OIDCは、コールバックURI・Issuer URL・Client Secret・メールのクレームを、SAMLは、SP EntityID・ACS URL・証明書・メールの属性を確認し直します。 |
| アカウントがないとしてサインインが拒否される | 未登録ユーザーの自動作成(JIT)がオフになっています。オンにするか、先にその従業員を招待します。 |
| サインインはできるが、組織のワークスペースが表示されない | 座席が残っているか、そのアカウントが別の組織に属していないかを確認します。 |
| IdPのポータルからアプリを開くと失敗する(SAML) | Keuralのサインイン画面で、会社のメールアドレスから始めます。 |
| SCIMの接続テストが失敗する | Base URLとトークンを入れ直します。トークンを再発行した場合は、新しいトークンに替えます。 |