To solve this, you can develop a custom user storage provider that handles multiple sources and the merging of the data, or use a purpose-built tool like Midpoint or Apache Syncope to monitor your multiple sources of user data (LDAP/AD, database, CSV...), and push the aggregate user record into Keycloak.