This Project Has Not Released Any Files
コントロールパネルについてひと通り見てきたので、どのように動作するのかであるとか、左側のナビゲーションにオプションがすべて表示され、インタフェースは中央に、詳細なオプションは右側に表示されるのだ、といったことについてはよくわかるようになったはずです。ここまでは、ユーザやポータルのセキュリティの保守に焦点を当ててきました。ポータルカテゴリの残りのリンクは、ポータルがどのように動作し、お手持ちの他のシステムとどのように統合されるのかという、ポータルに関する各種設定に焦点を当てるものです。
パスワードポリシーはポータルのセキュリティ向上に役立ちます。パスワードポリシーを使って、パスワードの強度やパスワードの有効期限をはじめとする、パスワードについての規則を設定することができます。さらに、ポータル内の各種のユーザの組に対して、各種の規則の組を適用することができます。
コントロールパネル以外のページを表示中の場合は、ドックバーからコントロールパネルを選択してください。次に、画面左端で「ポータル (Portal)」カテゴリにある「パスワードポリシー (Password Policies)」のリンクをクリックします。システムにはすでにデフォルトのパスワードポリシーがあることがわかるでしょう。ポータルの他のリソースを編集するときと同じやり方で、このパスワードポリシーも編集できます。すなわち、「操作 (Actions)」をクリックし、続いて「編集 (Edit)」をクリックします。
すると、パスワードポリシー」の設定フォームが表示されます。
変更可能 (Changeable): ユーザが自分のパスワードを変更できるかどうかを選択します。
変更必須 (Change Required): ユーザが初回ログイン時に自分のパスワードを変更しなければならないかどうかを選択します。
変更禁止期間 (Minimum Age): パスワードを変更せずに利用しなければならない期間を選択できます。
Reset ticket max age: パスワードリセットリンクの有効期限を選択できます (訳注: Liferay 6.0.5 ではこの項目のラベルが日本語化されていません)。
パスワード構文確認 (Syntax Checking): 辞書に載っている単語をパスワードにできるかどうかや、パスワードの最小文字数を選択できます。
パスワード履歴 (Password History): パスワードの履歴を (指定された件数まで) 保持し、以前に使ったのと同じパスワードに変更できないようにします。チェックボックスを使って有効・無効を切り替えられます。
パスワード有効期限 (Password Expiration): パスワードが無効になるまでの期間を選択できます。有効期間、警告を行う時期、猶予回数を選択でき、チェックボックスを使って有効・無効を切り替えられます。
ロックアウト (Lockout): 試行失敗が一定回数記録されたらユーザのアカウントをロックアウトするように設定することができます。管理者でなければアカウントのロックを解除できないようにするか、指定した期間が経過したら解除されるようにすることができます。チェックボックスを使って有効・無効を切り替えられます。
パスワードポリシーの一覧から、いくつかの操作を行うことができます。
編集 (Edit): 上記のフォームに移動してパスワードポリシーを修正することができます。
権限設定 (Permissions): このパスワードポリシーの編集権限を持つユーザ、ユーザグループ、ロールを指定できます。
メンバの配属 (Assign Members): ポータル内のユーザを検索・選択し、このパスワードポリシーに割り当てるための画面が表示されます。ここで追加されたユーザ全員に対して、パスワードポリシーが強制されます。
削除 (Delete): この項目はデフォルト以外で追加したパスワードポリシーにのみ表示されます。デフォルトのポリシーは削除できません。
「設定 (Settings)」のリンクには、ポータル全体に関わる設定のほとんどが置かれています。
一般 (General): 企業名、ドメイン、バーチャルホスト、ポータル全体のロゴなど、全体の設定を変更することができます。
認証 (Authentication): ログイン ID、LDAP への接続、シングルサインオンの設定を行うことができます。
ユーザ (Users): タブが 3 つあり、「フィールド (Fields)」「予約済みユーザ (Reserved Credentials)」「デフォルトの関連付け (Default User Associations)」というラベルが付いています。「フィールド」タブでは、誕生日や利用規約といったユーザ関連のフィールドの一部について、有効・無効を切り替えられます。「予約済みユーザ」タブでは、スクリーンネームやメールアドレスを予約して、ユーザが登録できないようにすることができます。これを使用して、不適切なユーザ名や、admin もしくは president といった公式のアカウントに見えるようなユーザ名でポータルへのユーザ登録が行われることを防止することができます。「デフォルトの関連付け」タブでは、新規ユーザをデフォルトで所属させるロール、ユーザグループ、コミュニティを設定することができ、用意されているチェックボックスを使えば既存のユーザにも遡及して適用することができます。
メールホスト名 (Mail Host Names): あなたの組織に関連付けるメールホスト名の一覧に追加を行うことができます。例えば、メインのドメイン名が mycompany.com だとして、ニュースレターのメールでは mycompany-marketing.com を使うようにすることが可能です。組織に関連付けられるドメイン名をここで設定できます。
メール通知 (Email Notifications): Liferay はユーザ登録やパスワード変更などが行われた際にメール通知を送信します。通知のメッセージをここでカスタマイズできます。
各設定について、以下で詳しく見ていきましょう。
「一般 (General)」のリンクでは、ポータルを運営している企業/組織/サイトの名前を設定できます。ここで名前を設定すると、ポータルのデフォルトコミュニティの名前も変更されます。デフォルトでは liferay.com になっており、必ず組織にあわせて設定するのがよいでしょう。バーチャルホスト、メールアドレスのドメイン、その他組織に関する細かい情報を数項目設定することもできます。
「認証 (Authentication)」のリンクは、その下にいくつかタブがあります。いずれのタブも、Liferay でのユーザ認証の方法を設定するためのものです。Liferay は多数の認証方式に対応しているため、それぞれに対して設定があります。
一般の設定は、Liferay の機能にのみ影響するもので、他のタブで行う統合オプションとはまったく関係しません。このタブでは、認証に関する Liferay 出荷時のふるまいをカスタマイズすることができます。具体的には、「一般」タブで、認証全般に関わるいくつかの設定を選択することができます。
デフォルトでは、最後の項目以外はすべて有効になっています。デフォルトの中でひとつ重要なのは、ユーザがメールアドレスで認証を行うことができることです。以下に挙げるいくつかの理由から、Liferay ではデフォルトでそのようになっています。
以上の理由から、Liferay ではデフォルトでメールアドレスをユーザ名として使用しています。
Liferay から LDAP ディレクトリへの接続は、コントロールパネルを通じて迷うことなく行えます。ただし、LDAP の設定を行える場所が、portal-ext.properties (次章で取り上げます) とコントロールパネルの 2 つあり、コントロールパネルの方は設定がデータベースに格納されます。両方使用した場合、データベースの設定が portal-ext.properties の設定をオーバーライドするという点に注意が必要です。このため、多くのユーザには、コントロールパネルを使って LDAP 設定を行うことをお勧めします——こちらの方が簡単で、Liferay の再起動も不要だからです。逆に portal-ext.properties ファイルを使うべき理由をひとつだけ挙げると、同じ LDAP ディレクトリを利用するよう設定する Liferay ノードがたくさんある場合というのがそれです。そのような場合には、初期配備時に portal-ext.properties ファイルをすべてのノードにコピーする方が容易で、初回起動時に正しく設定が行えます。いずれの方式を利用するにしろ、設定内容は同じです。
LDAP 設定画面が、ポータル全体に関係する値を設定する場所になります。
有効にする (Enabled): LDAP 認証を有効にするにはこのボックスにチェックを入れます。
必須にする (Required): LDAP 認証を必須にするにはこのボックスにチェックを入れます。必須にすると、最初に LDAP ディレクトリへのバインドが成功しないとユーザが Liferay にログインできないようになります。Liferay アカウントがあって LDAP アカウントがないユーザでもポータルにログインできるようにしたい場合は、このボックスのチェックを外してください。
ここで LDAP サーバを追加できます。2 つ以上ある場合、上下の矢印を使って、優先順に沿って並び替えることができます。LDAP サーバを追加する場合、Liferay がそのサーバにバインドしてユーザレコードを検索できるように、いくつかデータを登録する必要があります。LDAP サーバの追加数にかかわらず、各サーバの設定オプションは同じです。
有名どころのディレクトリサーバが数種類、ここに並べられています。お使いのサーバがある場合はそれを選択すると、フォームの残りの部分にそのディレクトリ向けの適切なデフォルト値が自動記入されます。
この設定は、LDAP への基本的な接続を扱うものです。
ベースプロバイダ URL (Base Provider URL): LDAP サーバの場所を指定します。Liferay がインストールされているマシンが、指定した LDAP サーバと通信できる状態にあることを確認しておいてください。両システム間にファイアウォールがある場合は、適切なポートが開いてあるかをチェックしておいてください。
ベース DN (Base DN): お使いの LDAP ディレクトリで使用するベース識別名です。通常は組織の構成によって決められます。営利組織の場合、dc=companynamehere,dc=com のようになるでしょう。
プリンシパル (Principal): デフォルトでは、管理者の ID をここに記入します。デフォルトの LDAP 管理者が削除済みの場合は、他に使っている、管理者権限のある資格情報の完全修飾名を使用する必要があります。Liferay はこの ID を使ってユーザアカウントと LDAP の同期を行うため、管理者権限のある資格情報が必要になります。
資格 (Credentials): 管理者ユーザのパスワードです。
LDAP ディレクトリへふつうに接続するために必要な項目は以上です。残りの設定項目は必須ではありません。一般的には、デフォルトの属性マッピングがあれば、ユーザがログインしようとした際に Liferay データベースへ同期しなおすのに十分です。LDAP サーバへの接続をテストするには、「LDAP 接続のテスト (Test LDAP Connection)」ボタンをクリックします。
資格情報が暗号化されずにネットワークで送受信されるのを防ぐために LDAP ディレクトリを SSL モードで運用している場合、両システム間で暗号鍵と証明書を共有するために、もう少し作業を行う必要があります。
例えば、お使いの LDAP ディレクトリが Windows Server 2003 上の Microsoft Active Directory であったとすると、以下の手順に沿って証明書を共有します。
Windows 2003 ドメインコントローラで、「証明書」の MMC スナップインを開きます。「証明書 (ローカル コンピュータ)」の MMC スナップイン→「信頼されたルート証明機関」→「MyRootCACertificateName」を選択して、ルート証明機関の証明書をエクスポートします。この証明書を右クリックし、「すべてのタスク」→「エクスポート」→「DER encoded binary X.509 (.CER)」を選択します。エクスポートされた .cer ファイルを Liferay ポータルサーバにコピーします。
CAS のインストール (この後の「シングルサインオン」の節を参照) と同様に、証明書を cacerts キーストアにインポートする必要があります。インポートは以下のようなコマンドを使って行います。
keytool -import -trustcacerts -keystore /some/path/jdk1.5.0_11/jre/lib/security/cacerts -storepass changeit -noprompt -alias MyRootCA -file /some/path/MyRootCA.cer
keytool ユーティリティは Java SDK に付属しています。
完了したら、コントロールパネルで LDAP のページに戻ります。ベース DN 欄の LDAP URL を修正し、プロトコルを https (訳注: ldaps の誤植?) にしてセキュアバージョンに、また、ポートを 636 にして、以下のようにします。
ldaps://myLdapServerHostname:636
変更を保存します。これで Liferay Portal が認証にセキュアモードの LDAP を使用するようになりました。
このセクションには、LDAP ディレクトリでユーザを検索するための設定項目があります。
認証検索フィルタ (Authentication Search Filter): 検索フィルタのボックスを使って、ユーザログイン時に使用する検索条件を決めることができます。デフォルトでは、Liferay はメールアドレスをユーザのログイン名として使用します。この設定を変更した場合 (コントロールパネルの「設定」→「認証」セクションで、「LDAP」タブの隣にある「一般」タブで行えます) はここで検索フィルタを修正する必要があります。デフォルトの検索フィルタは LDAP のメールアドレス属性を検索条件として使うように設定されているためです。例えば、Liferay の認証方式をメールアドレスからスクリーンネームに変更した場合、入力されたログイン名でマッチングするために、検索条件を以下のように修正する必要があるでしょう。
(cn=@screen_name@)
検索フィルタのインポート (Import Search Filter——訳注: 日本語表記は誤訳。正しくは「インポートの検索フィルタ」): LDAP サーバの種類によって、ユーザを識別する方法が異なりmさう。一般的にはデフォルトの設定 (objectClass=inetOrgPerson) で問題ありませんが、ユーザの一部だけを検索対象にしたい場合や、ユーザのオブジェクトクラスが異なる場合は、この項目を変更できます。
ユーザマッピング (User Mapping): 以降のいくつかの欄で、LDAP 属性から Liferay のフィールドへのマッピングを定義することができます。お使いの LDAP ユーザ属性は LDAP サーバごとに異なる場合がありますが、Liferay でユーザを認識するためにマッピングの必要な項目が 5 つあります。LDAP の対応する属性から Liferay の下記フィールドへのマッピングを定義しなければなりません。
コントロールパネルでは一般的に使われている LDAP 属性についてデフォルトのマッピングが用意されています。必要に応じて自分でマッピングを追加することもできます。
LDAP ユーザのテスト (Test LDAP Users): 属性マッピングの設定 (上述) が終わったら「LDAP ユーザのテスト」ボタンをクリックすると、Liferay は LDAP ユーザの取り込みとマッピングを試み、プレビューが表示されます。
このセクションには、LDAP のグループを Liferay にマッピングするための設定項目があります。
検索フィルタのインポート (Import Search Filter——訳注: 日本語表記は誤訳。正しくは「インポートの検索フィルタ」): Liferay にマッピングしたい LDAP グループを検索するためのフィルタです。マッピング用に取得したい LDAP グループ属性を入力してください。以下の属性がマッピングできます。
LDAP グループのテスト (Test LDAP Groups): 「LDAP グループのテスト」をクリックすると、指定した検索フィルタによって返されたグループの一覧が表示されます。
ユーザ DN (Users DN): LDAP ツリー内でユーザが格納されている場所を入力します。Liferay がエクスポートを行う際、この場所にユーザをエクスポートします。
ユーザのデフォルトのオブジェクトクラス (User Default Object Classes): ユーザのエクスポート時、ここに挙げられたデフォルトのオブジェクトクラスでユーザが作成されます。お使いの環境でデフォルトのオブジェクトクラスが何であるか調べるには、JXplorer などの LDAP 閲覧ツールを使用してユーザを探し、そのユーザについて LDAP 内で格納されている Object Class 属性を表示してください。
グループ DN (Groups DN): LDAP ツリー内でグループが格納されている場所を入力します。Liferay がエクスポートを行う際、この場所にグループをエクスポートします。
グループのデフォルトの目的クラス (Group Default Object Classes——訳注: 日本語表記は誤訳。正しくは「グループのデフォルトのオブジェクトクラス」: グループのエクスポート時、ここに挙げられたデフォルトのオブジェクトクラスでグループが作成されます。お使いの環境でデフォルトのオブジェクトクラスが何であるか調べるには、JXplorer などの LDAP 閲覧ツールを使用してグループを探し、そのグループについて LDAP 内で格納されている Object Class 属性を表示してください。
オプションをすべて設定し、接続をテストしたら、「保存 (Save)」をクリックします。この画面から、他の LDAP サーバを追加したり、すべての LDAP サーバ接続に適用されるオプションをあといくつか設定できます。
インポートを有効 (Import Enabled): このボックスにチェックを入れると、Liferay が LDAP ディレクトリから一括インポートを行うようになります。ログインしてきたユーザだけを同期させたい場合は、このボックスのチェックを外したままにします。クラスタ環境で作業している場合は、必ずチェックをはずしたままにしてください。さもないと、すべてのノードが起動時に一括インポートを行おうとしてしまいます。
このボックスにチェックを入れた場合は、もうひとつオプションが表示されます。
スタートアップ時のインポートを有効 (Import on Startup Enabled): このボックスにチェックを入れると、Liferay が起動時にインポートを実行するようになります。このボックスは上記の「インポートを有効」にチェックを入れた場合のみ表示されます。
エクスポートを有効 (Export Enabled): このボックスにチェックを入れると、Liferay がユーザアカウントをデータベースから LDAP にエクスポートするようになります。Liferay はリスナを使って User オブジェクトに対する変更を追跡し、User オブジェクトが更新される度に変更内容を LDAP サーバに書き出します。なお、デフォルトではログインの都度 LastLoginDate (最終ログイン日時) が更新されます。そのため、エクスポートを有効にすると、ログインが行われる度にユーザのエクスポートが発生するという影響があります。portal-ext.properties ファイルで以下のプロパティを設定すると、この挙動を無効にすることができます。
users.update.last.login=false
LDAP のパスワードポリシーを利用 (Use LDAP Password Policy): デフォルトでは、Liferay は独自のパスワードポリシーを使用します。これはコントロールパネル左端の「ポータル」セクションにある「パスワードポリシー」のリンクで設定変更が可能です。LDAP ディレクトリで定義されているパスワードポリシーを使用したい場合は、このボックスにチェックを入れます。有効になると、「パスワードポリシー」タブには、ローカルのパスワードポリシーを使用していない旨のメッセージが表示されるようになります。以降は LDAP ディレクトリのパスワードポリシー設定機能を使用する必要があります。Liferay は、LDAP サーバから返される LDAP コントロールのメッセージを解析することでこれを実現します。デフォルトでは、LDAP コントロールのメッセージのうち Liferay の検知対象となるのは、Fedora Directory Server が返すメッセージです。他の LDAP サーバをお使いの場合、設定を行うための GUI がまだないため、Liferay の portal-ext.properties ファイルでメッセージをカスタマイズする必要があります。これについては設定手順を後述します。
LDAP の設定が完了したら、「保存 (Save)」ボタンをクリックします。
LDAP 設定の大半はコントロールパネルで行えますが、portal-ext.properties を編集するしかない設定パラメータもいくつかあります。こういったオプションは、Liferay Portal の将来のバージョンでは GUI で利用できるようになる予定ですが、現時点ではプロパティファイルの編集でしか設定変更できません。
該当するオプションを変更する必要がある場合は、portal.properties ファイルから portal-ext.properties ファイルに LDAP セクションをコピーしてください。LDAP の設定をすでに GUI で行っているため、GUI で変更済みの設定と同じものについては、プロパティファイルで設定しても無視されます。GUI は設定内容をデータベースに格納しており、常にプロパティファイルよりも優先されます。
ldap.auth.method=bind #ldap.auth.method=password-compare
LDAP 認証の方式を、bind と password-compare のいずれかに設定します。たいていのベンダでは、暗号化方式を気にせずにすむ bind の方がお勧めです。password-compare は文字通りパスワードの比較を行います。LDAP からユーザのパスワードを読み出して復号化し、Liferay のユーザパスワードと比較し、両者を同期します。
ldap.auth.password.encryption.algorithm= ldap.auth.password.encryption.algorithm.types=MD5,SHA
プロパティ ldap.auth.method が password-compare の場合にパスワード比較で使用するパスワードの暗号化方式を設定します。
ldap.import.method=[user,group]
この項目を user に設定すると、Liferay は LDAP ツリーの指定された範囲からすべてのユーザをインポートします。group に設定すると、Liferay はすべてのグループを検索し、各グループのユーザをインポートします。グループに所属していないユーザがいた場合はインポートされません。
ldap.error.password.age=age ldap.error.password.expired=expired ldap.error.password.history=history ldap.error.password.not.changeable=not allowed to change ldap.error.password.syntax=syntax ldap.error.password.trivial=trivial ldap.error.user.lockout=retry limit
上記のプロパティは、LDAP サーバから返される可能性のあるエラーメッセージのフレーズを挙げるものです。ユーザを LDAP にバインドする際、サーバは成功または失敗のメッセージにコントロールを付けて返すことがあります。コントロールには、エラーを説明するメッセージや、応答と一緒に返される情報が含まれています。コントロールは LDAP サーバ間で変わりませんが、メッセージは異なります。上記のプロパティには、そういったメッセージに含まれる語句の断片が記述されており、Red Hat の Fedora Directory Server であわせてあります。他のサーバをお使いの場合は、設定されている内容ではお使いのサーバでうまく動かない場合があります。その場合はお使いのサーバのエラーメッセージにあわせて上記のプロパティの値を置き換えることができます。それにより、Liferay がエラーメッセージを認識できるようになります。
シングルサインオンのソリューションを利用すると、一度のログインで複数のシステムを利用できるようになります。この設定項目により、人々がシングルサインオン製品で認証を行い、Liferay やその他の製品に自動的にログインできるようになります。
本書執筆時点で、Liferay は複数のシングルサインオンソリューションに対応しています。もちろん、お使いの製品が未対応の場合は、拡張環境を使ってご自分で対応を実装することができます。あるいは、あなたの組織がスポンサーとなって Liferay にその製品への対応を追加することもできます。こちらについて詳しくは、sales@liferay.com までお問い合わせください。
CAS は、元々イェール大学で作成された認証システムです。広く使われているオープンソースのシングルサインオンソリューションであり、Liferay が最初にサポートした SSO 製品でもあります。
CAS のドキュメンテーションにしたがって、お好きなアプリケーションサーバへのインストールを行ってください。
最初の作業は、CAS クライアントの .jar ファイルを Liferay のライブラリフォルダにコピーすることです。Tomcat の場合は [Tomcat Home]/webapps/ROOT/WEB-INF/lib になります。コピーしたら、Liferay の次回起動時から CAS クライアントが利用可能になります。
CAS サーバアプリケーションを動作させるには、サーバ上で Secure Socket Layer 証明書を適切に設定しておく必要があります。証明書を自分で生成したい場合は、JDK に付属する keytool ユーティリティを使用する必要があります。最初の手順とは、鍵の生成です。次に、鍵をファイルにエクスポートします。最後に、鍵をローカルの Java キーストアにインポートします。公開されるインターネットベースの本番環境では、一般に認められている認証機関 (Thawte や VeriSign など) から署名済みの鍵を購入するか、自分で作成した鍵に対して一般に認められている認証機関に署名してもらう必要があります。イントラネットの場合は、ユーザのブラウザが事前に証明書を受け入れ、証明書に対して警告メッセージが出ないように、組織内の IT 部門に事前設定してもらってください。
鍵を生成するには以下のコマンドを使用します。
keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
上記の例のパスワード (changeit) の代わりに、あなたの覚えられるパスワードを使用してください。Tomcat をお使いでない場合は、別のエイリアスを使用した方がよいかもしれません。姓・名については、localhost と入力するか、お使いのサーバのホスト名を入力します。IP アドレスは使用できません。
鍵をファイルにエクスポートするには以下のコマンドを使用します。
keytool -export -alias tomcat -keypass changeit -file server.cert
最後に、鍵を Java キーストアにインポートするには以下のコマンドを使用します。
keytool -import -alias tomcat -file %FILE_NAME% -keypass changeit -keystore $JAVA_HOME/jre/lib/security/cacerts
Windows システムをお使いの場合は、上記の $JAVA_HOME を %JAVA_HOME% に置き換えてください。もちろん、この作業はすべて CAS が起動されるシステム上で行う必要があります。
CAS サーバの起動が完了したら、Liferay 側で CAS を使用するように設定を行います。これはコントロールパネルで「設定 (Settings)」→「認証 (Authentication)」→「CAS」タブ、とたどるだけなので簡単です。CAS 認証を有効にし、お使いの CAS サーバを指すように URL プロパティを修正します。
有効にする (Enabled): この項目にチェックを入れると CAS シングルサインオンが有効になります。
LDAP からインポートする (Import from LDAP): CAS でユーザの認証が行えても、ポータルには未登録の場合があります。この項目を選択すると、ポータル内に未登録の場合には自動的に LDAP からユーザをインポートすることができます。
残りの設定項目は各種の URL で、デフォルトが用意されています。デフォルト値のうち localhost の部分を、お使いの CAS サーバを指すように変更してください。終わったら「保存 (Save)」をクリックします。以降、ユーザが「サインイン」のリンクをクリックすると、CAS サーバを使って Liferay へのサインを行わせるようになります。
Liferay Portal では、ユーザが Facebook アカウントを使ってログインすることもできます。この機能を有効にするには、「有効にする (Enable)」のボックスを選択して、Facebook から提供されるアプリケーション ID (Application ID) とアプリケーションシークレット (Application Secret) を入力するだけです。Facebook SSO は、Facebook のメインメールアドレスを取得して、同じメールアドレスを Liferay の User_ テーブルで検索するという仕組みになっています。該当するものが見つかれば、ユーザは自動的にサインオンされます (Facebook のダイアログで「許可する」をクリックした場合)。該当するものが見つからない場合、Facebook のユーザを追加するよう Liferay 上でユーザに促します。選択すると、新規ユーザは Facebook から 4 つのフィールド (名・姓・メールアドレス・性別) を取得して作成されます。
NTLM は Microsoft のプロところで、Microsoft Internet Explorer で認証に使用できます。Microsoft は Windows Server の最近のバージョンでは Kerberos を採用していますが、ワークグループでの認証には依然として NTLM が使用されています。Liferay Portal では現時点で NTLM v2 認証に対応しています。NTLM v2 は NTLMv1 と比べて認証手続きがより安全で強固になっています。
有効にする (Enabled): このボックスにチェックを入れると NTLM 認証が有効になります。
ドメインコントローラ (Domain Controller): ドメインコントローラの IP アドレスを入力します。ドメインコントローラは、Liferay で使用したいユーザアカウントを保持しているサーバです。
ドメイン (Domain): ドメイン/ワークグループの名前を入力します。
(訳注: Liferay 6.0.5 では上記の他に「ドメインコントローラ名」「サービスアカウント」「サービスパスワード」も指定します)
OpenID は、複数のベンダが実装している新しいシングルサインオン標準です。考え方としては、複数のベンダが標準を実装し、ユーザは自分が信頼するベンダに ID の登録を行えるというものです。ベンダが提供する資格情報は OpenID に対応するすべてのウェブサイトで使用できます。注目度の高いベンダには、AOL (http://openid.aol.com/screenname) や LiveDoor (http://profile.livedoor.com/username)、LiveJournal (http://username.livejournal.com) があります。より完全な一覧については、OpenID のサイト (http://www.openid.net) を参照してください。
ユーザにとっての明確な OpenID の主要メリットには、参加したいとサイトごとに新しくアカウントを登録する必要がなくなるということがあります。ユーザはひとつのサイト (OpenID ベンダのサイト) で登録を行い、その資格情報を使って、OpenID に対応する多数のウェブサイトで認証を行います。そんなに多く別々のアカウントを登録するのはエンドユーザが嫌がることからコミュニティ構築に苦戦しているウェブサイトオーナは少なくありません。OpenID に対応すると、参加にあたっての敷居が低くなる (つまり、大量のアカウントを登録して維持する必要がなくなる) ため、サイトオーナが独自のコミュニティを構築しやすくなります。アカウント情報はすべて OpenID プロバイダによって保持されるため、情報を管理・最新化するのがずっと容易になります。
Liferay Portal は OpenID コンシューマとして動作し、ユーザを自動的に登録したり OpenID アカウントでサインインすることができるようになっています。内部的には本製品では OpenID4Java (http://code.google.com/p/openid4java/) を利用してこの機能を実装しています。
Liferay では OpenID がデフォルトで有効になっていますが、ここで無効にすることもできます。
Atlassian Crowd は、CAS と同様にウェブベースのシングルサインオン製品です。Crowd を使って、各種ウェブアプリケーションやディレクトリサーバの認証情報を管理することができます。
Atlassian Crowd は OpenID プロデューサを実装しているため、Liferay でも利用でき、動作検証済みです。Crowd を使って Liferay にログインしたい場合は、単に OpenID の認証機能を使用してください。
OpenSSO はオープンソースのシングルサインオンソリューションで、コードベースは Sun の System Access Manager 製品に由来しています。Liferay には OpenSSO が統合されており、別々の認証情報レポジトリに対して多岐にわたる認証スキーマで接続するようなインフラストラクチャへも、OpenSSO を使って Liferay を統合することができます。
OpenSSO を、Liferay と同じサーバでセットアップすることも、別の筐体でセットアップすることもできます。OpenSSO のインストールについては、OpenSSO のサイト (http://opensso.dev.java.net) にある手順にしたがってください。インストールが完了したら、Liferay 用の管理者ユーザを OpenSSO 側に作成します。ユーザはスクリーンネームによって相互にマッピングされます。デフォルトでは、Liferay の管理者ユーザはスクリーンネームが test になっているので、OpenSSO 側で、ID が test、メールアドレスが test@liferay.com のユーザを作成してください。ユーザの設定が終わったら、このユーザで OpenSSO にログインします。
同じブラウザウィンドウで、Liferay を実行しているサーバの URL を開き、メールアドレス test@liferay.com を使って同じユーザとしてログインします。コントロールパネルを開き、「設定 (Settings)」→「認証 (Authentication)」→「OpenSSO」をクリックします。3 つある URL 欄 (ログイン URL (Login URL)、ログアウト URL (Logout URL)、サービス URL (Service URL)) を、お使いの OpenSSO サーバを指すように修正 (つまり、URL のうちホスト名の部分のみを修正) し、「有効にする (Enabled)」のチェックボックスをクリックして、「保存 (Save)」をクリックします。これで、Liferay はユーザが「サインイン」のリンクをクリックすると OpenSSO にリダイレクトするようになります。
SiteMinder は、Computer Associates によるシングルサインオン実装です。Liferay 5.2 以降では、SiteMinder との統合があらかじめ組み込まれています。SiteMinder ではカスタム HTTP ヘッダを使ってシングルサインオンソリューションを実装しています。
Liferay で SiteMinder 認証を有効にするには、「SiteMinder」タブにある「有効にする (Enabled)」のボックスにチェックを入れます。Liferay で LDAP も使用している場合は、「LDAP からインポートする (Import from LDAP)」のボックスにもチェックを入れることができます。このボックスにチェックを入れると、SiteMinder で認証されたユーザがポータルに未登録の場合、LDAP からインポートされるようになります。
最後の入力欄は SiteMinder がユーザの追跡に使用するヘッダを指定するものです。デフォルト値があらかじめ記入されています。SiteMinder 側でこの項目をカスタマイズした場合は、カスタム値をここに入力してください。
完了したら「保存 (Save)」をクリックします。
「ユーザ (Users)」のリンクには、「フィールド (Fields)」「予約済みユーザ (Reserved Credentials)」「デフォルトの関連付け (Default User Associations)」という 3 つのタブがあります。
「フィールド」タブでは、以下のフィールドの有効/無効を切り替えることができます。
次のタブは「予約済みユーザ」です。他の人に使用させたくないスクリーンネームやメールアドレスをここに入力できます。入力すると、Liferay はそのスクリーンネームやメールアドレスやユーザ登録が行われるのを防止します。この機能を使うことで、管理者の ID に見えるような ID や、予約語を使用したスクリーンネームでユーザが作られるのを防ぐことができます。
「デフォルトの関連付け」タブには、新規ユーザがデフォルトでメンバとなるコミュニティ、ロール、ユーザグループを並べて指定することができます (改行区切り)。Liferay のデフォルトでは、新規ユーザは User ロールおよび Power User ロールのメンバになります。
Power Users ロールは Liferay に同梱されているポートレットの大半を使用する権限を持つロールであるため、デフォルトで有効になっています。一覧からこのロールを削除した場合、ポートレットの一部 (「Wiki」や「掲示板」など) については、他のロールを介してユーザに権限を付与する必要があるかもしれません。
新たに作成されたユーザをデフォルトでメンバにしたいユーザグループ、コミュニティ、ロールを作成したら、ここで入力してください。例えば、ユーザのプライベートページを事前に構成するために、あるユーザグループにページテンプレートを定義したとします。そのテンプレートの具体的な設定内容が全員に使ってほしいものであるといった場合には、そのユーザグループをここで入力するとよいでしょう。
次のリンクは「メールホスト名 (Mail Host Names)」です。「一般 (General)」タブで設定した 1 件以外のメールホスト名を入力できます (改行区切り)。この設定を行うことで、あなたの組織が保有しているメールホスト名をポータルが認識できるようになります。
「メール通知 (Email Notifications)」のリンクには 4 つのタブがあります。「送り主 (Sender)」タブでは、ポータルの管理者名とメールアドレスを設定できます。デフォルトではそれぞれ Joe Bloggs と test@liferay.com になっています。内容は好きなように変更できます。ここで指定した名前とメールアドレスは、ポータルから送信されるすべてのメールメッセージで From フィールドに使用されます。
残る 3 つのタブ (「アカウント作成通知 (Account Created Notification)」「パスワード変更通知 (Password Changed Notification)」「パスワードリセットの通知 (Password Reset Notification)」) では、それぞれの場合にユーザへ送信されるメールメッセージをカスタマイズできます。ある種の値 (ポータルの URL など) を挿入するためのトークンの一覧も表示されており、必要に応じて使用することができます。
このセクションにはいくつかリンクがあり、住所、電話番号、その他の情報をポータルで設定できます。これにより、ポータルを運営している組織の連絡先情報を設定することができます。開発者はアプリケーション内でこの情報を照会することができます。
このセクションでは、ポータルで使用するデフォルトの言語とタイムゾーンを設定できます。テーマの左上隅に表示されるポータル全体のロゴについて、別のものを表示するよう設定することもできます。このオプションを使用する際は、表示領域に合った画像を選ぶようご注意ください。画像が大きすぎると、操作が正常に行えなくなることがあります。
(訳注: Liferay の英語ロケールでは Custom Fields となっている機能ですが、日本語ロケールでは場所によって「カスタム属性」と表示されたり「カスタムフィールド」と表示されたりします。このドキュメント日本語訳では、基本的には「フィールド」と表記していますが、画面と一致していないとわかりづらくなる箇所は「カスタム属性」と表記している箇所もあります)
カスタムフィールドは、ポータル内の各種アセットにフィールドを追加する方法を指します。例えば、Liferay Portal を使って書評サイトを作成する場合、ポータル内のいくつかのアセットにカスタムフィールドを追加するとよいかもしれません。ユーザオブジェクトに「お気に入りの本」というカスタムフィールドを付けるのはどうでしょう。書籍のレビューに Wiki を使用している場合、「題名」と「筆者」のフィールドを追加するのもよいでしょう。
カスタムフィールドの追加は、コントロールパネルにある「カスタム属性 (Custom Fields)」のリンクをクリックし、「編集 (Edit)」のリンクをクリックして、「フィールドを追加 (Add Custom Field)」ボタンをクリックするだけで行えます。
この設定では、カスタムフィールドのキーを追加する必要があります。キーはフォーム上でフィールドのラベルとして表示されます。一部のポータルアセット (ユーザなど) では、カスタムフィールドがフォーム内の独立したセクションとして表示されます。他のアセットでは上図のように表示され、カスタムフィールドはフォーム内でデフォルトのフィールドといっしょに表示されます。付け加えると、開発者は <liferay-ui:custom-attribute /> タグを使ってプログラムからカスタムフィールドにアクセスできます。
様々な種類のフィールドが作成できます。テキストフィールド (インデックス付きまたはシークレット)、整数値、複数の値からの選択などです。一度フィールドを作成してしまうと、種類は変更できなくなります。
コントロールパネル左側で次のリンクは監視 (Monitoring) です。これを使って、ポータル内のライブセッションについてすべて確認することができます。パフォーマンス上の理由で、この設定は一般に本番環境では無効にされますが、有効にすればアクティブなセッションをここで表示することができます。
「プラグイン設定 (Plugins Configuration)」のリンクには、ポートレット、テーマ、レイアウトという 3 種類のプラグインそれぞれにタブが用意されています。これらのタブを使って、プラグインをページに追加できるロールを指定したり、プラグインがアクティブかどうかを切り替えることができます。
なお、これは基本的な設定のためのものです。特定のポートレットについて既存の権限設定を表示したい、もしくは、既存のロールについて設定を修正したい場合には、ここでその設定が可能です。特定のポートレットについて新しいロールに権限を追加したい場合は、コントロールパネルの「ロール (Roles)」セクションで「操作 (Actions)」→「権限の定義 (Define Permissions)」ボタンを使用してください。
「ページテンプレート (Page Templates)」のリンクでは、再利用したいレイアウト、ポートレット、ウェブコンテンツを含めたカスタムページを作成することができます。このリンクから、既存のテンプレートを編集したり、その権限を修正したりすることもできます。
ページテンプレートを追加するには、コントロールパネルで「ページテンプレート (Page Template)」のリンクをクリックします。そこで「追加 (Add)」を選択し、テンプレートの名前と説明を入力します。説明欄の下にあるのはテンプレートをアクティブにするかどうかの切り替えで、さらに下にあるのはページテンプレートを開いて編集できるようにするリンクです。大学のポータルで作成した上図のテンプレートは、復学した学生のためのものです。「ページテンプレートを開く (Open Page Template)」のリンクをクリックすると、ページの管理 (Manage Pages)」のインタフェースに移動します。これについては次章で見ていきます。
コンテンツやレイアウト、ポートレットの追加が終わったら、(別のブラウザタブにある)「ページテンプレート」ポートレットに戻り、「保存 (Save)」を選択します。
新しく作ったテンプレートでサイト上に新しいページを作成したい場合は、コントロールパネル→「ページ (Page)」に移動すれば、ページの追加時にテンプレートのドロップダウンメニューでそのページを利用できます。
「サイトテンプレート (Site Templates)」のリンクでは、コミュニティや組織のサイトを新規作成する際に含めるページをあらかじめ定義したセットを定義できます。サイトテンプレートや権限の指定・編集も行えます。
サイトテンプレートを追加するには、コントロールパネルで「サイトテンプレート (Site Templates)」のリンクをクリックします。そこで「追加 (Add)」を選択し、テンプレートの名前と説明を入力します。また、説明欄の下でテンプレートをアクティブにすることができます。
終わったら「操作 (Actions)」→「ページの管理 (Manage Pages)」をクリックします。ここでテンプレートにページを追加したり、テーマや CSS ファイルを管理して外観を設定したり、テンプレートを .lar ファイルにエクスポートすることができます。.lar ファイルのインポートもここで行えます。
サイトテンプレート用に作成したページでは、必要なポートレットやコンテンツを追加できます。ページやポートレット、コンテンツ、テーマを追加したら、コミュニティの新規作成時にそのテンプレートを使用できます。テンプレートは、コミュニティ追加時の「パブリックページ (Public Pages)」「プライベートページ (Private Pages)」オプションでドロップダウンメニューに表示されます。
ポータル内の管理リソースとは対照的に、「サーバ管理 (Server Administration)」のリンクでは、ポータルサーバ全体の管理に関する各種の作業を実施できるようになっています。リンクをクリックしてみればその意味がはっきりおわかり頂けるでしょう。というのも、JVM の利用可能リソースを示すグラフが出迎えてくれるからです。
最初のタブは「リソース (Resources)」という名前です。このタブには、前述のグラフと、サーバ全体に対して管理者が実行できる操作がいくつか表示されます。操作の内容は以下の通りです。
ガーベッジコレクション: JVM へ、ガーベッジコレクション処理を開始するよう要求を送ることができます。
VM のキャッシュをクリアする: JVM へ、シングル VM キャッシュをクリアするよう要求を送ることができます。
クラスタ全体のキャッシュをクリアする: JVM へ、クラスタ全体でキャッシュされているコンテンツをクリアするよう要求を送ることができます。
データベースのキャッシュをクリアする: JVM へ、データベースのキャッシュをクリアするよう要求を送ることができます。
検索で利用するインデックスをすべて再作成する: 検索用のインデックスをすべて再生成するよう要求を送ることができます。Solr 検索サーバ (詳細は 7 章参照) を使用している場合のみ使用できます。ポータルのパフォーマンスに影響を与えてしまうため、ピーク時間帯を避けて行うようにしてください。
スレッドダンプを生成する: パフォーマンステスト中に、後で内容を調べてデッドロックの有無や発生箇所を特定できるように、スレッドダンプを生成することができます。
すべてのプラグインのデータベーステーブルを検証する: すべてのテーブルについて、インデックスと、データ取得の正確性をチェックします。
ここでは、ポータル内の任意のクラス階層についてログレベルを動的に修正することができます。一覧にないカスタムコードを配備している場合は、「カテゴリの追加 (Add Category)」タブを使って追加することができます。クラス階層の最上位に近いログレベル (com.liferay など) を変更すると、その配下にあるすべてのクラスでログレベルが変更されます。何か特定の機能をテストしている場合には、ログレベルの変更はできるだけ範囲を絞って行った方がよいでしょう。クラス階層の中であまり上位を修正すると、必要以上のログメッセージが生成されてしまいます。
Liferay および JVM にはプロパティとして指定できる設定項目が数多くあります。ここには 2 つのタブがあり、ひとつはシステムプロパティを表示するもの、もうひとつはポータルのプロパティを表示するものとなっています。
システムプロパティのタブには、JVM のシステムプロパティがすべてまとめて一覧表示されており、Liferay のシステムプロパティも多数含まれます。この情報は、デバッグ目的で使用したり、現在起動中のポータルについて設定をチェックするために使うことができます。
ポータルプロパティのタブには、ポータルのプロパティがすべてまとめて一覧表示されます。ポータルのプロパティはカスタマイズ可能ですが、これについては次章で見ていくことにします。特定のプロパティについて現在の値をチェックする必要がある場合は、ポータルをシャットダウンしたりプロパティを開いたりしなくてもこの画面で表示することができます。
Liferay で構築されたサイトにボットがアカウントを登録するのを回避するため、Liferay にはデフォルトで、独自のシンプルな captcha サービスが付属しています。また、Google の reCaptcha サービスを使用したい場合はそちらを使うこともできます。
手順は、「ReCaptcha を有効にする (Enable ReCaptcha——訳注: Liferay 6.0.5 の日本語ロケールでは「ReCaptcha を可能にしなさい」という機械翻訳が残っています)」のボックスにチェックを入れ、パブリックキーとプライベートキーを用意されているテキストフィールドに入力して「保存 (Save)」をクリックするだけです。これで Liferay Portal はシンプルな captcha の代わりに reCaptcha を使うようになります。
以前のリリースの Liferay Portal からアップグレードしようとしている場合や、データをあるサーバから別のサーバに移行する必要がある場合、開発者にカスタムスクリプトを書かせなくても、このセクションを利用して実施することができます。
最初のセクションでは Liferay のデータベース全体を、実行中の Liferay が使用している現在のデータベースから、このセクションの入力欄で指定した別のデータベースへコピーすることができるようになっています。ドライバのクラス名 (ドライバは Liferay のクラスパスに入っている必要があります)、データのコピー先となるデータベースの JDBC URL、そのデータベースへアクセスできるユーザ名およびパスワードを入力する必要があります。各項目の情報をすべて入力したら、「実行 (Execute)」をクリックするとデータがコピーされます。
次のセクションは、文書の移行を支援するものです。Jackrabbit の JSR-170 レポジトリをやめてファイルシステムに移動したい場合や、ファイルシステムから Jackrabbit レポジトリへ、あるいは文書ライブラリが対応している他の種類のレポジトリに移動したいという場合に、非常に簡単に実施することができます。この移行を実行する前に、フックが適切に構成されるように portal-ext.properties ファイルが設定済みであることを確認してください。文書の移行先を表す文書ライブラリフックを選択し、「実行 (Execute)」をクリックします。文書が新しいレポジトリに移行されるので、Liferay をシャットダウンして、portal-ext.properties ファイルで新しいレポジトリをデフォルトにした後、再起動します。
同様に、画像ギャラリーの画像を同じやり方で移行できます。
Liferay では様々な場所でユーザがファイルをアップロードできるようになっているため、ユーザがアップロードできるファイルの種類やサイズに制限をかけた方がよいかもしれません。ここでは、全体での最大ファイルサイズを設定した後、Liferay 内の個別のアプリケーションについてはサイズ上限をオーバーライドすることができます。ファイルの拡張子を全体あるいはアプリケーションごとに制限することもできます。ポータル内でどのようにファイルを管理したいかに応じて、非常に柔軟な設定が可能です。
インストールに関する章では portal-ext.properties ファイルを使用しましたが、ここでもメールサーバを設定できます。ポータルでメールの受信を行う (5 章の「掲示板」ポートレットについての説明を参照) 場合は、POP メールサーバに接続できます。もちろん、ポータルがメールの送信を行う場合——ユーザに通知を送るためにはその必要があります——SMTP サーバにもここで接続可能です。SMTP サーバへの接続設定を行うことは、強くお勧めします。
なお、メールサーバの設定をここで追加すると、portal-ext.properties ファイルでの設定はすべてオーバーライドされます。
Liferay Portal では、ウェブコンテンツや画像からファイルまで、多様な形式のコンテンツをユーザが追加できるようになっています。これはウェブコンテンツ管理システムや画像ギャラリー、文書ライブラリを使って行われますが、組み込みのものもカスタムで作成されたものも含めて他のポートレットでも可能です。場合によっては、こうして追加されたコンテンツを、何らかの形式から、ユーザのコンテンツ閲覧時により便利になるような形式に変換すると便利なことがあります。Liferay Portal では、OpenOffice.org を統合することで、ユーザがそのようなことを行えるようになっています。
OpenOffice.org はオープンソースのオフィススイートで、通常はグラフィカルモードで実行され、文書の作成に使われますが、「サーバ」モードでも実行できます。サーバモードで実行すると、OpenOffice.org を使って、対応しているすべてのファイル種別の文書を相互変換することができるのです。Liferay ではこの機能を利用してコンテンツを即時に自動変換することができます。
このタブで Liferay を使って、実行中の OpenOffice.org インスタンスへの接続方法を Liferay に指定してください。OpenOffice.org は、Liferay が実行されているのと同じサーバにインストールできます。インストールが完了したら、以下のコマンドを使って、OpenOffice.org をサーバモードで起動することができます。
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
ご覧の通り、上記のコマンドでは OpenOffice.org がポート 8100 で実行されるようにしていますが、これがコントロールパネルでデフォルトのポートになっています。このポートを使う場合は、「有効にする (Enabled)」のボックスにチェックを入れるだけで Liferay が OpenOffice.org と統合されます。
このポートで何か他のものを動かしている場合は、空いているポートを探して、上記のコマンドと、コントロールパネルの OpenOffice.org 設定ページの両方で指定します。終わったら「保存 (Save)」をクリックします。
Liferay にはスクリプティングコンソールが搭載されており、管理者が移行や管理のためのコードをすぐに実行できるようになっています。JavaScript、Groovy、Python、Ruby、BeanShell といったスクリプティング言語に対応しています。Liferay の API について詳しくは、JavaDoc、Liferay Wiki (http://wiki.liferay.com)、Liferay in Action を参照してください。
ユーザのログイン中に Liferay Portal サーバをシャットダウンする必要が生じた場合は、「シャットダウン (Shutdown)」タブを使ってログイン中のユーザに緊急のシャットダウンを告知することができます。シャットダウンまでの時間と、表示するカスタムメッセージを指定できます。
ユーザには、指定した時間の間、ポータルのページ上部にメッセージが表示されます。指定した時間が過ぎると、ポータルのページすべてに、ポータルがシャットダウンされている旨のメッセージが表示されます。この時点で、サーバを再起動するまでアクセスが復旧しなくなります。
Liferay Portal では、単一のサーバで複数のポータルを運用することができます。各ポータルインスタンスのデータは、他のポータルインスタンスと分けて保持されます。ただし、すべてのポータルデータは同一のデータベースで保持されます。
各ポータルインスタンスには固有のドメイン名が必要です。Liferay はこのドメイン名に応じてユーザを適切なポータルインスタンスにアクセスさせます。そのため、インスタンスを設定する前に、ネットワーク内でのドメイン名の設定を先に行ってください。インスタンスを追加する準備ができたら、ここで「追加 (Add)」ボタンをクリックします。
入力の必要な項目が 3 つ表示されます。
Web ID: 一般的な規約は、このインスタンスのドメイン名を使うというものです。このインスタンスのユーザ定義 ID となります。
バーチャルホスト (Virtual Host): ネットワーク側で設定したドメイン名をここに書きます。ユーザがこのドメイン名で Liferay サーバに接続してくると、Liferay はユーザを適切なポータルインスタンスに送ることができます。
メールアドレスのドメイン (Mail Domain): このインスタンスで使用するメールホストのドメイン名を入力してください。Liferay はここで指定されたドメインを使ってポータルからのメール通知を送信します。
入力が完了したら、「保存 (Save)」をクリックします。新しいドメイン名でポータルに接続してみましょう。Liferay のクリーンインストール直後と同じような画面が表示されるはずです。これが新しいポータルインスタンスであり、自由に設定を行うことができます。
「プラグインインストール (Plugins Installation)」のリンクには、現在インストールされているプラグインがすべて一覧表示されます。この項目は、ポートレット、レイアウトテンプレート、フックプラグイン、ウェブプラグインのタブに分かれています。新しいプラグインをインストールしたい場合は、「ポートレットのインストール (Install More Portlets)」ボタンをクリックすると、画面が「プラグインインストーラ (Plugin Installer)」に移動し、Liferay のポートレットレポジトリを閲覧したり、独自のプラグインをインストールしたりすることができます。プラグインインストーラについては、6 章で扱います。
[PageInfo]
LastUpdate: 2010-11-15 01:08:57, ModifiedBy: sardine
[License]
Creative Commons 2.1 Attribution-ShareAlike
[Permissions]
view:all, edit:login users, delete/config:members