Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
tutorial:adm:how_to_identity_sync [2019/01/02 10:09] kotisovam [Frequent errors] |
tutorial:adm:how_to_identity_sync [2020/05/21 08:13] kotynekv [Common issues] BOM mention added |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Systems - CSV: Source of identities ====== | ||
+ | |||
+ | ===== Introduction ===== | ||
+ | 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 ===== | ||
+ | Our sample source file has just three columns which are login, firstname and lastname. | ||
+ | |||
+ | <code csv> | ||
+ | login, | ||
+ | edwardw, | ||
+ | adaml, | ||
+ | </ | ||
+ | |||
+ | 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 " | ||
+ | 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 ===== | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | 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 these fields: | ||
+ | * **Separator**: | ||
+ | * **Header included**: does the file have a header (it usually does, as in our example; if not, it can be set in the " | ||
+ | * **Source path**: path to the csv | ||
+ | * **Identifier**: | ||
+ | * the rest is optional and should not be set in this case | ||
+ | Click Save. | ||
+ | |||
+ | ===== Scheme ===== | ||
+ | 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. The result should look like this. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Mapping ===== | ||
+ | |||
+ | Now go to the **Mapping** menu item. Set how the file data is to be passed to CzechIdM. | ||
+ | |||
+ | First, set the following: | ||
+ | * **Operation type:** Synchronization | ||
+ | * **Object name:** \_\_ACCOUNT\_\_ | ||
+ | * **Entity type:** Identity | ||
+ | * As **Mapping name** set whatever you want to, for example Synchronization of users. | ||
+ | |||
+ | Then map all columns as entity attributes the way you see it in the picture below. Set **\_\_NAME\_\_** | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===== Synchronization ===== | ||
+ | |||
+ | 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: | ||
+ | * **Reconciliation: | ||
+ | * **Set of mapped attributes: | ||
+ | * **Correlation attribute: | ||
+ | |||
+ | For the rest of the configuration, | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Common issues ===== | ||
+ | If the import does not go as expected, these are the things to check out: | ||
+ | * Possible database connection problems | ||
+ | * 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: | ||
+ | |||
+ | **Your CSV is not valid:** | ||
+ | * 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 missing unique identifiers | ||
+ | * No empty columns in the header definition | ||
+ | * The CSV file has UTF-8 encoding and starts with BOM character (< | ||
+ | |||
+ | |||