大量のユーザをシステムに登録したい場合、CSVファイルによる一括登録は、今もよく利用される手段の1つです。
SeciossLinkでは、自由なフォーマットのCSVファイルでユーザを一括登録することができますので、今回はその方法についてご紹介したいと思います。
CSVフォーマットの設定は、SeciossLinkの管理画面にログインして、「統合ID管理」->「CSVインポート設定」から行います。
ユーザ登録用のCSVファイルを設定するには、”ユーザ”の項目に以下の設定を行って下さい。
項目 | 値 |
システムID | CSVインポートの設定を識別する一意なID |
区切り文字 | CSVファイルの区切り文字 |
同期 | チェック |
追加/変更の条件 | (objectClass=*) |
属性 | カラム番号にCSVの何番目のカラムかを設定
属性名にSeciossLinkの登録する属性を設定 ※ユーザ情報の項目名と属性名の対応は以下になります。 ・ユーザID:uid |
CSVの値が空の場合にデフォルトとして特定の値を登録したい場合は、”デフォルト値”を設定します。
例えば、言語をデフォルトで日本語に設定したい場合は、”属性名”にpreferredLanguage、値にjaを設定します。
CSVの値を別の値に変換してからSeciossLinkに登録した場合は、”属性値変換”を設定します。
例えば、ユーザ状態を表す値がCSVファイルでは1がactive、0がinactiveの場合、”属性名”にseciossAccountStatus、”変換前”に(.*)、”変換後”に%{strmap('1,0', 'active,inactive', '%1')}を設定します。
”変換後”の値には関数を使用することができ、関数を使用する場合は関数を%{}で囲みます。strmapは第一引数の値を対応する第二引数の値に変換します。
例えば、CSVファイルのフォーマットを”ユーザID,姓,名,メールアドレス,言語,ユーザ状態”と設定した場合、以下のようなレコードを登録すると、言語”ja”、ユーザ状態”active”がユーザに登録されます。
user01,田中,一郎,user01@secioss.co.jp,,1
CSVファイルのアップロードはProvisioning APIから行います。
例えば、curlコマンドを利用すれば、以下の手順でCSVファイルをSeciossLinkにアップロードできます。
$ curl -X POST -d "id=<ユーザID>&password=<パスワード>&action_login=true" https://slink.secioss.com/admin/api/
<?xml version="1.0" encoding="UTF-8"?>
<response>
<message>Authentication succeeded</message>
<code>0</code>
<sessid><セッションID></sessid>
</response>
$ curl -X POST -F "sessid=<セッションID>" -F "action_system_csvImport=true" -F "id=<CSVインポートのシステムID>" -F "type=user" -F "op=add" -F "file=@<CSVファイル名>" https://slink.secioss.com/admin/api/
上記のようなCSVファイルのアップロード処理をcron等で定期的に実行するようにすれば、自動的にユーザ情報を登録する運用が可能になります。
以前にご紹介した”ID登録をルール化してIDライフサイクル管理を自動化”と組み合わせることで、登録したユーザに対して自動的にプロファイルの設定やグループへのメンバ登録を行うことができ、IDのライフサイクル管理をさらに効率化することができます。