CSVファイルによるユーザの一括登録

schedule 2018/11/15  refresh 2023/11/08

 

大量のユーザをシステムに登録したい場合、CSVファイルによる一括登録は、今もよく利用される手段の1つです。

 

SeciossLinkでは、自由なフォーマットのCSVファイルでユーザを一括登録することができますので、今回はその方法についてご紹介したいと思います。

 

1. CSVフォーマットの設定

CSVフォーマットの設定は、SeciossLinkの管理画面にログインして、「統合ID管理」->「CSVインポート設定」から行います。

 

 

 

ユーザ登録用のCSVファイルを設定するには、”ユーザ”の項目に以下の設定を行って下さい。

 

項目
システムID CSVインポートの設定を識別する一意なID
区切り文字 CSVファイルの区切り文字
同期 チェック
追加/変更の条件 (objectClass=*)
属性 カラム番号にCSVの何番目のカラムかを設定

属性名にSeciossLinkの登録する属性を設定

※ユーザ情報の項目名と属性名の対応は以下になります。

・ユーザID:uid
・社員番号:employeeNumber
・姓:sn
・名:givenName
・姓(かな):sn;lang-ja;phonetic
・名(かな):givenName;lang-ja;phonetic
・メールアドレス:mail
・メールエイリアス:seciossMailAlias
・地域:seciossLocaleCode
・言語:preferredLanguage
・パスワード:userPassword
・許可するサービス:seciossAllowedService
・ロール:seciossSystemRole
・プロファイル:seciossBusinessRole
・組織:ou
・別名:displayName
・通知用メールアドレス:seciossNotificationMail
・役職:title
・会社名:seciossCompany
・部署:seciossDepartment
・事業所:physicalDeliveryOfficeName
・国:seciossCountry
・郵便番号:postalCode
・都道府県:st
・市区郡:l
・町名・番地:street
・電話番号:seciossTelephoneNumber
・FAX:seciossFax
・携帯電話番号:seciossMobile
・自宅電話番号:seciossHomePhone

 

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

 

2. CSVファイルの登録

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のライフサイクル管理をさらに効率化することができます。