ドメインを検証して SSO を必須にする
組織のオーナーと管理者が、社内のメンバー全員に IdP 経由でログインしてもらうための手順です。 ドメインを検証し、ログインの振り分けと自動登録 (JIT) を設定してから、メールのリンクと Slack でのログインを止めます。
- 「設定」の「セキュリティ」(
/ws/settings/security) を開ける、オーナーか管理者のアカウントが必要です - SSO の接続を 1 つ以上有効にしておきます。有効な接続がないと、SSO を必須にできません
- DNS に TXT レコードを登録できる担当者の協力が必要です
作業はこの順に進めます。順番は変えられません。
- ドメインを検証する
- 振り分けるドメインと自動登録を設定する
- 自分のログイン方法に SSO を追加する
- SSO でログインし直す
- SSO を必須にする
1. ドメインを検証する
Section titled “1. ドメインを検証する”ドメインの検証は、そのドメインを組織が持っていることを DNS で確かめる作業です。検証が済むまでは、ログイン画面での振り分けにも初回ログインでの自動登録にも、そのドメインは一切使われないので、先にこの作業を終えてください。
- 「設定」の「セキュリティ」(
/ws/settings/security) を開き、「シングルサインオン」の「ドメインの検証」までスクロールします。入力欄と「追加する」が表示されます - 入力欄にドメイン (例:
example.com) を入れて「追加する」を押します。ドメインの行に「未検証」と、「TXTレコード名」「TXTレコード値」が表示されます - DNS に TXT レコードを登録します。名前は
_actagate-challenge.<ドメイン>、値はactagate-domain-verification=<トークン>です。画面に表示された値をそのまま使います。DNS の登録が済むと、外部から TXT レコードを引けるようになります - DNS の反映を待ちます。そのあとでドメインの行の「確認する」を押します。成功するとドメインの表示が「検証済み」に変わります
トークンは組織で 1 つです。ドメインをいくつ追加しても、TXT レコードの値は同じです。
DNS を照会するのは「確認する」を押したときだけです。5 秒で打ち切ります。一度検証したドメインは、後で確認に失敗しても検証済みのまま残ります。「削除する」で記録が消え、使えなくなります。
確認に失敗したとき
Section titled “確認に失敗したとき”失敗するとドメインの行に理由が表示されます。まだ検証していないドメインは「未検証」のままです。
| 表示 | 原因と対処 |
|---|---|
| TXTレコードが見つかりません。 | _actagate-challenge.<ドメイン> に TXT レコードがありません。名前を確認し、DNS の反映を待ってからもう一度押します |
| TXTレコードの値が一致しません。 | TXT レコードの値が画面の値と違います。値を貼り直します |
| DNSの確認に失敗しました。時間をおいて再試行してください。 | DNS の照会がタイムアウトしたか、失敗しました。時間をおいてもう一度押します |
| このドメインは別の組織で検証済みです。 | 同じドメインを検証済みにできるのは 1 つの組織だけです |
| ドメインの形式を確認してください。 | ドメインの形式が正しくありません。https:// や @、末尾のドットを付けずに入れます |
2. 振り分けるドメインと自動登録を設定する
Section titled “2. 振り分けるドメインと自動登録を設定する”「ドメインの検証」の下に、接続ごとの設定欄が並びます。
- 接続の「振り分けるドメイン」に、その IdP を使うメンバーのメールのドメインを入れます。複数あるときはカンマか空白で区切ります
- 招待していない人を初回のログインで登録するときは、「初回ログインでmemberとして自動登録する(既定は無効)」にチェックを入れます。既定ではチェックが外れています
- 「保存」を押します。同じ画面に戻ります
振り分けは、ログイン画面でメールアドレスを入れて「続ける」を押した人に効きます。メールのドメインが、ある有効な接続の振り分けるドメインに含まれ、そのドメインがこの組織で検証済みなら、その接続の IdP へ進みます。同じドメインを 2 つ以上の有効な接続に指定すると、どちらにも振り分けません。その場合はメールでのログインに進みます。
自動登録 (JIT) は、次の条件をすべて満たすときだけ利用者を作ります。作る利用者のロールは常に member です。ロールは「メンバー」で変えられます。
- 接続の「初回ログインでmemberとして自動登録する(既定は無効)」にチェックが入っている
- IdP が、メールアドレスを検証済みとして返している
- メールのドメインが、その接続の振り分けるドメインに含まれ、この組織で検証済みである
- 同じメールアドレスのメンバーがまだいない
既存のメンバーは作り直しません。同じメールアドレスのメンバーがいれば、そのメンバーへ紐づけます。ただし、オーナーと管理者には自動で紐づけません。次の手順 3 で、本人が紐づけます。
3. 自分のログイン方法に SSO を追加する
Section titled “3. 自分のログイン方法に SSO を追加する”オーナーと管理者は、初回の SSO ログインで自動では紐づきません。IdP に同じメールアドレスのアカウントがあっても同じです。ログイン画面には「管理者のログイン方法を追加するには、先に既存の方法でログインしてください。」と表示されます。必須化する人は、先に自分のアカウントへ SSO を追加します。
- メールのリンクか Slack で、普段どおりにログインします
- 「設定」(
/ws/settings) を開き、「ログイン方法」の「<接続名> を追加」を押します。IdP のサインイン画面が開きます - IdP にサインインします。「設定」に戻り、「ログイン方法を追加しました。」と表示されます。「ログイン方法」に接続名と「外す」が並びます
まだ必須化はできません。追加しても、いまのセッションはメールか Slack でログインしたときのまま変わらず、SSO でのログインとしては扱われないからです。
4. SSO でログインし直す
Section titled “4. SSO でログインし直す”- 画面右上の「ログアウト」を押します。ログイン画面に戻ります
- ログイン画面で「<表示名> で続ける」を押すか、メールアドレスを入れて「続ける」を押します。IdP のサインイン画面が開きます
- IdP にサインインします。ホームが開きます
5. SSO を必須にする
Section titled “5. SSO を必須にする”必須化できるのは、次の両方を満たすときだけです。満たさないときは「SSOを必須にする」のチェックボックスと「保存」が押せず、理由が表示されます。
| 表示 | 満たしていない条件 |
|---|---|
| 有効な接続が必要です。 | 有効な SSO の接続がない |
| 有効な接続でSSOログインしてから操作してください。 | 操作する人のいまのセッションが、有効な接続での SSO ログインではない |
テストやログイン方法の追加では足りません。手順 4 のとおり、いったんログアウトしてから有効な接続の IdP でサインインし直し、そのセッションで操作してください。
- 「設定」の「セキュリティ」(
/ws/settings/security) を開き、「SSOを必須にする」までスクロールします。チェックボックスが押せる状態になっています - 「SSOを必須にする」にチェックを入れ、「保存」を押します。同じ画面に戻り、チェックが入ったままになります
必須化するとどうなるか
Section titled “必須化するとどうなるか”使えるログインの方法は、ロールで変わります。
| ログインの方法 | オーナー (owner) |
オーナー以外のロール |
|---|---|---|
| SSO | ログインできる | ログインできる |
| メールのリンク | ログインできる (非常口) | ログインできない |
| Slack でのログイン | ログインできない | ログインできない |
- 拒否されたログインでは、ログイン画面に「この組織ではSSOでログインしてください。」と表示されます
- オーナー以外には、ログイン用のメールを送りません。招待のメールは届きますが、リンクはログイン画面を開くだけです
- オーナーのメールのリンクは、IdP の障害や設定ミスのときの非常口です。このリンクでログインして、必須化を解除できます
- 既存のセッションは切れません。必須化の前にメールや Slack でログインした人は、そのセッションが終わるまで使い続けられます
必須化中にできない操作
Section titled “必須化中にできない操作”最後の有効な接続は止められません。「無効化」を押すと「先にSSOの必須化を解除してください。最後の有効な接続は無効にできません。」と表示されます。認証に関わる設定を変えて、最後の有効な接続を下書きに戻す操作も同じ表示で拒否されます。
先に必須化を解除します。ほかにも有効な接続があるなら、必須化を解除しなくても、そのうちの 1 つを無効にできます。
必須化を解除する
Section titled “必須化を解除する”- 「設定」の「セキュリティ」(
/ws/settings/security) を開きます。IdP にログインできないときは、オーナーがメールのリンクでログインします - 「SSOを必須にする」のチェックを外し、「保存」を押します。同じ画面に戻り、チェックが外れた状態になります。解除はすぐに効き、メールのリンクと Slack でのログインがどのロールでも元どおり使えるようになります
SSO でログインし直す必要はありません。
監査ログに残る記録
Section titled “監査ログに残る記録”| 操作 | 監査イベント |
|---|---|
| ドメインの追加・削除 | sso.domain_added、sso.domain_removed |
| ドメインの確認 (成功・失敗とも) | sso.domain_verified (結果を含む) |
| 振り分けるドメイン・自動登録の変更 | sso.connection_updated |
| 自動登録で利用者を作った | sso.user_provisioned |
| 必須化・解除 | sso.enforced、sso.unenforced |
| 必須化中のオーナーのメールログイン | auth.login と sso.owner_bypass |
| 必須化中に拒否したメールのリンク | auth.failed (reason は sso_required) |
トークンは記録しません。