ムッシューの日記

2人の子供とのお出かけネタから趣味の釣りネタなど

OpenAMの構成と「Quick introduction」でハマった点


SSOを実際に実装して感覚を掴むために、OpenAMを構築して「Quick introduction」をやってみました。

そこで理解できたOpenAMの構成と「Quick introduction」を行っていた時にハマった点について書きます。

◆OpenAMの構成

OpenAMの実態はwarであるため、warをダウンロードしてLinux上にTomcatを入れてデプロイすれば動きます。これが各種管理と認証を行う側(SAMLでいうIdP)になります。

認証をOpenAMにお願いする側(SAMLでいうSP)にはhttpdのモジュールであるWebPolicyAgentをインストールします。これが画面へのリクエストに介在し、OpenAM.warと通信して認証の検証を行います。

openam_stuck

◆認証シーケンス

以下にクイックスタートでの認証のシーケンスを書きます。ブラウザがページにリクエストした際に認証が必要とWebPolicyAgentが判断すれば、ブラウザをOpenAM側(ログイン画面)にリダイレクトさせます。

そこで認証が成功すると、OpenAM側のメモリにセッションが保持され、セッションのキーがブラウザのcookieに保持されます。

サイドWebPolicyAgent側にリダイレクトし、WebPolicyAgentがOpenAMと通信してcookieのセッションのキーの検証を行い、問題なければページを表示するといった流れになります。

openam_sequence

◆クイックスタートでハマった点

  • WebPolicyAgentのインストール項目がサイトの説明よりも多かった
    Change ownership of created directories using User and Group settings in httpd.conf
    ⇒Yesを選択
    Enter the Agent realm/organization
    ⇒これはデフォルトの「/」でOK
  • ブラウザからアクセスする際にIPアドレスではなく「.」を2つ以上含むドメイン名で指定する必要がある
    最初にIP指定でアクセスしたら「oepnam無効なCookieドメインです」と表示されてしまったので、hostsにwww.example.com、openam.example.comを指定してURLはドメイン名で指定。
  • WebPolicyAgentインストール後にブラウザからアクセスしたら「Forbidden」と表示された
    WebPolicyAgentのログを見えると以下のエラーが。どうやらagent.confファイルへのアクセス権限の問題のようで、httpdからアクセスできるよう権限を直したら正常に動くようになりました。
2016-07-22 21:58:58.993 +0900 ERROR [0x7f4c836af840:19005] 
am_get_config_file(): can't open file 
/root/openamAgent/web_agents/apache24_agent/bin/../instances/agent_1/config/agent.conf (error: 13)

 


次へ 投稿

前へ 投稿

© 2017 ムッシューの日記

テーマの著者 Anders Norén