FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

Finnish
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Identity Governance and Administration (IGA)
  • IGA-ratkaisukirjasto
  • Ohjeet ja käytännöt
  • Tunnistautumisen määritys

Määritä: Käyttäjäfederointi todennusta varten

Learn how to set up user authentication through federated identity management.

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Palveluhallinta
    Matrix42 Core -ratkaisu Matrix42 Intelligence Matrix42 Professional -ratkaisu
  • Identity Governance and Administration (IGA)
    IGA-ratkaisukirjasto IGA-yleiskatsaus
  • Alusta
    ESM ESS2 ESS Efecte Chat for Service Management Lisäosat
  • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle
    2026.1 2025.3 2025.2 2025.1 2024.2 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Julkaisutiedot ja käytännöt
  • Muu materiaali
    Saavutettavuusselosteet Termit ja dokumentaatio-ohjeet
  • Palvelut
+ More
    • Palveluhallinta

    • Identity Governance and Administration (IGA)

    • Alusta

    • Julkaisutiedot M42 Professionalille, IGA:lle ja konversationaaliselle tekoälylle

    • Muu materiaali

    • Palvelut

Määritä: Käyttäjäfederointi todennusta varten

Learn how to set up user authentication through federated identity management.

Miten käyttäjäfederointi määritetään todennusta varten?

 

Tässä artikkelissa kuvataan ohjeet käyttäjäfederoinnin määrittämiseen todennusprotokollaksi. Tämä voidaan tehdä sekä Active Directorylle että LDAP:lle.

Käyttäjäfederointi tarkoittaa, että käyttäjät voivat todentaa itsensä Matrix42 Pro- ja IGA-ratkaisuihin käyttäen samoja tunnuksia (käyttäjätunnus ja salasana) kuin asiakkaan (AD/LDAP) hakemistossa. 

 

Vaiheittaiset ohjeet


1. Todennustehtävä tulee määrittää Service Management -alustalla ennen Secure Access -komponentin määrittämistä. Jos et halua määrittää todennustehtävää ensin, voit tehdä koko määrityksen suoraan Secure Accessissa.

  • Miten uusi provisiointitehtävä määritetään todennusta varten?

2. Kirjaudu Secure Accessin hallintakonsoliin
Valitse oikea realm, johon määrität tätä federointia

3. Tarkista, että määritys on tallentunut oikein Secure Access -komponenttiin

  • Tarkistus voidaan tehdä osoitteessa: https://{TENANT_NAME.com}/auth/ käyttäen tunnusta main.admin (ja vuokralaisen määrityksestä luettua sopivaa salasanaa).

     

4. Valitsemalla User Federation, pitäisi näkyä lista Authentication tasks -tehtävistä (jos lista on tyhjä, odota minuutti, jotta tieto siirtyy Service Managementista Secure Accessiin; jos lista on edelleen tyhjä.


 

 

 

 

 

 

 

 

 

5. Valitsemalla Edit tietyltä tehtävältä näet LDAPS-yhteyden tiedot. Kannattaa tarkistaa, että kaikki asetukset ovat kunnossa, erityisesti:

  • Import Users: ON
  • Edit Mode: READ_ONLY


 

6. Kun yhteys on tallennettu, oikeaan yläkulmaan ilmestyy Action-valikko, josta pääkäyttäjä voi synkronoida kaikki käyttäjät LDAP:sta Secure Accessiin


7. Tarkista, onko AD_GroupMapper kunnossa. Valitse Mappers User Federationin yläpalkista. Oletusmapperien joukossa tulisi näkyä yksi (tai useampi) group-ldap-mapper-tyyppinen mapperi.

  • Jos AD_GroupMapperia ei ole luotu automaattisesti, käyttäjä voi luoda oman napsauttamalla sinistä Add mapper -painiketta.


 

 

Esimerkki AD-ryhmämapperista


 

8. Kun määritys on tarkistettu, pääkäyttäjä voi kokeilla Synchronize all users -toimintoa (mainittu eräässä aiemmista näytöistä). Tämän pitäisi tuoda esiin viesti, joka muistuttaa tätä


 

9. Synkronoidut käyttäjät voi tarkistaa Users-osiosta



10. Määritys pitäisi nyt olla valmis, ja todennusta on mahdollista testata

11. Seuraava vaihe on määrittää käyttäjätasot ja roolit: https://docs.efecte.com/configure-authentication/configure-esa-to-use-esm-roles 

 
 

Vianmääritys

Secure Access -lokit voidaan ladata Pro/IGA-ratkaisuista Connectors -välilehdeltä, Logs -sivuvalikosta. Lataa sen jälkeen kohdasta esa -lokit, keycloak.log -tiedosto.


1. Jos Secure Accessin lokeissa näkyy SSL-yhteyteen liittyviä ongelmia, kuten esimerkiksi: 

Caused by: org.keycloak.models.ModelException: Querying of LDAP failed org.keycloak.storage.ldap.idm.query.internal.LDAPQuery@292d8e81
        at org.keycloak.storage.ldap.idm.store.ldap.LDAPIdentityStore.fetchQueryResults(LDAPIdentityStore.java:289)
        at org.keycloak.storage.ldap.idm.query.internal.LDAPQuery.getResultList(LDAPQuery.java:174)
        ... 80 more
Caused by: javax.naming.CommunicationException: simple bind failed: 10.0.2.110:636 [Root exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
        at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:219)
        at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2897)
        at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:347)
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxFromUrl(LdapCtxFactory.java:225)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:189)
        at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:243)
        at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:154)
        at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:84)
        at org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:116)
        at org.jboss.as.naming.InitialContext.init(InitialContext.java:101)
        at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
        at org.jboss.as.naming.InitialContext.<init>(InitialContext.java:91)
        at org.jboss.as.naming.InitialContextFactory.getInitialContext(InitialContextFactory.java:43)
        at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:695)
        at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
        at javax.naming.InitialContext.init(InitialContext.java:244)
        at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
        at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.createLdapContext(LDAPContextManager.java:80)
        at org.keycloak.storage.ldap.idm.store.ldap.LDAPContextManager.getLdapContext(LDAPContextManager.java:100)
        at org.keycloak.storage.ldap.idm.query.internal.LDAPQuery.initPagination(LDAPQuery.java:213)
        at org.keycloak.storage.ldap.idm.store.ldap.LDAPOperationManager.searchPaginated(LDAPOperationManager.java:293)
        at org.keycloak.storage.ldap.idm.store.ldap.LDAPIdentityStore.fetchQueryResults(LDAPIdentityStore.java:277)
        ... 81 more
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.ssl.Alert.createSSLException(Alert.java:131)
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
        at sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
        at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)
        at sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)
        at sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)
        at sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:377)
        at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
        at sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
        at sun.security.ssl.TransportContext.dispatch(TransportContext.java:182)
        at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152)
        at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1383)
        at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1291)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:435)
        at sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:804)
        at sun.security.ssl.SSLSocketImpl.access$200(SSLSocketImpl.java:73)
        at sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1166)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
        at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:448)
        at com.sun.jndi.ldap.Connection.writeRequest(Connection.java:421)
        at com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:359)
        at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:214)
        ... 102 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:456)
        at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:323)
        at sun.security.validator.Validator.validate(Validator.java:271)
        at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:315)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:223)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:129)
        at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)
        ... 121 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
        at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
        at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
        at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
        at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:451)
        ... 127 more

2. Jos SSL:ää käytetään ESA:n yhdistämiseen Active Directoryyn, ESA:n tulee tunnistaa sertifikaatti, jonka AD esittää. Tämä on manuaalinen vaihe, ja se edellyttää:

  • Muodosta SSH-yhteys palvelimeen (jos sinulla ei ole pääsyä palvelimeen, ota yhteyttä Matrix42:een)
  • Muodosta SSH-yhteys Secure Access (ESA) -konttiin
  • Siirry hakemistoon /opt/esa (varmista, että siellä on truststore.jks-tiedosto) 
  • Testiympäristöissä voit suorittaa seuraavan komennon (jos sinulla ei ole sertifikaattitiedostoa):

    • echo -n | openssl s_client -connect IP_OF_AD_SERVER:636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > NAME_OF_THE_FILE_FOR_EXAMPLE_IP_OF_AD_SERVER.crt
    • Tuotantoympäristöissä on kuitenkin suositeltavaa hankkia juuri- tai välisertifikaatti asiakkaalta, sillä ne ovat yleensä voimassa pidempään kuin palvelintason sertifikaatit.
  • Esimerkki voisi olla:
  • echo -n | openssl s_client -connect 10.0.2.110:636 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > 10.0.2.110.crt
     

3. Kun sinulla on sertifikaattitiedosto, se tulee tuoda truststore.jks-tiedostoon

  • keytool -importcert -file NAME_OF_CERT_FILE.crt -keystore truststore.jks -alias “ALIAS_OF_THE_CERTIFICATE”
  • Esimerkiksi: keytool -importcert -file AD_certificate.crt -keystore truststore.jks -alias AD_certificate

4. Käynnistä Secure Access uudelleen ottaaksesi sertifikaatin käyttöön

  • Poistu esa-dockerista palvelimelle komennolla: exit
  • Tämän jälkeen ESA-kontti tulee käynnistää uudelleen uusien sertifikaattien käyttöön ottamiseksi suorittamalla nämä komennot palvelimella (korvaa [TENANT] vuokralaisesi nimellä):
    docker stop [TENANT]-esa && run-image -e TENANT=[TENANT] esa
     
 
 

Was this article helpful?

Yes
No
Give feedback about this article

Table of Contents

Related Articles

  • Määritä: ESA SAML -todennus
  • Määritä: ESA Entra ID SSO käyttäen OpenID Connectia (OIDC)
  • Määritä: Uusi todennustehtävä
  • Määritä: Secure Access (ESA) ESM-roolien määritystä varten
  • Määritä: OTP ulkoisella sovelluksella

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand