Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 1 Copyright (C) 2015 CO-Sol Inc. All Rights Reserved
全社情報共有サイトへの
Alfresco Community 5 導入事例紹介
2015年4月22日
株式会社コーソル 技術統括 渡部 亮太
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 2
自己紹介
• 渡部 亮太 (わたべ りょうた) – Oracle Database、PostgreSQL、MySQLなど様々なデータベースに関わる技術支援ならびに技術教育に従事
– Oracle Databaseをはじめとする各種データベース関連製品のサポートに7年以上携わる
– コミュニティ活動
• Japan Oracle User Groupボードメンバー
• Oracle ACE
– 各種執筆活動
• 書籍「プロとしてのOracleアーキテクチャ入門」「同 第2版」
• 書籍「プロとしてのOracle運用管理入門」
• 寄稿・記事掲載:@IT、DB Onlineなど多数
– 社内外における多数の講演実績あり
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 3
所属会社紹介
• 株式会社コーソル
– 「CO-Solutions=共に解決する」の理念のもと、Oracle技術に特
化した事業を展開。心あるサービスの提供とデータベースエンジニアの育成に注力している。
– Oracle Databaseのサポート、設計、構築、DBAを提供
– 現在PostgreSQL、MySQLなどのOSS-DB領域へも事業範囲を拡大中
– 従業員数: 126名 (2015年4月現在)
– 所在地: 東京 千代田区(本社)、福岡
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 4
Agenda
• Alfresco Communityの導入背景
• システム構成
• 検討点 / 工夫した点など
• 悩み / 残務など
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 5
Alfresco Communityの導入背景
• 複数勤務先(本社勤務、客先常駐、地方拠点)社員間でのOffice/PDFファイルベースの技術情報の共有
– 手順書、設計書、社内セミナー資料、参考資料など
• 既存グループウェアの文書管理機能に対する不満
– 操作性悪い、全文検索不可
• 使える費用に制約
• Googleドライブなどのファイル共有系クラウドサービスに対するセキュリティ面での抵抗感
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 6
選定候補とNGな理由
選定候補(製品・サービス) NGな理由
Atlassian Confluence Wikiの柔軟性、添付ファイル検索対応、豊富な機
能が魅力的ではあったが、情報共有目的ではコスト感が合わなかった
Google Apps for
Business
ファイル共有目的では若干コスト感が合わない
(メールも移行するとコスト感が合うかも)
Googleサービス全般にセキュリティ観点(特に管理)で不安感あり
無償グループウェア
(Aipoなど)
多機能かつ総花的で情報共有目的には合わないと判断
NemakiWare (すみません、Alfrescoが結構気に入って評価まで至りませんでした・・・)
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 7
全体構成図
Apache Tomcat
Alfresco
Community 5 https
Open
LDAP
認証・アクセス制御(グループ構成)
認証・ アクセス制御
(グループ構成)
PHP, CGI等
mod_proxy
PW管理ツール
パスワードの変更・リセット
RHEL6
AWS
認証
+
SSO
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 8
検討点 / 工夫した点など - システム全体
• Alfresco Community 5.0系(5.0.c)を使用する
– ファセット検索、プレビューHTML5対応が気に入った
– アドオンが5.0系に対応する様子がないのが気になる
– 全社リリースの翌日に5.0.dがリリースされた・・・
• パスワード周りの利便性に配慮
– パスワード管理が面倒だと結局使われない
– mod_auth_pubtkt + OpenLDAP + LDAP連携によるパスワード一元管理+シングルサインオン
– LTB Self Service Passwordのパスワードリセットのセルフサービス化
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 9
検討点 / 工夫した点など - Alfresco
• Apache連携 : ApacheでSSL化 + mod_proxy
• LDAP認証+同期
• 監査設定有効化
• Alfresco My Files Quota : マイファイルへのクオータ設定
• alftool : シェルコマンドベースの管理タスク実行
– プロフィール画像の一括登録ができて便利だった。というかコマンドベースでできないと非常にキツイ
• 不要機能の無効化
– system.quickshare.enabled=false : Quick Share
– googledocs.enabled=false : Google Docs連携
• 細かいカスタマイズいろいろ(後述)
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 10
検討点 / 工夫した点など - LDAP連携
• 認証+同期を使用
• LDAPカスタムスキーマを定義し、各種属性を格納
• 姓名逆に同期
• 同期時のユーザー削除を無効化
– synchronization.allowDeletions=false
– LDAPでユーザーを削除しても、Alfrescoユーザーが"untagged"
状態で残る
• ユーザーの自動作成を無効化
– synchronization.autoCreatePeopleOnLogin=false
• 同期間隔を短く (15分) – synchronization.import.cron=0 0/15 * * * ?
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 11
検討点 / 工夫した点など - SSO
• Apacheモジュールmod_auth_pubtktを使用
– https://neon1.net/mod_auth_pubtkt/
• cookieで認証キーを発行し、Apacheの<Directory> ..
AuthType mod_auth_pubtkt </Directory>でアクセス制御
– Basic認証に似た感じで使える
– 所属グループによる認可にも対応(TKTAuthToken)
• SSO後のアプリ連携
– TKTAuthFakeBasicAuth: Basic認証をパスしたかのようにWebアプリに見せる(環境変数REMOTE_USERを設定)
– RequestHeader (mod_headersモジュール)でHTTPリクエストにヘッダパラメータを設定
• [参考] mod_auth_pubtktの設定・構成全般
– http://www52.atwiki.jp/mosakabe/pages/32.html
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 12
<Directory "/path/to/group1"> Order allow,deny Allow from all #### mod_auth_pubtkt SSO AuthType mod_auth_pubtkt TKTAuthLoginURL https://example.com/login/ TKTAuthUnauthURL https://example.com/login/unauth.html TKTAuthBackArgName _done TKTAuthFakeBasicAuth on RequestHeader set SsoUserHeader %{REMOTE_USER}s require valid-user TKTAuthToken group1 </Directory>
httpd.confサンプル - mod_auth_pubtkt
mod_auth_pubtktモジュールによるcookie認証キーベース認証でこのDirectoryをアクセス制御
所属グループでアクセス制御
リクエストヘッダパラメータを付与
Basic認証をエミュレート
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 13
その他のカスタマイズ項目と参考URL
カスタマイズ項目 参考URL
SSO設定 http://aegif-labo.blogspot.jp/2015/01/alfresco-50-
sso.html
サイトを作成できるユーザを制限
http://bandetech.jp/blog/alfresco/731/
UIからリポジトリリンクを削除
http://aegif-labo.blogspot.jp/2013/10/alfresco-
42d.html
外部ユーザーの招待を無効化
https://forums.alfresco.com/forum/end-user-
discussions/alfresco-share/how-disable-invitation-
external-users-sites-10282013-1110
「ダッシュボードにようこそ」を消す
http://alfrescocms.blogspot.jp/2014/05/remove-
welcome-dashlet-widget-in.html
フッタを消す https://code.google.com/p/fme-alfresco-
extensions/downloads/detail?name=fme-hide-footer-
0.1.jar&can=2&q=
送信メールの日本語化 なし
(tomcat/bin/setenv.shでLANG=ja_JP.UTF-8)
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 14
悩み / 残務など
• サイト設計
– アクセス権限や意味合いに応じてサイトを作成するのがよさそうだが、サイト数が非常に多くなりそう・・・ 本当にこれでいいのか
• 論理バックアップ(サイト単位など)の方法を確立したい
– メタデータの扱いがよく把握できていない
• 監査関連いろいろ
– 読みにくい
– 過去監査データのpurge方法がわからない
• Alfresco Community 5.0.dへのアップデート – 5.0.xは5.0.dが最終という噂・・・
• 各種アドオンが5.0.xに対応してくれるかどうか
逆に言うと、上記以外大きな問題はなくキチンと使えています!
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 15
悩み / 残務など - 追記
• ソーシャル機能の活用
– 一定期間内の「いいね!」をカウントアップ
• 取扱い注意ファイルのよりよいハンドリング
– カテゴリ機能を活用して、「マーク」できないか、リストアップできないか
– (あまり厳密なアクセス制御ではないが)とりあえずダウンロード不可にできないか
• 別サービスとの串刺し検索ができると嬉しい
– 各種Webアプリ(WordPressなど)、静的Webページ 他
• SSOを有効にするとftp認証が動作しない
– Bug?
• HTTPS環境でOffice文書のオンライン編集ができない
Copyright (C) 2015 CO-Sol Inc. All Rights Reserved 16