Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:adm:how_to_identity_sync [2019/01/24 13:36]
kotisovam
tutorial:adm:how_to_identity_sync [2019/08/14 12:44] (current)
doischert
Line 2: Line 2:
  
 ===== Introduction ===== ===== Introduction =====
-This tutorial will show you how to connect csv files as a source of users with CzechIdM. We will use the default ​CSVDirConnector from connid.+This tutorial will show you how to connect csv files as a source of data about users in CzechIdM. We will use the default ​CSVConnector.
  
 ===== Data source ===== ===== Data source =====
-Our sample source file has just three columns ​that are login, firstname and lastname.+Our sample source file has just three columns ​which are login, firstname and lastname.
  
 <code csv> <code csv>
Line 13: Line 13:
 </​code>​ </​code>​
  
-Move your source file onto the server on which IdM is running. It's a good practice to put CSV files of every project into an "​import_csv"​ folder, which you can create in /opt/ dir. Set the owner of the folder and the CSV files to tomcat:​tomcat. +Move your source file onto the server on which IdM is running. It's a good practice to put CSV files of every project into an "​import_csv"​ folder, which you can create in the /opt/ directory. Set the owner of the folder and the CSV files to tomcat:​tomcat. 
-Set permissions so that the CzechIdM server will be able to read this file. **Also, ​it must be able to write into the folder where the file is located because the connector needs to create temporary files when processing csv into its location.** (chmod 750 for folder permissions)+Set permissions so that the CzechIdM server will be able to read this file. **Also, ​CzechIdM ​must be able to write into the folder where the file is located because the connector needs to create temporary files when processing csv into its location.** (chmod 750 for folder permissions)
  
  
 ===== Basic information ===== ===== Basic information =====
  
-Go to the **Systems** tab in the main menu, then click on the **Add** button, right above the listed current systems. On the first page, just fill the system name, and since you are connecting csv as a source file, you can set the system as **Read-only**. Then save the system settings - to make other options available.+Go to the **Systems** tab in the main menu, then click on the **Add** button, right above the listed current systems. On the first page, just fill in the system name, and since you are connecting csv as a source file, you can set the system as **Read-only**. Then save the system settings - to make other options available.
  
  
 ===== Connector configuration ===== ===== Connector configuration =====
  
-In the next step, switch to the **Configuration** tab of your new system. First, you need to choose a connector; in this case, it is the **CSV connector**. This will present you with the specific configuration for that choice.+In the next step, switch to the **Configuration** tab of your new system. First, you need to choose a connector; in this case, it is the **CSV connector**. This will present you with the specific configuration for this connector.
  
-Fill the important ​fields: +Fill these fields: 
-  * **Source path**: path to your csv file  +  * **Separator**: separator used in the csv file (comma ","​ in our example) 
-  * **File mask**: file name +  * **Header included**: does the file have a header (it usually does, as in our example; if not, it can be set in the "​Header ​(multi)" field) 
-  * **Key column name**: ​(multi) ​- column name of your unique identifier ​ +  * **Source path**: path to the csv 
-  * **Column names**: (multi) - All columns of your file including ​the identifier +  * **Identifier**: the name of the column ​containing unique identifiers of the identities (login in our example) 
-  * **Ignore header**: true +  ​the rest is optional ​and should not be set in this case 
- +Click Save.
-<note important>​The values in the fields **Key column ​name** and **Column names** must be typed in **uppercase** letters even if that's not the case in your original file.</​note>​ +
- +
-  +
- +
-//Sample configuration for our file:// {{:​tutorial:​adm:​csv_conf_1.png?​linkonly|}}+
  
 ===== Scheme ===== ===== Scheme =====
 Next, go to the **Scheme** menu item of your selected system. Next, go to the **Scheme** menu item of your selected system.
  
-Have CzechIdM generate a scheme for you by clicking on the **Generate scheme** button. +Have CzechIdM generate a scheme for you by clicking on the **Generate scheme** button. ​The result should look like this.
-Alternately,​ if you want to set everything by yourself:+
  
-  * Use the **Add** button to create a new scheme. For users, you need to name it "​**\_\_ACCOUNT\_\_**",​ because it is Connid constant +{{ :​tutorial:​adm:​csv_conf_4.png?​direct&​600 ​|}}
-  * Add all file columns you want to work with. Instead of the name of your identifier column use the Connid constant "​**\_\_NAME\_\_**"​ +
-  * Set all attributes as **Able to read** +
- +
-//Sample scheme:// ​{{:​tutorial:​adm:​csv_conf_4.png?​linkonly|}}+
  
 ===== Mapping ===== ===== Mapping =====
Line 63: Line 53:
 Then map all columns as entity attributes the way you see it in the picture below. Set **\_\_NAME\_\_** ​ as an identifier. Then map all columns as entity attributes the way you see it in the picture below. Set **\_\_NAME\_\_** ​ as an identifier.
  
-//Sample attribute mapping:// ​{{:​tutorial:​adm:​csv_conf_5.png?​linkonly|}}+{{ :​tutorial:​adm:​csv_conf_5.png?​direct&​600 ​|}} 
  
 ===== Synchronization ===== ===== Synchronization =====
  
-Finally, go to the **Synchronization** tab and add a new one, setting its **Name** and the fields as follows:+Finally, go to the **Synchronization** tab and add a new one, setting its **Name** ​(you can choose whichever name you like) and the fields as follows:
  
   * **Allowed:​** True   * **Allowed:​** True
Line 78: Line 69:
 Afterwards, go back to the **Synchronization** menu and run the synchronization you've just created. You can check its result if you click  on the **Logs** tab of your synchronization. Afterwards, go back to the **Synchronization** menu and run the synchronization you've just created. You can check its result if you click  on the **Logs** tab of your synchronization.
  
-//Sample synchronization results:// ​{{:​tutorial:​adm:​csv_conf_6.png?​linkonly|}}+{{ :​tutorial:​adm:​csv_conf_6.png?​direct&​600 ​|}}
    
-===== Frequent errors ​=====+===== Common issues ​=====
 If the import does not go as expected, these are the things to check out: If the import does not go as expected, these are the things to check out:
-  * Database ​connection+  * Possible database ​connection ​problems
   * Permission of the folder with CSV files should be set to reading, writing and execution   * Permission of the folder with CSV files should be set to reading, writing and execution
   * Owner of the CSV files and folder, including these files, has to be tomcat:​tomcat   * Owner of the CSV files and folder, including these files, has to be tomcat:​tomcat
  
-**Valid CSV:** +**Your CSV is not valid:** 
-  * Same count of columns in header and in individual records+  * The columns in the header and in individual records ​must be the same
   * No duplicates in identifier that you chose in the system configuration as unique   * No duplicates in identifier that you chose in the system configuration as unique
   * No missing unique identifiers   * No missing unique identifiers