2.7.4 ログイン/ログアウト
外部IdP連携によるOps Iへのログインとログアウトについて説明します。
外部IdP連携でOps Iにログインするための前提条件を以下に示します。
- 外部IdPユーザーの属性情報が取得できること
外部IdPとOps Iのユーザーが連携するためには、それぞれのユーザーの属性情報のマッピングが必要です。以下はマッピングで必須の属性情報になります。値が不足していた場合ログインエラーになります。
マッピングの詳細については「属性/グループ/ロールのマッピング」を参照してください。- メールアドレス
- 名前(名)
- 苗字(姓)
- 外部IdPユーザーのメールアドレスがOps Iのメールアドレスの入力可能文字の条件を満たしていること
使用可能文字の条件を満たしていない場合、ログインエラーとなります。入力可能文字については「入力可能文字に関する注意事項」を参照してください。 - 外部IdPと連携済みのOps Iユーザー、または外部IdPと連携するOps Iのユーザーが有効であること
ユーザープロファイルで、[無効]状態のユーザーはログインすることはできません。
[無効]状態のユーザーと削除した(存在しない)ユーザーの状態は異なります。「ユーザーデータ再利用方針」は削除したユーザーに関する操作のため、[別のユーザーとしデータを引き継がない]を選択した場合でも[無効]状態のユーザーはログインできません。
(1)ログイン
外部IdP連携で認証プロバイダーのOIDCもしくはSAMLの接続設定を追加すると、Ops Iのログイン画面に追加した接続設定がボタンで表示されます(設定が有効になっている接続設定のみ)。外部IdP連携でログインする場合は、使用する外部IdPの接続設定のボタンを選択します。
ログイン画面で外部IdPのボタンを選択後は、ユーザーが外部IdPと連携済みか否か、外部IdPとOps Iどちらからログインするかなどの条件によって、ログインの操作が異なります。
異なるログイン操作のパターンは以下の通りです。
-
外部IdPとOps Iのユーザーが連携していない場合
- Ops Iに外部IdPのユーザーが存在しない場合に、外部IdPでログインする
- 外部IdPとOps Iに同一と判断されるユーザーが存在する場合に、外部IdPでログインする
-
外部IdPとOps Iのユーザーが連携済みの場合
- 外部IdPとOps Iのユーザーが連携済みの場合に、外部IdPでログインする
- 外部IdPとOps Iのユーザーが連携済みの場合に、Ops Iでログインする
外部IdPとOps Iのユーザーが連携済みかどうかは[ユーザー詳細]画面で確認できます。詳細については「ユーザーの詳細情報確認」を参照してください。[ユーザー詳細]画面では、ユーザーと外部IdPの連携解除も行えます。
また、使用する外部IdPが1つの場合、デフォルトで使用する外部IdPを設定することができます。これにより、ログイン画面で接続設定を選択する行程を省略することができます。詳細については「デフォルトのアイデンティティプロバイダー」を参照してください。
以下に、それぞれのログイン操作のパターンの詳細について説明します。
【Ops Iに外部IdPのユーザーが存在しない場合に、外部IdPでログインする】
Ops Iに外部IdPのユーザーが存在しない状態で、外部IdPでログインした場合の流れを以下に示します。
(図)Ops Iに外部IdPのユーザーが存在しない場合に、外部IdPでログインする
ユーザー名がOps Iの入力可能文字の条件を満たしていない場合、自動的にユーザー名が変換されます。変換内容については「ユーザー名の変換」を参照してください。
ユーザー名、またはメールアドレスが過去に削除した(OTOBOに情報が存在する)ユーザーと一致した場合は、ユーザーデータ再利用方針で設定した内容にしたがって、ユーザー情報を引き継ぐか否かが決まります。詳細については「ユーザーデータ再利用方針」を参照してください。
【外部IdPとOps Iに同一と判断されるユーザーが存在する場合に、外部IdPでログインする】
外部IdPとOps Iに同一と判断されるユーザーが存在する状態で、外部IdPでログインした場合の流れを以下に示します。ユーザー名かメールアドレスのどちらか、またはその両方が一致した場合に、同一ユーザーと判断されます。
以下のユーザーはOps Iの予約ユーザーのため、同一と判断された場合でもログインできません。
- ユーザー名:system
メールアドレス:system.opsi@example.com - ユーザー名:jp1cs_user
メールアドレス:jp1cs.opsi@example.com
(図)外部IdPとOps Iに同一と判断されるユーザーが存在する場合に、外部IdPでログインする
- メールでの確認
Ops Iのユーザー情報のメールアドレスにメールが送信されるので、メールに記載されているリンクにアクセスしてOps Iにログインします。 - ユーザー名とOps Iのパスワードで確認
Ops Iのユーザー名とパスワードでOps Iにログインします。すでに他の外部IdPと関連づいている場合は、その外部IdPでログインします。
【外部IdPとOps Iのユーザーが連携済みの場合に、外部IdPでログインする】
外部IdPのユーザーとOps Iのユーザーが連携済みの場合に外部IdPでログインする流れを以下に示します。
(図)外部IdPとOps Iのユーザーが連携済みの場合に、外部IdPでログインする
【外部IdPとOps Iのユーザーが連携済みの場合に、Ops Iでログインする】
外部IdPのユーザーとOps Iのユーザーが連携済みの場合にOps Iでログインする流れを以下に示します。
(図)外部IdPとOps Iのユーザーが連携済みの場合に、Ops Iでログインする
外部IdPとOps Iのユーザーが連携していない状態の時に外部IdPでログインすると、Ops Iにユーザーを作成、またはOps Iのユーザーと連携します。この時、外部IdPから取得したユーザー名がOps Iの入力可能文字の条件を満たしていない場合、ユーザー名が自動的に変換されます。変換内容を以下に示します。
- 大文字は小文字に変換する
- 入力可能文字以外の文字を"_"に変換する
- 連続する記号を一文字目だけに変換する
- 先頭・最後の記号を削除する
- 最小文字数未満の場合、最小文字数を満たすまで最後に"1"を追加する
- 最大文字数を超える場合、最大文字数でトリミングする
異なる外部IdPのユーザーが同一のユーザー名に変換された場合、2番目以降に変換されたユーザーはログインできません。
入力可能文字の詳細については「入力可能文字に関する注意事項」を参照してください。
注意事項
Ops Iと外部IdPのユーザーが同一ユーザーかの判断は、ユーザーが外部IdPと連携前か連携済みかで判断する条件が異なります。
- ユーザーが外部IdPと連携前の場合
ユーザー名かメールアドレスのどちらか、またはその両方が一致した場合に同一ユーザーと判断します。 - ユーザーが外部IdPと連携済みの場合
OIDCによる連携の場合は、OIDCが内部で持つUUIDによって同一ユーザーと判断します。これにより、外部IdP側でユーザー名やメールアドレスが変更されても、連携が解除されることなく同一ユーザーと判断することができます。
SAMLの場合は、SAMLの接続設定で[NameIDポリシー形式]、[プリンシパルタイプ]、および[プリンシパル属性]項目に設定した内容に依存します。
(2)ログアウト
外部IdPでOps Iにログインした場合に、Ops Iからログアウトする方法について以下に説明します。以下の方法では外部IdPからはログアウトしません。
Ops Iは、Ops I画面の右上の表示アイコン[個人]-[ログアウト]からログアウトすることができます。ログアウト処理が実施されると、[ログアウト完了]画面が表示されます。[ログアウト完了]画面のログイン画面に戻るボタンをクリックすると、Ops Iのログイン画面に遷移します。この時、[デフォルトのアイデンティティプロバイダー]を設定している、かつ外部IdPにログイン状態の場合は、自動的にOps Iに再ログインします。
[デフォルトのアイデンティティプロバイダー]については、「デフォルトのアイデンティティプロバイダー」を参照してください。
注意事項
外部IdP連携によるシングルサインアウトには対応していません。外部IdPでシングルサインアウトの設定は行わないでください。