株式会社ソフテックは、2022年4月1日に株式会社サイバーセキュリティクラウドに吸収合併されました。詳しくはこちら。

OpenID Connect 対応機能


SIDfm VM では、OpenID Connect によってユーザ認証を行うことができます。
本ページでは、SIDfm VM における OpenID Connect の機能について説明します。

概要

SIDfm VM の OpenID Connect 対応機能は、OpenID Connect を利用して、SIDfm VM のユーザ認証(ログイン)を行うための機能です。
以下の機能が含まれております。

  • SIDfm VM のユーザ認証(ログイン)を、OpenID Connectで行うよう設定する機能
  • OpenID Connect での認証時に作成されるユーザのカスタムカテゴリ、及び SIDfmV M 権限を自動的に設定する機能

なお、OpenID Connect での認証成功時に、SIDfm VM 側で、ログインユーザは以下のように扱われます。

OpenID プロバイダー側に登録されているメールアドレスと同一のメールアドレスのユーザが、SIDfm VM に登録されていない場合
  • ユーザが自動で新規登録されます。
  • ログイン名は、OpenIDプロバイダー側の設定に記載されている内容が設定されます。※OpenID Connect で認証する限りは、認証が OpenID プロバイダーで行われるため、SIDfm VM にログインする際に SIDfm VM のログイン名が使用されることはありません。
  • パスワードは登録されません。
  • 姓・名は、OpenID プロバイダーに登録されているものが設定されます。
  • メールアドレスは、OpenID プロバイダーに登録されているものが設定されます。
  • 認証方式は OpenIDConnect が設定されます。
  • SIDfm VM 権限は、OpenID Connect の設定で指定されているものが設定されます。
  • カスタムカテゴリは、OpenID Connect の設定で指定されているものが設定されます。
  • メール通知設定は、「有効」が設定されます。
OpenID プロバイダー側に登録されているメールアドレスと同一のメールアドレスのユーザが、SIDfm VM に登録されている場合
認証成功後は、その登録されているユーザとして扱われます。ログイン名等の情報が自動的に変更されることはありません。
予めカスタムカテゴリや権限等を適切に設定したユーザを登録しておくことで、初回ログイン時から設定済みのユーザで SIDfm VM を利用することができます。

以上のように、メールアドレスによってユーザの扱いが変わるため、SIDfm VM に登録されているメールアドレスの取扱いにご注意下さい。
また、運用についてもご参照下さい。

OpenID プロバイダー側の設定

SIDfm VM の OpenID Connect 対応機能を利用する際は、OpenID プロバイダー側でも設定を行う必要があります。
詳細は、利用される OpenID プロバイダーのマニュアル等をご参照下さい。

SIDfm VM で Redirect URI として使用する Sign-in 用 URL、Sign-out 用 URL は以下の通りです。

[Sign-in]
メール通知設定用のURLの設定値/oic/local_login
[Sign-out]
メール通知設定用のURLの設定値/oic/local_logout

「メール通知設定用の URL」は、SIDfm VM 管理者権限のユーザでログインして、左袖メニューの設定/システム設定から変更可能です。設定方法については、こちらをご参照下さい。
この設定が正しくない場合、OpenID Connect でのログインができませんので、ご注意下さい。
なお、この設定は、実際に SIDfm VM サーバに Web ブラウザで Web アクセスする際の URL で記載する必要があります。
リバース Proxy サーバ等でパスを変更している場合は、変更された後の URL で指定しなければ動作しません。

また、OpenID プロバイダー側に登録されているメールアドレスと同一のメールアドレスのユーザが、SIDfm VM に登録されていない場合に、SIDfm VM で自動的にユーザを登録する際のログイン名は、以下の順で存在し、かつ、長さが1以上のものが選択され設定されます。

  1. user_name
  2. nickname
  3. preferred_username

全て存在しない場合や、ログイン名が既に SIDfm VM に登録されている場合は、ログイン時にユーザを登録することができずエラーとなりますので、ご注意下さい。

SIDfm VM の OpenID Connectの設定

以下の手順で設定します。

  1. SIDfm VM サーバに、SIDfm VM 管理者権限のユーザでログインします。

  2. 「メール通知設定用のURL」について、実際に Web ブラウザから SIDfm VM サーバにアクセスする際の URL を設定して下さい。設定方法については、こちらをご参照下さい。
    既に設定済の場合は、次に進んで下さい。
    OpenID Connect を利用する際には、以下のようにする必要があります。

    • 例 : ログイン画面のURLが「http://xxxx.example.com/redmine/login」の場合
      http://xxxx.example.com/redmine
  3. カスタムカテゴリが1つも登録されていない場合は、カスタムカテゴリを登録して下さい。設定方法については、こちらをご参照下さい。

  4. 左袖の「設定」メニューにある、「OpenID Connect設定」をクリックします。

  5. 画面下にある、「設定変更」ボタンをクリックします。

  6. 各項目を設定し、「更新」ボタンをクリックします。

    項目 内容
    有効/無効 OpenID Connect 機能の有効・無効を指定します。
    有効にすると、ログイン画面に、OpenID Connect でログインするための「Login with SSO」ボタンが表示されるようになります。
    無効にすると、OpenID Connect でのログインはできなくなります。
    クライアント ID (Client ID) OpenID プロバイダー側で生成されたクライアント ID を設定します。
    OpenID ConnectサーバのURL OpenID プロバイダーの URL を設定します。
    SIDfm VM サーバから、以下の URL にアクセスして OpenID プロバイダーの情報を取得するため、 もそれに合わせて設定する必要があります。
    この項目で設定されたURL/.well-known/openid-configuration
    なお、SIDfm VM サーバから対象 URL へアクセス可能である必要がありますので、ご注意下さい。
    クライアントシークレット(Client Secret) OpenID Connectプロバイダ側で生成されたクライアントシークレットを設定します。
    OpenID Connectのスコープ OpenID Connect で取得可能な情報の範囲を指定します。
    ここでは「openid,email,profile」 と入力してください。
    それぞれの意味は以下の通りです。
    • openid: OpenID Connect の標準の情報
    • email: メールアドレスの情報
    • profile: ユーザの情報(名前等)
    SSL 検証の無効化 SIDfm VM サーバから、「OpenID ConnectサーバのURL」の項目で示したURLにアクセスする際に、SSL 証明書の検証を行うかどうか、という設定です。
    OpenID プロバイダー側で、正規の SSL 証明書を設定している場合は「無効化しない」を設定し、それ以外の場合は「無効化する」を設定します。
    OpenID プロバイダーの URL が http の場合には、本設定は無視されます。
    また、この設定は SSL 証明書の検証の有無のみで、URL が https だった場合は、通信路の暗号化については有効になります。
    なお、最初の認証テストを行う際には、問題の切り分けを行うために「無効化する」で認証できることを確認した後に、「無効化しない」に設定することを推奨いたします。
    未登録ユーザがログインする時の権限 OpenID プロバイダー側に登録されているメールアドレスと同一のメールアドレスのユーザが、SIDfm VM に登録されていない場合に、ユーザが初めて OpenID Connect でログインした時に設定されるSIDfm VM 権限を指定します。
    SIDfm VM 閲覧者権限を指定することを推奨します。
    なお、SIDfm VM 管理者権限は指定できません。
    未登録ユーザがログインする時のカテゴリ OpenIDプロバイダー側に登録されているメールアドレスと同一のメールアドレスのユーザが、SIDfm VM に登録されていない場合に、ユーザが初めて OpenID Connect でログインした時に設定されるカスタムカテゴリを指定します。

    ※有効/無効が有効で、且つ設定値に誤りがある場合は、ログイン画面で「Login with SSO」ボタンをクリックした時に、エラーになり動作しませんので、ご注意下さい。エラーになった場合は設定値を確認し、正しい値を再設定して下さい。

OpenID Connect設定後

OpenID Connect設定を有効にすると、ログインとログアウトに、以下の違いが生じます。

  • ログイン画面に「Login with SSO」ボタンが表示されます。
    OpenID Connectでのログインを行う場合は、通常の「ログイン」ボタンではなく、「Login with SSO」ボタンをクリックしてください。
    通常の「ログイン」ボタンでのログインは、認証方式に「パスワード認証」が設定されているユーザのみ可能です。
  • ログアウト時に自動的にログイン画面に遷移せず、「You have been logged out. Click here to log in again.」のメッセージがあるログアウト画面が出力されるようになります。
    ログイン画面に遷移するには「Click here to log in again.」のリンクを押下してください。
    画面右上の「ログイン」のリンクからログイン画面に遷移すると、再ログイン時にログアウト画面が表示される場合がありますのでご注意下さい。

運用について

SIDfm VM のベースとなっているシステムでは、パスワード認証以外の認証方式を利用する際にログイン時にユーザを作成し、内部的にはそのユーザでログインしたものとして処理するように実装されており、SIDfm VM もその動作に従います。
OpenID Connect の場合は、認証成功時にメールアドレスが同一であるユーザが既に登録されていた場合は、ユーザを作成せずそのユーザとしてログインします。
そのため、以下の 3 種類のいずれかの方法での運用が必要になります。

  1. 事前に SIDfm VM 権限とカスタムカテゴリを適切に設定したユーザを登録しておく

    事前にユーザを登録しておくことで、ユーザに適切な SIDfm VM 権限とカスタムカテゴリを与えた状態でアクセスすることが可能です。
    この場合、OpenID プロバイダー側に登録されているメールアドレスと一致するメールアドレスを、ユーザに設定する必要があります。
    OpenID Connect でのログインでは、ユーザに指定したログイン名は SIDfm VM の認証に使用されません。
    また、認証方式を「OpenIDConnect」と指定したユーザは、通常のパスワード認証でのログインはできないようになっております。
    なお、パスワード認証で登録したユーザが、OpenID プロバイダー側に登録されているユーザのメールアドレスと一致する場合、そのユーザはパスワード認証と OpenID Connect での認証の両方でログインできるユーザとなります。

  2. OpenID Connectでのログイン後、登録されたユーザに対してSIDfm VM 権限とカスタムカテゴリを再設定する

    OpenID Connect 設定で、SIDfm VM 権限を SIDfm VM 閲覧者に、カスタムカテゴリを登録用の一時的なカスタムカテゴリ(ホストは一切紐づけず、OpenID Connect 専用のカテゴリとします)に設定しておき、このカスタムカテゴリに属するユーザに対して、別の SIDfm VM 管理者か SIDfm VM 報告者のユーザ(前述の、登録用の一時的なカテゴリに属する必要があります)が、SIDfm VM 権限とカスタムカテゴリを付与します。
    1.と異なるのは、一度利用者に OpenID Connect でログインを実施させてから設定を行う必要があるということです。

  3. ログインしたユーザがそのまま利用する

    この方法は小規模組織向けです。
    OpenID Connect 設定で、SIDfm VM 権限を SIDfm VM 報告者にし、カスタムカテゴリを全てのホストが属するカテゴリを指定することで、OpenID Connect でのログイン時に、特に何も操作を行わずに、全ての情報の閲覧・操作が可能となります。
    但し、カスタムカテゴリによるアクセス制御が事実上できなくなりますので、OpenID Connect でログインするユーザを全て信頼できる場合にのみ採用を検討してください。

注意点

以下に OpenID Connect 設定に関する注意点を記載します。

  • ログイン名が「admin」及び 「sidfmadm」のユーザについては、パスワード認証のままとしてください。
    上記のユーザの認証方式を「OpenIDConnect」にした場合、OpenID プロバイダーへのアクセスができなくなるとログインができなくなり、SIDfm VM サーバの管理操作が一切出来なくなります。
    ※OpenID Connect 設定とは関連がありませんが、ログイン名が「sidfmadm」のユーザについては、ログイン名の変更やユーザの削除を行うと、 サーバで動作しなくなる処理が存在しますので、このユーザについては操作しないようご注意下さい。
  • 一度 SIDfm VM に OpenID Connect でログインした後、メールアドレスを変更してから再度 OpenID Connect でログインを行うと、それぞれ別のユーザとして SIDfm VM サーバに登録または認識されます。 そのため、OpenID プロバイダー側でメールアドレスを変更した後も、SIDfm VM 側で同一ユーザとして扱うには、OpenID プロバイダー側でメールアドレスの変更後、先に SIDfm VM 側の対象ユーザのメールアドレスを変更してから、OpenID Connect でログインを行う必要があります。