Skip to main content

CSV Directory Synchronization

Menu Path: Settings > Inbound Provisioning > CSV Directory Synchronization


Table of Contents

  • Overview
  • Before You Start
  • Screen Configuration
  • How to Set Up (4 Steps)
    • Step 1: Connect to the server
    • Step 2: User Settings
    • Step 3: Group Settings
    • Step 4: Synchronization Settings
  • Manual Synchronization
  • Check Synchronization Results
  • Error Handling
  • Caution
  • Example of Configuration Scenario

Overview

This is a feature that periodically monitors CSV files uploaded to an FTP or SFTP server and automatically synchronizes user and group information to the Security365 management center. It is used when integrating CSV files regularly generated by external systems such as HR systems.

Once the administrator sets the server access information, file path, conversion rules, and execution cycle, the system will automatically detect and reflect file changes thereafter.

Action Flow:

stepContent
1Connecting to FTP/SFTP Server
2Download CSV file from the specified path
3Check for file changes compared to the previous synchronization (file content hash comparison)
4CSV Data Transformation and Validation (Field Mapping, Filtering, etc.)
5Reflecting Management Center User/Group Information (Group → User Order)

**Reference:**You can only enable one inbound provisioning method. When you enable CSV directory synchronization, other methods (SCI Server, Microsoft365, local Active Directory) will be disabled.

**Reference:**If the file content is the same as the previous synchronization, the synchronization will be skipped. This is normal behavior that prevents unnecessary processing.


Before You Start

Before starting the setup, please prepare the information below in advance.

Preparation ItemsDescriptionexample
FTP/SFTP server addressCustomer file server's IP or domainftp.example.com
Port NumberSFTP Basic 22, FTP Basic 2122
Access AccountServer Login ID / Passwordftpuser
CSV file pathDirectory where the CSV file is located on the server/data/hr/users/
CSV file name patternWhether the file name is fixed or changes by dateusers.csvorusers_yyyyMMdd.csv
CSV Column InformationHeader names or column order of the client CSV사원번호, 이름, 메일, 부서ID, 재직상태

Screen Configuration

Before Configuration: A message "Available after setup." will be displayed on the CSV directory synchronization card.

After completing the setup: The following information is displayed on the card.

InformationDescription
Connection Method and Server InformationConnection method (SFTP/FTP), host address, port, connection ID
Last synchronization date and resultRecent synchronization execution time and success/failure status
Synchronization PeriodAutomatic synchronization setting time
[Edit] buttonChange Settings
[Manual Sync] ButtonImmediate synchronization execution

How to Set Up (4 Steps)

[Step 1] Connect to Server

Enter the FTP/SFTP server connection information.

itemDescriptionexample
Connection Method (Protocol)Choose FTP or SFTPSFTP
Host (Server Address)Server IP or domain addressftp.example.com
portConnection port number (automatically changes when the protocol changes)22
Access IDServer Account IDftpuser
Access PasswordServer account password (encrypted storage)

Connection Method Selection Criteria:

MethodDefault PortDescriptionRecommended Situation
SFTP22SSH-based encrypted transmissionExternal network or environment requiring security (recommended)
FTP21Non-encrypted transmissionLow-security environments such as internal networks

After setting**[Integration Test]**Please click the button to check the server connection status.

**Reference:**The password is stored encrypted with RSA and is not exposed in plaintext on the settings screen.

button: Cancel | Save temporarily | Next


[Step 2] User Settings

Set the monitoring method and data transformation rules for the user CSV file.

Surveillance Path

Select Monitoring Mode

It depends on how the client company's server manages files.

situationSelection ModeFile Pattern Example
Always overwrite with the same filenameSingle Fileusers.csv
A new file is created by date.Directory > Filename 기준users_yyyyMMdd
Automatically detect recently modified filesDirectory > By Modification Date*users*

When selecting directory mode — criteria for determining the latest file

standardDescriptionUsage Scenario
As of the revision dateSelect the file that contains the specified keyword and has the most recent modification date.When there is no date in the file name
File Name CriteriaSelect the file with the most recent date by parsing the date in the filename.When the HR system includes the date in the filename

Support Date Format (when selected based on filename):

formatFile Name Example
yyyyMMddusers_20260101.csv
yyyy-MM-ddusers_2026-01-01.csv
yy-MM-ddusers_26-01-01.csv
yyMMddusers_260101.csv

Path and File Patterns

itemDescriptionexample
pathAbsolute path of the directory where the CSV file is located on the server/data/hr/users
File PatternFile name pattern to monitorusers_yyyyMMdd

**Reference:**file name is#Files starting with __PH_0__ are commented out and excluded from synchronization targets.


Synchronization Options

itemOptionDescription
Handling Items Not Included in CSVMaintenance (default)Maintain existing users not in the CSV as is. Recommended when the omission may be a simple mistake.
DeactivateDeactivate existing users not present in the CSV. Suitable for environments where leavers are removed from the CSV in the HR system.
Stop synchronization on validation erroruseIf there is even one validation error, stop the entire synchronization. Used when prioritizing data integrity.
Not used (default)Skip error records and reflect only the remaining normal data.

Caution: 비활성화When selected, all existing users not included in the CSV file will be deactivated. Please make sure to check the contents of the file in advance.


CSV Converting Settings

Set the CSV file format and field mapping rules. If using user synchronizationField mapping is requiredis.

Input CSV delimiter

OptionseparatorUsage Example
Comma (default),EMP01,홍길동,영업
pipe|EMP01|홍길동|영업(Safe when data contains commas)
tab(tab character)EMP01 홍길동 영업

Field Mapping Method

MethodDescriptionUsage Scenario
Header-based (default)Mapping with column names of the first row (header) in CSVWhen there is a header row in the CSV file
Index-basedMapping by column order (starting from 0)When there is no header row in the CSV file

Header-based Mapping Example(Customer CSV Column Name → Standard Field):

Customer CSV Column NamesStandard FieldRequired 여부
Employee NumberUSER_IDRequired
nameUSER_NAMERequired
email addressEMAILSelection
Affiliated Department IDGROUP_ID_LISTSelection
Employment StatusACTIVE_STATUSSelection

Index-based mapping example(CSV without header):

Column OrderStandard FieldRequired 여부
0 (first column)USER_IDRequired
1 (Second Column)USER_NAMERequired
2 (third column)EMAILSelection
3 (fourth column)GROUP_ID_LISTSelection
4 (fifth column)ACTIVE_STATUSSelection

Standard Field List (User)

Standard FieldRequired 여부Description
USER_IDRequiredUser Unique ID (Email format recommended)
USER_NAMERequiredusername
EMAILSelectionEmail address
GROUP_ID_LISTSelectionAffiliated Group ID (multiple groups are separated by commas)
ACTIVE_STATUSSelectionActivation Status

ACTIVE_STATUS recognition value:

Recognition valueProcessing Result
ACTIVE, Y, 1, true(case insensitive)Process as active user
All other values (재직, 사용, N, empty value, etc.)InactiveProcess as a user

**Caution:**If the ACTIVE_STATUS column is incorrectly mapped or a value that the system cannot recognize is entered,All users deactivatedIt can be done. After changing the settings, be sure to conduct a small-scale test first.

**Common Mistakes:**client company재직/퇴직, 사용/미사용If the same Korean value is used, the system processes all as inactive. In this case, filter records to pass only active users, or check the status manually after synchronization without ACTIVE_STATUS mapping.


Record Filtering (Optional)

You can include only records that meet specific conditions as synchronization targets. When entering multiple conditions, only records that satisfy all conditions (AND) will be processed.

wildcard(*) Pattern Example:

patternMatching Examplemeaning
ACTIVEACTIVEExactly matches 'ACTIVE'
*@company.comhong@company.comValue ending with a specific domain
EMP_*EMP_001, EMP_HRValues starting with a specific prefix
*부서*영업부서, 개발부서Value containing a specific string

Default Email Domain (Optional)

USER_ID must be in email format (@If it is not included, it automatically adds the configured domain and converts it to an email format. If the EMAIL field is empty, it will be filled in together.

USER_ID (input)EMAIL (Input)Domain SettingsUSER_ID (output)Note
EMP001(empty value)company.comEMP001@company.comConverted, EMAIL is also auto-filled.
EMP001hong@other.comcompany.comEMP001@company.comEMAIL retains the existing value
user@a.com(empty value)company.comuser@a.comIf it is already in email format, no changes.

button: Cancel | Save as Draft | Previous | Next


[Step 3] Group Settings

Set the monitoring method and data transformation rules for the group CSV file. The configuration is the same as the user settings, with the following differences.

Difference from User Settings:

itemUser SettingsGroup Settings
CSV Excluded Item Handling OptionsMaintain / Disablemaintenance /delete
Stop synchronization on validation errorexists (optional)None(Always stop completely on error)
Default Email DomainexistsNone

Synchronization Options (Group)

itemOptionDescription
Handling Items Not Included in CSVMaintenance (default)Maintain existing groups that are not in the CSV
deleteDelete Existing Groups Not in CSV (Only Empty Groups Without Members Can Be Deleted)

Standard Field List (Group)

Standard FieldRequired 여부Description
GROUP_IDRequiredGroup Unique ID
GROUP_NAMERequiredGroup Name
DESCRIPTIONSelectionGroup Description
PARENT_GROUP_IDSelectionParent Group ID (used when configuring hierarchy)

Header-based Mapping Example(Group):

Customer CSV Column NamesStandard Field
Department CodeGROUP_ID
Department NameGROUP_NAME
DescriptionDESCRIPTION
superiorDepartmentCodePARENT_GROUP_ID

**Caution:**If an error occurs during group synchronization, the group will be applied without partial reflection.All stoppedIt is possible. However, user synchronization runs independently of the group, so it will continue regardless of any group errors. Please thoroughly review the data integrity of the group CSV file in advance.

**Reference:User settings and group settings betweenAt least one side must complete field mapping.**You can save it.

button: Cancel | Save as Draft | Previous | Next


[Step 4] Synchronization Settings

Set the automatic synchronization period and backup options.

itemDescription
Automatic SynchronizationAutomatically executed at the set interval when in use. If not in use, it can only be executed with the [Manual Sync] button.
Synchronization PeriodWhen using automatic synchronization, set the time (hour/minute) to run daily.
Backup Before SynchronizationAutomatically back up current user/group data before executing synchronization when in use.

Setting Example(Automatically executed every day at 2 AM):

itemSettings
Automatic Synchronizationuse
cycleevery day
Start Time02:00
Backup Before SynchronizationUsage (Recommended for Production Environment)

**Reference:**All execution times are based on KST (Korea Standard Time).

**Reference:**Currently, only one execution per day is supported.

**Caution:**If backup is enabled before synchronization, synchronization will not proceed in case of backup failure. The first synchronization (no backup target data) will skip the backup step and proceed.

button: Cancel | Previous | Save


Manual Synchronization

After saving the settings, in the CSV directory synchronization card on the inbound provisioning list screen**[Manual Synchronization]**Clicking the button will execute synchronization immediately.

Execution Flow:

  1. [Manual Synchronization] Click → Click [Run] in the confirmation popup
  2. Synchronization in progress — Disable button and display in progress message
  3. Complete — The last synchronization information of the card is updated with success/failure messages.

**Reference:**Group → User will be processed in order.

**Caution:**During synchronization, duplicate execution is not possible. Please run it again after the previous synchronization is complete.


Check Synchronization Results

After completing the setup, you can check the last synchronization result on the card.**[Last Synchronization Information]**Clicking the link will open the detailed slide.

Last synchronization status types:

statusDescription
successFile monitoring and data reflection completed
Partial failureSome records failed to reflect, the rest are reflected normally (can occur during user synchronization)
No changesNo changes in file content compared to the previous synchronization (normal operation)
Connection failedUnable to connect to FTP/SFTP server
File not foundThe file does not exist at the specified path.
failureError occurred during data transformation, validation, or reflection process

Detailed slide display items:

In the slide, you can check the results of group synchronization and user synchronization respectively.

itemDisplay content
statusSuccess / Partial Failure / No Change / Failure etc.
Surveillance TargetConfigured paths and file patterns
Last synchronization date and timeCompletion Time
Failure Reasons (In Case of Failure)Error Messages and Error Codes

**Reference:**In the case of a failure state, an error message along with an error code will be displayed. Check the code for reference on how to handle the error.


Error Handling

Error TypeMain SymptomsAction Method
Connection ErrorStatus: Connection FailedCheck server address, port, and account information / Check if the port is open in the firewall
File ErrorStatus: No fileCheck specified path and file pattern / Check if the file is uploaded to the server
Conversion errorStatus: FailureCheck CSV delimiter settings / Check field mapping settings / Check CSV file encoding (UTF-8)
Validation ErrorStatus: FailureCheck for missing required fields (USER_ID, USER_NAME / GROUP_ID, GROUP_NAME)
Reflection ErrorStatus: FailureCheck the error details in the synchronization log and contact the responsible team.
Backup failedSynchronization Not ExecutedCheck Backup Settings Before Synchronization / Check Backup Storage Space

Caution

  • User settings and group settings**At least one side must complete field mapping.**You must do it. Neither side will be saved in an unset state.
  • ACTIVE_STATUSIf the field mapping is incorrect, all users may be deactivated. After changing the settings, be sure to conduct a small-scale test first.
  • When a group synchronization error occurs, the entire group is halted without partial reflection. However, user synchronization runs independently of the group, so it continues regardless of group errors.
  • file name is#Files starting with __PH_0__ are commented out and excluded from synchronization targets.
  • If the file content has not changed, synchronization will be skipped. This is normal behavior.
  • When the backup option is enabled before synchronization, if a backup failure occurs, synchronization will also be halted.
  • All execution times are**KST(Korea Standard Time)**It is a standard.
  • Even if you directly modify the synchronized user/group information in the management center, it will be overwritten based on the CSV file during the next synchronization execution. If permanent changes are needed, please modify the original CSV file or the source system first.
  • You can only activate one inbound provisioning method, and if another method is already activated, you must use it after switching.

Example of Configuration Scenario

Scenario: When the HR system generates daily date-based CSV files on the FTP server

The HR system at 1 AM every day./hr/export/pathusers_20260101.csvAutomatically generate user files in the format, and the group file isgroups.csvIt is an environment where it always overwrites with the same name.

Step 1 — Server Connection Settings:

itemSettings
Connection MethodSFTP
hostftp.company.com
port22
Access IDhrexport

Step 2 — User Settings:

itemSettings
Surveillance Modedirectory
Latest file judgment criteriaFile Name Criteria
path/hr/export
File Patternusers_yyyyMMdd
Handling Items Not Included in CSVDeactivation (Automatic Processing of Departed Employees)
CSV delimitercomma
Mapping ModeHeader-based
Field MappingUSER_ID → USER_ID / USER_NAME → USER_NAME / EMAIL → EMAIL / GROUP_ID_LIST → GROUP_ID_LIST / ACTIVE_STATUS → ACTIVE_STATUS
Record FilteringThe value of ACTIVE_STATUS isY(Excluding resigners)
Default Email Domaincompany.com(Email auto-generation when only employee number is present)

Step 3 — Group Settings:

itemSettings
Surveillance ModeSingle File
path/hr/export
File Patterngroups.csv
Handling Items Not Included in CSVmaintenance
Field MappingGROUP_ID → GROUP_ID / GROUP_NAME → GROUP_NAME / PARENT_GROUP_ID → PARENT_GROUP_ID

Step 4 — Synchronization Settings:

itemSettings
Automatic Synchronizationuse
Start Time02:00 AM (1 hour after HR file creation)
Backup Before Synchronizationuse