Moodle has plugins to authenticate users and handle course enrolment from external databases.
https://docs.moodle.org/310/en/External_database_authentication
https://docs.moodle.org/310/en/External_database_enrolment
https://docs.moodle.org/310/en/External_database_authentication
https://docs.moodle.org/310/en/External_database_enrolment