Skip to main content

CSV Directory Synchronization

Menu Path: Settings > Inbound Provisioning > CSV Directory Synchronization


Table of Contents

  • Overview
  • Before You Start
  • Screen Layout
  • 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
  • Cautions
  • Example of Configuration Scenario

Overview

This feature 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 paths, conversion rules, and execution frequency, the system will automatically detect and reflect file changes thereafter.

Operation Flow:

stepContent
1Connecting to FTP/SFTP Server
2Download CSV file from 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 User/Group Information in the Management Center (Group → User Order)

**Reference:**You can only activate one inbound provisioning method. If 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 is 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 addressIP or domain of the client's file serverftp.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 date.users.csvorusers_yyyyMMdd.csv
CSV Column InformationHeader names or column order of the client CSV사원번호, 이름, 메일, 부서ID, 재직상태

Screen Layout

Before ConfigurationThe message "You can use it after setting up." 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)Choosing FTP or SFTPSFTP
Host (Server Address)Server IP or Domain Addressftp.example.com
PortConnection Port Number (Automatically Changes When Protocol Changes)22
Access IDServer Account IDftpuser
Access PasswordServer Account Password (Encrypted Storage)

Criteria for Selecting Connection Methods:

MethodDefault PortDescriptionRecommended Situations
SFTP22SSH-based encrypted transmissionExternal network or environment requiring security (recommended)
FTP21Unencrypted TransmissionEnvironment with low security requirements 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.

Monitoring Path

Select Monitoring Mode

It depends on how the client company manages files on their server.

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

Selecting Directory Mode — Criteria for Determining Latest Files

criteriaDescriptionUsage Scenarios
As of the revision dateSelect the most recently modified file that contains the specified keyword.When there is no date in the filename
File Name CriteriaSelect the file with the most recent date by parsing the date in the file name.When the HR system includes the date in the file name

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 are commented out and excluded from synchronization targets.


Synchronization Options

ItemOptionDescription
Handling Items Not Included in CSVMaintenance (default)Maintain existing users not present in the CSV. Recommended when the omission may be a simple mistake.
DeactivationDeactivate 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. Use this when prioritizing data integrity.
Not in use (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 be sure to check the file contents in advance.


CSV Conversion Settings

Set the CSV file format and field mapping rules. If you are using user synchronization**Field mapping is required.**is.

Input CSV delimiter

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

Field Mapping Method

MethodDescriptionUsage Scenarios
Header-based (default)Mapping with column names of the first row (header) in CSVWhen there is a header row in a 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 names → standard fields):

Customer CSV Column NamesStandard FieldRequired 여부
Employee NumberUSER_IDRequired
NameUSER_NAMERequired
Email addressEMAILSelection
Department IDGROUP_ID_LISTSelection
Employment StatusACTIVE_STATUSSelection

Index-based mapping example(Headerless CSV):

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 separated by commas)
ACTIVE_STATUSSelectionActivation Status

ACTIVE_STATUS recognition value:

Recognition ValueProcessing Result
ACTIVE, Y, 1, true(case insensitive)Process as an active user
All other values (재직, 사용, N, empty values, 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. Be sure to conduct a small test first after changing the settings.

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


Record Filtering (Optional)

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

wildcard(*) Pattern example:

patternMatching ExampleMeaning
ACTIVEACTIVEExactly matches 'ACTIVE'
*@company.comhong@company.comValues ending with a specific domain
EMP_*EMP_001, EMP_HRValues starting with a specific prefix
*부서*영업부서, 개발부서Values 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.comNo change if it is already in email format.

Button: Cancel | Save temporarily | 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
Options for Handling Items Not Included in CSVMaintain / DisableMaintenancedelete
Stop synchronization on validation errorexists (optional)None(Always halt 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 the 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
Superior Department CodePARENT_GROUP_ID

Caution:If an error occurs during group synchronization, the group will be partially reflected withoutAll stoppedIt is possible. However, user synchronization runs independently of the group, so it will continue regardless of group errors. Please thoroughly review the data integrity of the group CSV file in advance.

**Reference:Between user settings and group settingsAt least one side must complete the field mapping.**You can save it.

Button: Cancel | Save temporarily | 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 PeriodSet the time (hour/minute) to run daily when using automatic synchronization.
Backup Before SynchronizationAutomatically back up current user/group data before executing synchronization when in use.

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

ItemSettings
Automatic Synchronizationuse
cycleevery day
Start Time02:00 AM
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 (when there is 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 immediately execute synchronization.

Execution Flow:

  1. Click [Manual Sync] → Click [Run] in the confirmation popup.
  2. Sync in Progress — Disable Button and Show In Progress Message
  3. Completed — The last synchronization information of the card is updated with success/failure messages.

**Reference:**Processed in the order of group → user.

**Caution:**Duplicate execution is not allowed during synchronization. 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, while the others were reflected normally (may 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.
Monitoring TargetConfigured Paths and File Patterns
Last synchronization date and timeCompletion Time
Reason for Failure (in case of failure)Error Messages and Error Codes

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


Error Handling

Error TypesMain SymptomsAction Method
Connection ErrorStatus: Connection FailedCheck server address, port, and account information / Check if the corresponding port is open in the firewall
File ErrorStatus: No fileCheck specified path and file pattern / Verify 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: FailedCheck for missing required fields (USER_ID, USER_NAME / GROUP_ID, GROUP_NAME)
Reflection ErrorStatus: FailedCheck the error details in the synchronization log and contact the responsible team.
Backup failureSynchronization Not ExecutedCheck Backup Settings Before Synchronization / Check Backup Storage Space

Cautions

  • Between user settings and group settings**At least one side must complete the 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#Files starting with 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.
  • Only one inbound provisioning method can be activated, and if another method is already activated, it must be used 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 that 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
Criteria for Determining the Latest FileFile 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_NAME / EMAIL / GROUP_ID_LIST / ACTIVE_STATUS
Record FilteringThe value of ACTIVE_STATUS isY(excluding resigners)
Default Email Domaincompany.com(Automatically generate email 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