Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
tutorial:adm:how_to_identity_sync [2019/01/24 13:36]
kotisovam
tutorial:adm:how_to_identity_sync [2019/08/14 12:44]
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
  • by soval