Keskitetty tunnistautumisratkaisu
Kasvi, Santeri (2022)
Kasvi, Santeri
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022121227987
https://urn.fi/URN:NBN:fi:amk-2022121227987
Tiivistelmä
Opinnäytetyön toimeksiantajana oli Moment Digital Oy, jonka IT-liiketoiminta ylläpitää joitakin satoja Linux- ja Windows-pohjaisia palvelimia sekä omaan sisäiseen käyttöön että asiakkailleen.
Opinnäytetyön tavoitteena oli tutkia erilaisia ratkaisuja keskitettyyn tunnistautumiseen ja kertakirjautumiseen, joka ensisijaisesti sallisi kirjautumisen SSH-palvelimille. Ratkaisuissa tärkeää oli, että ne tukeuisivat toimeksiantajan olemassa olevaan käyttäjätietokantaan Microsoftin Azure AD-pilvipalvelussa, että ne olisivat suoraviivaisia käyttää päivittäisessä toiminnassa, että niitä olisi mahdollista laajentaa muihinkin käyttökohteisiin kuin vain SSH-palvelimille, että niiden käyttö soveltuisi myös muillekin kuin teknisille asiantuntijoille, sekä että niiden tulisi toimia toimeksiantajan asiakkaiden palvelimilla häiritsemättä niiden toimintaa.
Tutkimuksessa verrattiin muutamia tuotteita ja kokonaisuuksia, joista lopulta valittiin kokonaisuus, joka koostui Microsoftin Azure AD-pilvipalvelusta käyttäjätietokannan hallintaan, Keycloakista toimimaan siltana Azure AD-hakemiston ja muiden palveluiden välillä kertakirjautumiseen sekä Vaultista, joka tukeutui Keycloakiin käyttäjien tunnistautumiseen. Vaultia käytettiin allekirjoittamaan lyhytkestoisia SSH-sertifikaatteja, joita käytettiin SSH-palvelimille kirjautuessa. Tutkimuksessa toteutettiin kokonaisuudelle testiympäristö sen toiminnallisuuden testaamiseksi. Testiympäristön avulla kokonaisuutta verrattiin toimeksiantajan tarpeisiin, joista nostettiin esille kokonaisuuden onnistumisia sekä jatkokehityksen kohteita.
Kertakirjautumisen kokonaisuus toimi testiympäristössä hyvin. Kokonaisuus näytti olevan potentiaalinen toimiva ratkaisu, mutta se vaati vielä jatkokehitystä ja tutkimista toimeksiantajan tarpeiden täyttämiseksi. Tulosta ei voinut sellaisenaan vielä käyttää toimeksiantajan ongelman ratkaisuksi. Opinnäytetyön tulos toimii hyvänä alkuna toimeksiantajan omassa jatkokehitystoiminnassa. The employer of the thesis was Moment Digital Oy, whose IT-business maintains some hundreds of Linux- and Windows-based servers both for their own use and for their customers.
The goal of the thesis was to study different solutions for centralised authentication and single sign-on, which would primarily allow logging in to SSH-servers. It was important that the solutions would rely on the employer’s existing user database in Microsoft’s Azure AD-cloud service, that they would be straightforward in daily use, that they could be extended to other targets than just SSH-servers, that they would be suitable for use for other than technical experts, and that they would work in the employer’s customers’ servers without disrupting them.
The study compared some products and sets of products, out of which a solution was chosen, which consists of Microsoft’s Azure AD-cloud service to manage the user database, Keycloak to function as an authentication bridge between Azure AD and other services, and Vault, which relied on Keycloak for user authentication. Vault was used to sign short-lived SSH-certificates, which were used to log in to SSH-servers. The study built a test environment for the products to test their functionality together. Using the test environment, the products were compared to the employer’s needs, out of which were raised both successes and needs for further development.
The single sign-on functionality worked well in the test environment. It showed potential at being a viable solution, but it still required studying and development to meet the employer’s needs. The result of the study could not be used as-is to solve the employer’s problem. The result of the thesis worked as a good first step towards the employer’s development work.
Opinnäytetyön tavoitteena oli tutkia erilaisia ratkaisuja keskitettyyn tunnistautumiseen ja kertakirjautumiseen, joka ensisijaisesti sallisi kirjautumisen SSH-palvelimille. Ratkaisuissa tärkeää oli, että ne tukeuisivat toimeksiantajan olemassa olevaan käyttäjätietokantaan Microsoftin Azure AD-pilvipalvelussa, että ne olisivat suoraviivaisia käyttää päivittäisessä toiminnassa, että niitä olisi mahdollista laajentaa muihinkin käyttökohteisiin kuin vain SSH-palvelimille, että niiden käyttö soveltuisi myös muillekin kuin teknisille asiantuntijoille, sekä että niiden tulisi toimia toimeksiantajan asiakkaiden palvelimilla häiritsemättä niiden toimintaa.
Tutkimuksessa verrattiin muutamia tuotteita ja kokonaisuuksia, joista lopulta valittiin kokonaisuus, joka koostui Microsoftin Azure AD-pilvipalvelusta käyttäjätietokannan hallintaan, Keycloakista toimimaan siltana Azure AD-hakemiston ja muiden palveluiden välillä kertakirjautumiseen sekä Vaultista, joka tukeutui Keycloakiin käyttäjien tunnistautumiseen. Vaultia käytettiin allekirjoittamaan lyhytkestoisia SSH-sertifikaatteja, joita käytettiin SSH-palvelimille kirjautuessa. Tutkimuksessa toteutettiin kokonaisuudelle testiympäristö sen toiminnallisuuden testaamiseksi. Testiympäristön avulla kokonaisuutta verrattiin toimeksiantajan tarpeisiin, joista nostettiin esille kokonaisuuden onnistumisia sekä jatkokehityksen kohteita.
Kertakirjautumisen kokonaisuus toimi testiympäristössä hyvin. Kokonaisuus näytti olevan potentiaalinen toimiva ratkaisu, mutta se vaati vielä jatkokehitystä ja tutkimista toimeksiantajan tarpeiden täyttämiseksi. Tulosta ei voinut sellaisenaan vielä käyttää toimeksiantajan ongelman ratkaisuksi. Opinnäytetyön tulos toimii hyvänä alkuna toimeksiantajan omassa jatkokehitystoiminnassa.
The goal of the thesis was to study different solutions for centralised authentication and single sign-on, which would primarily allow logging in to SSH-servers. It was important that the solutions would rely on the employer’s existing user database in Microsoft’s Azure AD-cloud service, that they would be straightforward in daily use, that they could be extended to other targets than just SSH-servers, that they would be suitable for use for other than technical experts, and that they would work in the employer’s customers’ servers without disrupting them.
The study compared some products and sets of products, out of which a solution was chosen, which consists of Microsoft’s Azure AD-cloud service to manage the user database, Keycloak to function as an authentication bridge between Azure AD and other services, and Vault, which relied on Keycloak for user authentication. Vault was used to sign short-lived SSH-certificates, which were used to log in to SSH-servers. The study built a test environment for the products to test their functionality together. Using the test environment, the products were compared to the employer’s needs, out of which were raised both successes and needs for further development.
The single sign-on functionality worked well in the test environment. It showed potential at being a viable solution, but it still required studying and development to meet the employer’s needs. The result of the study could not be used as-is to solve the employer’s problem. The result of the thesis worked as a good first step towards the employer’s development work.