> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alforse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# シングルサインオン

> 検証済みのメールドメインのすべてのメンバーを、自社の SAML 2.0 ID プロバイダーへ誘導してサインインさせ、必要に応じてそれを唯一のサインイン方法にします。

シングルサインオン（SSO）は、Alforse のサインインを、Okta、Entra ID、Google Workspace などの、会社の SAML 2.0 ID プロバイダー（IdP）に引き渡します。管理者が一度設定すると、以降は、メールアドレスが検証済みドメインにある ERP と MES のユーザーが自動的に IdP へ誘導されます。

## 始める前に

* **利用可否。****シングルサインオン**セクションが**設定 → セキュリティ**に表示されるのは、お使いのアカウントで SSO が有効になっている場合のみです。
* **権限。**SSO の設定を保存するには、`settings` の update 権限が必要です。
* **IdP の権限。**ID プロバイダーで SAML アプリケーションを作成する権限が必要です。
* **DNS の操作権限。**メールドメインごとに TXT レコードを公開します。

マジックリンクを含むほかのサインイン方法は、[SAML SSO を必須にする](#requiring-sso)をオンにするまで引き続き使えます。そのため、誰もロックアウトせずに、すべてを設定してテストできます。

> [!NOTE]
>
> 代わりに Feishu / Lark、DingTalk、または OpenID Connect でサインインしますか？[Feishu/Lark・DingTalk・OIDC によるシングルサインオン](https://docs.alforse.com/ja/docs/reference/sso-oidc-feishu-dingtalk.md)を参照してください。会社が持てる接続は 1 つです。それらのプロバイダーのいずれかを保存すると、SAML 接続は置き換えられます。

## ID プロバイダーを接続する

設定はすべて、**設定 → セキュリティ**の**「シングルサインオン」**セクションで行います。

Alforse screenshot**設定 → セキュリティ の シングルサインオン セクション（接続が有効な状態）：サービスプロバイダーの詳細、SAML SSO を必須にするスイッチ付きの ID プロバイダー カード、メールドメイン カード**

SSO のやり取りはすべて、1 つの設定画面で行います。

1. **Alforse の詳細をコピーします。****「サービスプロバイダーの詳細」**カードに、**「ACS URL」**と**「SP メタデータURL」**が、それぞれコピーボタン付きで表示されます。
2. **その 2 つの URL を使って、IdP で SAML アプリケーションを作成します。**アサーションには必ず**メール属性**を含めてください。Alforse はメールアドレスを使って、各サインインを担当者と会社に結び付けます。
3. **IdP のメタデータを Alforse に渡します。****「IDプロバイダー」**カードで、**「IdP メタデータURL」**か生の**「IdP メタデータXML」**のどちらか一方だけを入力し（両方は不可）、**「接続」**を選択します。後の変更では、ボタンは**「変更を保存」**になります。
4. **接続が有効であることを確認します。**Alforse が "SAML SSO connection saved"（SAML SSO の接続を保存しました）と表示し、カードに**「SAML SSOを必須にする」**スイッチと**「無効化」**ボタンが表示されます。
5. **メールドメインを追加して検証します。**接続ができると**「メールドメイン」**カードが表示されます。メンバーがサインインに使うドメインをすべて追加し、それぞれに表示される DNS レコードを公開して、**「検証」**を選択します。SSO のサインインが振り分けられるのは、検証済みのドメインだけです。

## サービスプロバイダーの URL

ID プロバイダーには、この 2 つの値が必要です。**「サービスプロバイダーの詳細」**カードにあるものと同じです。

| IdP での設定項目 | 値 |
| - | - |
| **ACS URL**（Assertion Consumer Service、シングルサインオン URL、応答 URL） | `https://api.alforse.com/api/web/auth/v1/sso/saml/acs` |
| **SP メタデータURL**（**SP エンティティ ID** および**オーディエンス**も兼ねます） | `https://api.alforse.com/api/web/auth/v1/sso/saml/metadata` |

IdP がサービスプロバイダーのメタデータをインポートできる場合は、SP メタデータURL を渡します。できない場合は、2 つの値を手動で入力します。

## ドメインを検証する

新しいドメインは**待機中**から始まり、カードに表示される専用の TXT チャレンジが割り当てられます。

| レコード | 値 |
| - | - |
| **ホスト** | `_alforse-challenge.example.com` |
| **種類** | `TXT` |
| **値** | `alforse-domain-verification=<your unique token>` |

ドメインを追加すると、Alforse は "Domain added. Publish the TXT record shown below, then click Verify."（ドメインを追加しました。下に表示された TXT レコードを公開してから、「検証」をクリックしてください。）と確認します。DNS プロバイダーでレコードを公開したら、**「検証」**を選択します。

| 結果 | メッセージ |
| - | - |
| レコードが見つかり、正しい | "Domain verified — it can now route SAML SSO sign-ins"（ドメインを検証しました。これで SAML SSO のサインインを振り分けられます）。ドメインは**検証済み**に変わります。 |
| まだレコードがない | "No TXT record found yet. DNS changes can take a few minutes to propagate — check the record's host name and try again shortly."（TXT レコードがまだ見つかりません。DNS の変更が反映されるまで数分かかることがあります。レコードのホスト名を確認して、しばらくしてからもう一度お試しください。） |
| レコードの値が間違っている | "A TXT record exists but its value does not match this company's verification token. Check that the record's value was copied exactly."（TXT レコードはありますが、値がこの会社の検証トークンと一致しません。レコードの値が正確にコピーされているか確認してください。） |
| 参照に失敗した | "The DNS lookup failed. Check your network's outbound DNS access and try again."（DNS の参照に失敗しました。ネットワークの外向き DNS アクセスを確認して、もう一度お試しください。） |

* **検証は一度限りです。**その後、TXT レコードは削除してかまいません。
* **待機中のドメインは何もしません。**検証されるまで、ドメインを追加しても誰のサインイン方法も変わらないため、追加は安全です。

HEADS UP

**検証済みドメインは 1 つの会社に属します**

DNS の管理権を最初に証明した会社がそのドメインを保持し、その後 DNS の管理が別の人に移っても、その権利は維持されます。ドメインをきれいに引き継ぐには、現在の保持者が**除去**を選択します。これでドメインが解放され、新しい所有者が検証できるようになります。

## ユーザーの体験

### サインイン

ログインページは、まずメールアドレスを尋ねます。ユーザーが**「続行」**を選択すると：

* 有効な IdP があるドメインでは、その IdP にリダイレクトされます。
* それ以外の場合は、標準のマジックリンクによるサインインに進みます。

Alforse がセッションを作成する前に、IdP のアサーションにあるメールドメインが、接続の**検証済み**ドメインと一致している必要があります。

### 入れる人：招待が先のプロビジョニング

SSO では、自分でサインアップすることはできません。

| 対象者 | 初回の SSO サインイン |
| - | - |
| 既存のメンバー | SAML の ID がそのアカウントにリンクされます。 |
| 保留中の招待がある | 招待が承諾され、割り当てられたロールが適用されます。 |
| それ以外の全員 | 拒否されます。アカウントは作成されません。 |

誰かを入れるには、[従業員ディレクトリ](https://docs.alforse.com/ja/docs/reference/people.md)でその人の招待を作成し、もう一度試してもらってください。

### 二要素認証

SSO のセッションは、管理対象のデプロイメントでも、Alforse 独自の[二要素認証のチャレンジ](https://docs.alforse.com/ja/docs/reference/two-factor.md)を省略します。IdP が独自の MFA ポリシーを適用するためです。マジックリンクによるサインインは、引き続き Alforse のチャレンジを通ります。

## SSO を必須にする

**「SAML SSOを必須にする」**をオンにすると、検証済みドメインのユーザーにとって、IdP が唯一受け付けられるサインイン方法になります。Alforse が "SAML SSO is now required for covered domains"（対象ドメインで SAML SSO が必須になりました）と確認し、以降、それらのユーザーに対してはマジックリンク、Google、パスキーが拒否されます。

このスイッチは接続が有効になってから表示されるため、必須にする前に SSO でのサインインが機能することを確認できます。

| やりたいこと | 操作 | 結果 |
| - | - | - |
| ほかの方法を再び許可する | **「SAML SSOを必須にする」**をオフにする | "SAML SSO is no longer required for covered domains"（対象ドメインで SAML SSO は必須ではなくなりました）。マジックリンク、Google、パスキーが再び使えます。 |
| SSO を完全に削除する | **「無効化」**を選択して確定する | "SAML SSO connection deactivated"（SAML SSO の接続を無効化しました）。接続は削除され、ドメインの権利は解放され、ほかの方法が再び使えます。 |
| 1 つのドメインの使用をやめる | ドメインの**除去**を選択する | "Domain removed"（ドメインを除去しました）。権利が解放され、別の会社が検証できるようになります。 |

## 関連ページ

**Feishu/Lark・DingTalk・OIDC**

Feishu または Lark、DingTalk、あるいは任意の OpenID Connect プロバイダーによるシングルサインオンです。

[Open](https://docs.alforse.com/ja/docs/reference/sso-oidc-feishu-dingtalk.md)

**二要素認証**

マジックリンクによるサインインのための、Alforse 独自の第 2 要素です。

[Open](https://docs.alforse.com/ja/docs/reference/two-factor.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.