ページの先頭行へ戻る
Systemwalker Cloud Business Service Management V1.0.0 ITサービス管理 管理者ガイド
FUJITSU Software

5.9.2 利用者のログインでLDAP認証する

Webコンソール(利用者用)のログインでLDAP認証を行うように、ログイン認証を変更します。また、利用者情報を管理サーバ(ITサービス管理機能)で管理せずに認証サーバで管理することができます。

事前の確認

  • LDAPに接続専用のユーザーを作成してください。
  • 本手順を実施すると、利用者情報をLDAPの認証サーバから参照するようになるため、Webコンソール(運用者/管理者用)から以下の操作ができなくなります。
    • 利用者の追加
    • 利用者の更新
  • 手順の中で、接続先のActive Directoryのホスト名またはIPアドレスを指定します。ホスト名を指定する場合は、名前解決ができることを確認してください。

目的・背景

本手順を実施すると、ITサービス管理内で利用者情報を管理することなくログイン認証を行うことができます。

手順

  1. 認証の設定をLDAPに変更します。
    1. ブラウザを起動して、以下のURLを指定します。
      http://管理サーバ(ITサービス管理機能)のホスト名またはIPアドレス:Webコンソールのポート番号/otrs/index.pl
    2. 管理者のユーザーでログインします。初回のログインでは以下のユーザーでログインします。
      ユーザー名
      swcbsmadmin
      パスワード
      ITサービス管理セットアップパラメーターファイルのITSM_ROOT_PASSWORDに指定した値、
      または、「5.9.1 運用者のログインでLDAP認証する」を設定している場合は、認証サーバ(Active Directory)に作成した管理者ユーザー"swcbsmadmin"のパスワード
    3. ナビゲーション・バーの[管理]をクリックします。
    4. [システム管理][システムコンフィグ]をクリックします。
    5. [選択した設定グループへ移動][Framework]を選択し、サブグループの[Frontend::Customer::Auth]をクリックします。
    6. 以下の設定を変更します。
      設定項目 設定値 チェックボックス
      Customer::AuthModule LDAP -
      Customer::AuthModule::LDAP::Host 接続先Active Directoryのホスト名またはIPアドレス

      例)

      ldap.example.com

      ON
      Customer::AuthModule::LDAP::BaseDN 認証用ユーザーを作成するBaseDN

      例)

      dc=example,dc=com

      ここで設定したBaseDNより下の階層のユーザーエントリーが利用者の対象となります。

      ON
      Customer::AuthModule::LDAP::UID ユーザーを特定できるLDAPの一意な属性名

      例)

      sAMAccountName

      ON
      Customer::AuthModule::LDAP::SearchUserDN LDAPに作成した接続用ユーザーのユーザー名

      例)

      ldap@example.com

      ON
      Customer::AuthModule::LDAP::SearchUserPw 接続用ユーザーのパスワード

      例)

      Password#123

      ON
      Customer::AuthModule::LDAP::Params

      async:0

      port:389

      timeout:120

      version:3

      ON
      CustomerUser::LDAP::Backend###UserDN [Customer::AuthModule::LDAP::SearchUserDN]と同一の値 ON
      CustomerUser::LDAP::Backend###UserPw [Customer::AuthModule::LDAP::SearchUserPw]と同一の値 ON
    7. [更新]をクリックします。
  2. 利用者情報をLDAP上から参照します。
    1. ITサービス管理がインストールされているサーバに、スーパー・ユーザーでログインします。
    2. ITサービス管理を停止します。
      ITサービス管理の停止については、「7.3 ITサービス管理を停止する」を参照してください。
    3. 設定ファイル"/opt/FJSVbsmotrs/Kernel/Config/Defaults.pm"をコピーして、バックアップします。
    4. 設定ファイル"/opt/FJSVbsmotrs/Kernel/Config/Defaults.pm"の「# (customer user ldap backend and settings)」の設定を以下のようにコメントアウトを解除(行頭の「#」を削除)し、有効にします。」
      • 編集部分
        # (customer user ldap backend and settings)
            $Self->{CustomerUser} = {
                Name => 'LDAP Backend',
                Module => 'Kernel::System::CustomerUser::LDAP',
                Params => {
                    # ldap host
                    Host => 'ldap.example.com',
                    # ldap base dn
                    BaseDN => 'dc=example,dc=com',
                    # search scope (one|sub)
                    SSCOPE => 'sub',
                    # The following is valid but would only be necessary if the
                    # anonymous user does NOT have permission to read from the LDAP tree
                    UserDN => 'ldap@example.com',
                    UserPw => 'Password#123',
                    # in case you want to add always one filter to each ldap query, use
                    # this option. e. g. AlwaysFilter => '(mail=*)' or AlwaysFilter => '(objectclass=user)'
                    AlwaysFilter => '(objectclass=user)',
                    # if the charset of your ldap server is iso-8859-1, use this:
                    SourceCharset => 'utf-8',
                    # die if backend can't work, e. g. can't connect to server
                    Die => 0,
                    # Net::LDAP new params (if needed - for more info see perldoc Net::LDAP)
                    Params => {
                        port    => 389,
                        timeout => 120,
                        async   => 0,
                        version => 3,
                    },
                },
                # customer unique id
                CustomerKey => 'sAMAccountName',
                # customer #
                CustomerID => 'company',
                CustomerUserListFields => ['sn','givenname', 'mail'],
                CustomerUserSearchFields => ["sAMAccountName", 'sn', "givenname", 'mail'], 
                CustomerUserSearchPrefix => '*',
                CustomerUserSearchSuffix => '*',
                CustomerUserSearchListLimit => 250,
                CustomerUserPostMasterSearchFields => ['mail'],
                CustomerUserNameFields => ['sn', 'givenname'],
                # show now own tickets in customer panel, CompanyTickets
                CustomerUserExcludePrimaryCustomerID => 0,
                # add a ldap filter for valid users (expert setting)
                # CustomerUserValidFilter => '(!(description=gesperrt))',
                # admin can't change customer preferences
                AdminSetPreferences => 0,
                # cache time to live in sec. - cache any ldap queries
                CacheTTL => 0,
                Map => [
                    # note: Login, Email and CustomerID needed!
                    # var, frontend, storage, shown (1=always,2=lite), required, storage-type, http-link, readonly
                    # [ 'UserTitle',      'Title',      'title',                     1, 0, 'var', '', 1 ],
                    [ 'UserFirstname',  'Firstname',  'givenname',                   1, 1, 'var', '', 1 ],
                    [ 'UserLastname',   'Lastname',   'sn',                          1, 1, 'var', '', 1 ],
                    [ 'UserLogin',      'Username',   'uid',                         1, 1, 'var', '', 1 ],
                    [ 'UserEmail',      'Email',      'mail',                        1, 1, 'var', '', 1 ],
                    [ 'UserCustomerID', 'CustomerID', 'company',                     0, 1, 'var', '', 1 ],
                    # [ 'UserCustomerIDs', 'CustomerIDs', 'second_customer_ids',     1, 0, 'var', '', 1 ],
                    [ 'UserPhone',      'Phone',      'telephonenumber',             1, 0, 'var', '', 1 ],
                    [ 'UserAddress',    'Address',    'postaladdress',               1, 0, 'var', '', 1 ],
                    [ 'UserComment',    'Comment',    'company',                     1, 0, 'var', '', 1 ],
                ],
            };
        
      • 編集する項目

        「編集部分」内の以下の項目を設定します。

        設定項目 設定値
        Host [Customer::AuthModule::LDAP::Host]と同一の値
        BaseDN [Customer::AuthModule::LDAP::BaseDN]と同一の値
        SourceCharset

        連携対象の認証サーバの文字コードがSJISの場合だけデフォルトの設定を変更します。

        例)

        iso-8859-1

        CustomerKey [Customer::AuthModule::LDAP::UID]と同一の値
        CustomerID 利用者グループに対応するLDAPの属性名

        例)

        'company'

        Map 利用者の各情報とLDAPの属性名の対応付け

        [Map]の3列目、[storage]の値を変更することで、利用者の各情報とLDAPの属性の対応付けを変更できます。[storage]の値は以下の表を参照してください。

        [storage]の値

        LDAP上の属性を参照し、必要に応じて設定してください。必須になっているパラメーターは必ず対応付ける必要があります。
        var storageのデフォルト値 必須 storage(推奨値) 利用者管理画面のラベル名
        UserFirstname givenname sn
        UserLastname sn givenname
        UserLogin uid sAMAccountName ユーザー名
        UserEmail mail mail メール
        UserCustomerID mail company 利用者グループID
        UserPhone telephonenumber   - 電話
        UserAddress postaladdress   - アドレス
        UserComment description   - コメント
    5. ITサービス管理を起動します。
      ITサービス管理の起動については、「7.2 ITサービス管理を起動する」を参照してください。

事後の確認

  1. ブラウザを起動して、以下のURLを指定します。

    http://管理サーバ(ITサービス管理機能)のホスト名またはIPアドレス:Webコンソールのポート番号/otrs/customer.pl
    
  2. LDAP上に作成されている利用者のユーザーでログインできることを確認します。

    ユーザー名
    [Customer::AuthModule::LDAP::UID]で設定した属性の値
    パスワード
    ユーザー名で入力したユーザーに対応するパスワード