Määritä: EPE tai ESA käyttämään ESM-rooleja
Määritä: EPE tai ESA käyttämään ESM-rooleja
Tässä artikkelissa kuvataan ohjeet Efecten provisiointimoottorin tai Efecte Secure Access -komponentin määrittämiseen linkittämään hakemistoryhmä Efecten palvelunhallintarooliin.
Huomautus!
Huomaa, että ESA tarvitsee harvoin ryhmätietoja, koska niitä hallinnoi EPE (Efecte provisioning task). EPE yleensä tuo MemberOf-tiedot ESM:ään ja sieltä ESS:ään.
Huomautus!
Älä koskaan liitä käyttäjätunnuksia näihin sääntöihin. Käyttöoikeudet tulisi myöntää ryhmän jäsenyyksien, ei käyttäjätunnusten, kautta.
EPE:n määrittäminen käyttämään ESM-rooleja
- Jotta voit hakea ryhmiä hakemistosta ESM:ään, tee oikea yhdistämismääritys EPE-kokoonpanoon memberOf .

- Tarkista, että memberOf on sama koodi kuin alustan asetuksissa servlet.auth.person.groups.attribute.code-määrityksessä.

- Yhdistä ESM-roolit ryhmiin käyttämällä ulkoista tunnistetta ESM:n roolimääritysnäytössä:

- Kirjautumisen yhteydessä se käy läpi henkilölle määritetyt ryhmät - ominaisuuden nimi asetetaan kohdassa 'servlet.auth.person.groups.attribute.code', oletusarvo: "entitlements"
- jos yksikin ryhmä on yhtä suuri kuin 'servlet.auth.admin.ad.group', se antaa pääkäyttäjän tason käyttöoikeudet
- jos yksikin ryhmä on yhtä suuri kuin 'servlet.auth.user.ad.group', se antaa NORMAALI-tason käyttöoikeudet
ESA määrittäminen käyttämään ESM-rooleja AD
- Kirjaudu sisään ESA Adminilla (main.admin) osoitteessa https://example.efectecloud.com/auth/admin
- Valitse oikea alue ylävalikosta

- Avaa Asiakkaan asetukset vasemmanpuoleisesta paneelista

- Valitse Asiakkaan kokoonpano (päättyy shibboleth-kirjaimiin) https://example.efectecloud.com/shibboleth

- Valitse Asiakkaan laajuusalueet -välilehti ja valitse shibboleth-linkki

- Valitse Lisää kartoittaja -painike ja valitse avattavasta valikosta Konfiguraation mukaan

- Valitse SAML Efecte ESM userLevel -kartoittaja ja lisää nimet ja SAML attribuutin nimimuoto alla olevan kuvan mukaisesti (com:efecte:esm:userLevel & Unspecified). Tallenna muutokset.

Huomaa, että jos asiakas ei käytä oletusarvoisia perusryhmien nimiä ESMAdmins, ESMUsers, ESMreaders, ryhmien nimiä voidaan muuttaa ESA isännässä. Kartoittajatunnisteet tallennetaan ESA-kontin kansioon ”/opt/esa/ keycloak -scripts/[TENANT/REALM]” ESA
Oletuskartoitin isännässä:
// Root, Normal, Readonly, NoAccess
var
adminGroup = "ESMadmins";
var
normalGroup = "ESMusers";
var
readOnlyGroup = "ESMreaders";
var
userLevelDefault = "NoAccess";
var
userLevelIndex = 0;
- Määritä com:efecte:esm:roles-kartoittaja lisäämällä uusi kartoittaja kokoonpanon mukaan

- Valitse SAML Efecte ESM -roolien yhdistäjäksi [Realm name] ja lisää nimet ja SAML attribuutin nimimuoto alla olevan kuvan mukaisesti (com:efecte:esm:roles & Unspecified). Tallenna muutokset.

- Mene ESM:ään. ESM:n käyttöoikeuksissa jokaisella käyttöoikeudella on attribuutti "Ulkoinen tunniste" - se tulisi asettaa hakemistoryhmän nimeksi.
ESA määrittäminen käyttämään ESM-rooleja Entra (aiemmin Az
Edellytys: Ryhmät-vaatimus on määritetty Azure (ryhmät lähetetään Azure ESA :han), sekä SAML että OIDC ovat tuettuja.
1. Kirjaudu ESA Adminilla (main.admin) osoitteeseen https://example.efectecloud.com/auth/admin
2. Valitse oikea alue ylävalikosta 
3. Lisää ryhmien kartoittaja identiteetin tarjoajien asetuksiin (sinun on lisättävä eri attribuutin nimi todennustyyppisi SAML tai OIDC perusteella). Siirry identiteetin tarjoajaasi ja kartoittajat-välilehdelle. Tämä ryhmävaatimus (tiedot) ei tule oletuksena Entra , joten tarkista, että asiakas on määrittänyt tämän ryhmävaatimuksen Entra uid mukaisesti. OIDC :lle: OIDC asiakasohjeet ja SAML lle SAML asiakasohjeet).
3A. SAML tapauksessa käytä attribuutin nimeä: http://schemas.microsoft.com/ws/2008/06/identity/claims/groups synkronointitilan ohitus: Pakota, Väite: ryhmät 
3B. OIDC ssä käytä attribuutin nimeä: groups sync mode override: Force, Claim: groups

4. Avaa sen jälkeen Asiakkaan asetukset vasemmasta sivupaneelista 
5. Valitse Asiakkaan kokoonpano (päättyy shibboleth-kirjaimiin) https://example.efectecloud.com/shibboleth 
6. Valitse Asiakkaan laajuusalueet -välilehti ja valitse Shibboleth-linkki 
7. Valitse Lisää kartoittaja -painike ja valitse alasvetovalikosta Konfiguraation mukaan 
8. Valitse SAML Efecte ESM userLevel -mapperiksi vaihtoehto ja lisää nimet ja SAML -attribuutin nimimuoto alla olevan kuvan mukaisesti (com:efecte:esm:userLevel & Unspecified). Tallenna muutokset.

Huomaa, että jos asiakas ei käytä oletusryhmiä ESMAdmins, ESMUsers ja ESMreaders, ryhmien nimet on muutettava ESA isännässä. Määritysten mukauttajat tallennetaan kansioon "/opt/esa/ keycloak -scripts/[TENANT/REALM]".
Oletuskartoitin isännässä:
// Root, Normal, Readonly, NoAccess
var
adminGroup = "ESMadmins";
var
normalGroup = "ESMusers";
var
readOnlyGroup = "ESMreaders";
var
userLevelDefault = "NoAccess";
var
userLevelIndex = 0;
Huomaa, että myös nimet voivat olla ryhmien tunnuksia, eivät nimiä. Tämä riippuu siitä, miten vaatimukset on määritetty Entra ID :ssä ( Azure ).
9. Määritä com:efecte:esm:roles-kartoittaja lisäämällä uusi kartoittaja kokoonpanon mukaan 
10. Valitse SAML Efecte ESM -roolien yhdistäjäksi [Toimialueen nimi] ja lisää nimet ja SAML -attribuutin nimimuoto alla olevan kuvan mukaisesti (com:efecte:esm:roles & Määrittelemätön). Tallenna muutokset. 
11. Yhdistä ESM-roolit Azure -ryhmiin käyttämällä ulkoista tunnistetta ESM:n roolimääritysnäytössä:
Huomautus : Tämän tulisi olla ryhmän ObjectGUID tai Azure-ryhmän nimi – riippuen siitä, miten se on määritetty ryhmävaatimuksia varten. 
ESM-kirjautumisprosessi
1. ESM lukee userPrincipal-nimen pyynnöstä
- jos se on NULL - se hylkää kirjautumisen
2. ESM lukee esm_userLevel-arvon pyynnöstä
- jos se on NOACCESS - se hylkää kirjautumisen
3. ESM yrittää löytää jo olemassa olevan käyttäjän (EI henkilöä) pääkäyttäjän nimen perusteella
- jos 'servlet.auth.create.users' on asetettu arvoon false ja käyttäjää EI löydy, sisäänkirjautuminen hylkätään
4. Jos käyttäjää ei löydy, se yrittää luoda sen:
- ensin se tarkastelee henkilöluetteloa ja yrittää löytää sieltä osuman (päänimen perusteella)
kriteerit.join(Entiteetti.MALLI).add(Malli.KOODI, määritys.henkilö.malli);
kriteerit.lisää(Entiteetti.ON_POISTETTU, false);
kriteerit.lisää(Valinnat.makro("$" + uid + "$"), uid );
- jos henkilöä ei löydy, se yrittää luoda sen
- se lukee pyynnöstä esm_email-osoitteen (pakollinen), esm_firstName- ja esm_lastName-tiedot ja luo Person-entiteetin
- jos matkan varrella tapahtui virhe, esimerkiksi henkilöä ei luotu, tai se löysi useita samannimisiä henkilöitä - se hylkää kirjautumisen
- se myös vahvistaa, että käyttäjä ja henkilö on yhdistetty ominaisuuden 'servlet.auth.person.user.attribute.code' kautta (oletusarvo: efecte_user),
Jos viittauksessa ei ole käyttäjää, se myös hylkää kirjautumisen
- se luo sitten käyttäjän ja lisää siihen viittauksen henkilöön
5. Jos käyttäjän luomisessa oli ongelmia matkan varrella, se hylkää kirjautumisen, mutta suorittaa myös tarkistuksen:
jos (käyttäjäEntity == null || käyttäjä.getPassword() != null) {
return true; // Asentaja/ylläpitäjä on luonut/muokannut käyttäjän
}
6. Jos käyttäjään linkitettävää henkilöä EI ole, se yrittää jotenkin luoda henkilöentiteetin ja linkittää sen käyttäjään.
7. Se yrittää lukea käyttäjätason pyynnöstä (jos se oli SAML viestissä)
- jos henkilöä ei jostain syystä vieläkään luoda, se antaa automaattisesti LUKU- AD n
- muussa tapauksessa se iteroi henkilölle määritettyjen ryhmien läpi - ominaisuuden nimi asetetaan kohdassa 'servlet.auth.person.groups.attribute.code', oletusarvo: "groups"
- jos yksikin ryhmä on yhtä suuri kuin ' servlet.auth.admin.ad .group', oletusarvo on "Efecte Administrator" - se antaa pääkäyttäjän tason
- jos yksikin ryhmä on yhtä suuri kuin ' servlet.auth.user.ad .group', oletusarvo: "Efecte User" - antaa NORMAALI-tason
- muuten se antaa VAIN LUKU AD -tason
8. Jos pyynnössä lähetettiin 'esm_userLevel', se yrittää määrittää rooleja käyttäjälle.
- se lukee SAML -ominaisuuden 'roles', iteroi sen yli (erotettuna puolipisteellä) ja yrittää lisätä jokaisen roolin käyttäjälle
9. Lopulta se toimii eri tavalla aiemmin asetetun käyttäjätason mukaan:
- jos se oli asetettu joko arvoon NORMAL tai ROOT, JA käyttäjä luotiin pyynnön käsittelyn aikana JA pyynnössä EI lähetetty 'esm_userLevel'-arvoa
SAML viestin, se yrittää määrittää käyttäjälle oletusroolin, joka on asetettu System-ominaisuudella: 'servlet.auth.user.roles', oletusarvo: Tukihenkilö
- jos asetukseksi oli asetettu RE AD ONLY eikä 'esm_userLevel'-arvoa lähetetty SAML viestin mukana, se yrittää lisätä 'servlet.auth.user.readonly.roles'-roolit kyseiselle käyttäjälle.
Vianmääritys
Saml-laajennus selaimelle
Selaimen SAML laajennus ( SAML dekooderit) on hyödyllinen kirjautumisvirheenkorjauksessa.
SAML dekooderit ovat saatavilla selainlaajennuksina (esim. SAML Tracer Firefoxille, SAML Chrome Panel Google Chromelle). Esimerkiksi : https://addons.mozilla.org/en-US/firefox/addon/saml-message-decoder-extension/
Lokit
Jos ESA kirjautuminen toimii, mutta ESM-kirjautuminen ei
- Tarkista ESM-loki nimeltä itsm.log (Efecte ESM→ Maintenance→Logs→Download logis→itsm.log)
Jos ESA kirjautuminen ei toimi
- Tarkista ESA :n server.log-tiedosto (opt/ keycloak /standalone/log/server.log)
- Tarkista ESA keycloak n säilölokitiedosto keycloak
Lisätietoja mukautetuista JavaScript-kartoittajista: https://docs.efecte.com/internal-configuration-instructions/1812412-esa-custom-javascript-mappers