前回の続きです。
CSV出力とは
Exticのユーザー情報を指定した形式でCSV化し、ローカルディスク上に保存するためのWebアプリケーションです。
設定
事前準備
管理コンソール > アプリケーションから「CSV(オンプレミス)」を選択します。
表示名を設定し、接続キーを発行して保存します。
Webアプリケーションの設定
csvagent.war
をダウンロードします。
<tomcat_home>\webapps\
以下にコピーしてデプロイします。
<tomcat_home>\webapps\csvagent\WEB-INF\classes\META-INF\application_setting.properties
を開きます。
サブドメイン、接続キー、SQLiteのディレクトリを指定して保存、Tomcatを再起動します。
http://(ホスト名):(ポート番号)/csvagent/
にアクセスし、管理者ロールを持つユーザーでログインします。
次の画面に遷移します。
右上プルダウンメニューから「設定」を選択します。
「CSV出力設定」では、出力先とモード(上書き/リネーム)、区切り文字などの出力ファイルに関する設定を行います。
「ユーザーマッピング設定」ではExticの属性とCSVの項目名のマッピングを行います。
今回はこのようにしました。パスワードはハッシュ(SHA256もしくは512)、暗号化文字列、平文で出力できます。
「後続処理実行機能」ではCSVの出力後に実行ファイルを実行することができます。引数として出力したCSVファイルを指定できます。
最後にポーリング間隔と開始時間、自動起動の設定を行って完了です。
確認
対象ユーザーのアプリケーション設定にて「使用する」設定にします。
アプリケーションを起動します。
まずはChangeType=ADD
でCSVファイルが作成されます。
ユーザー情報を変更します。
設定の通り、ファイルがリネームされる形でChangeType=MOD
という行を持つCSVファイルが作成されます。
アプリケーションを「使用しない」設定にします。
設定の通り、項目username
のみが記載されたChangeType=DEL
のCSVファイルが作成されます。
CSVインポートAPIとは
CSVファイルのインポート処理を行うAPIです。CSVファイル内の情報をAPIを介してExticに連携することが可能です。
実証
管理コンソール > 設定 > CSVインポートAPIより、任意のIDとパスワードを設定します。
入力元となるCSVファイルを作成します。CSVエクスポート機能などを使用してテンプレートとなるCSVを入手しましょう。
今回は既存のユーザーにメールアドレスを追加します。
ChangeType
にMOD
を指定し、該当のフィールドに値を書き込みます。
APIをコールします。
curl -X POST https://(テナント名).ex-tic.com/idm/api/1.3/operation/importCsv -H "Authorization:Basic <ID:パスワード の形式で連結した文字をBase64エンコードしたもの>" -H "Accept-Language:ja" -F "file_input=@(ファイル名)"
連携処理ログの取得
コールした際のレスポンスとして返ってくるIDを付加した連携処理ログエンドポイントURIに向けてGETします。
curl -X GET https://(テナント名).ex-tic.com/idm/api/1.3/logs/(ID) -H "Authorization:Basic <ID:パスワード の形式で連結した文字をBase64エンコードしたもの>" -H "Accept-Language:ja"
このようにして、CSVの出力とCSVからの入力が可能です。
次回はパスワードの変更と変更後のパスワード情報を印刷できる、「パスワード通知書印刷機能」について検証します。