Ga naar inhoud

Uitvoering van de connectoren

Er zijn verschillende methoden om een provisioningsequentie uit te voeren:

  • Via Batch- of PowerShell-bestanden met opdrachtregels die het uitvoerbare bestand HPPRunCli aanroepen
  • Via de interface voor het beheer van de jobs
  • Via de SIP-webservices

Provisioningsequenties uitvoeren met HPPRUNCLI.exe

In een Batch- of PowerShell-bestand moet het uitvoerbare bestand HppRunClie.exe worden aangeroepen, gevolgd door de volgende opties:

Opties Functie Verplicht (Y/N)
-sec [Sequence Name] Optie waarmee de uit te voeren sequentie wordt aangegeven. Y
-cfg [Config_file_name] Optie waarmee het te gebruiken configuratiebestand wordt aangegeven. N. Standaard wordt het bestand hpp.ini gebruikt.
-obj [Val_attribute1|Val_attribute2|…] Optie waarmee de waarde van het matchingattribuut wordt aangegeven om de sequentie afzonderlijk uit te voeren. Als meerdere attribuutwaarden moeten worden aangegeven, moeten ze worden opgesomd in de volgorde waarin de exports moeten worden uitgevoerd. N
-seq [Directory_nm] Optie waarmee de naam van de uitvoermap voor de logbestanden wordt aangegeven. N

Provisioningsequenties uitvoeren via de interface voor het beheer van de jobs

Vanaf de pagina voor het bekijken van de jobinstanties van de provisioningsequenties kan een job afzonderlijk of massaal worden uitgevoerd.

Om een job massaal te starten, klik op de knop ”type:inline”.

Selecteer de gewenste job of jobs en klik daarna op ”Validate” om de jobs in de wachtrij te plaatsen.

Om een job afzonderlijk te starten, klik op de knop ”type:inline”.

Selecteer de gewenste job en voer daarna de waarde in waarmee het object wordt geselecteerd waarop u de job wilt uitvoeren.

Waarschuwing: momenteel moet, als uw job meerdere sequenties bevat, het matchingattribuut in alle sequenties dezelfde waarde hebben om de job in de afzonderlijke modus te kunnen uitvoeren.

Provisioningsequenties uitvoeren via de SIP-webservices

Voorbeeld van een script om een provisioningjob via een PowerShell-script uit te voeren:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$urlGenToken = "https://[URL_serveur_SID]:44350/connect/token"
$BodyJsonPostToken = "grant_type=password&client_id=sip&client_secret=sip&username=[login_cpt]&password=[mot_de_passe_compte]"
$MonHeader = @{
        "Content-Type" = "application/x-www-form-urlencoded"
        "accept" = "Application/Json"
        "Host" = "[URL_serveur_SID]:44350"
    }

$MonHeaderReq = @{
        "Content-Type" = "application/x-www-form-urlencoded"
        "accept" = "Application/Json"
        "Host" = "[URL_serveur_SID]:44350"
        "Authorization" = "Bearer $($token_gen)" 
    }

try {

    $result = Invoke-RestMethod -Uri $urlGenToken -Method Post -Headers $MonHeader -Body $BodyJsonPostToken 
    $token_gen = $result.access_token
    #ajouter logs
}
catch {
    $token_gen = ""
    #ajouter logs
}

if ($token_gen -ne "")
{
    $job_code = [code_du_job_à_exécuter]
    $MonHeaderReq = @{
        "Content-Type" = "application/x-www-form-urlencoded"
        "accept" = "Application/Json"
        "Host" = "sid.iam-test.ght49.intra:44355"
        "Authorization" = "Bearer $($token_gen)"
    }
    $urlExecutionJob="https://sid.iam-test.ght49.intra:44355/scim/v2/job/run/$job_code"

    try {
        $res = Invoke-RestMethod -Uri $urlExecutionJob -Method Post -Headers $MonHeaderReq  
        #ajouter logs
    }
    catch {
        #ajouter logs et traitement
    }
}

Om een provisioningjob die wegens een importdrempel is gestopt via een PowerShell-script te hervatten, moet eveneens de identificatie van de jobinstantie worden opgehaald door de route /scim/v2/job-instance/ aan te roepen (methode GET).

Zie voor meer informatie de Swagger-documentatie: https://[SIP_Server_URL]:44355/swagger/

De nieuwe connector voor de upstream-toevoer uitvoeren (vanaf 7.0 SP3)

Vanaf versie 7.0 SP3 is het mogelijk rollen en/of autorisaties aan identiteiten toe te kennen via een nieuwe connector voor de upstream-toevoer.

De koppelingen Identiteiten – Rollen en Identiteiten/Rollen – Autorisaties die vanuit een gezaghebbende bron worden aangemaakt en/of verwijderd, worden beheerd door een nieuw type koppeling in de database. Zo geeft de export van de koppelingen Identiteiten – Rollen en Identiteiten/Rollen – Autorisaties uit de Identity-repository alleen de door SIP toegekende rollen en autorisaties terug.

Een koppelingsconnector Identiteiten - Rollen configureren

Om een koppelingsconnector Identiteiten - Rollen te configureren, moet minstens het volgende worden aangemaakt:

  • Een export uit een gezaghebbende bron die de volgende gegevens moet bevatten:
  • UID van de identiteit (verplicht)
    • Code van de toe te kennen rol (verplicht) – enkele waarde.
    • Begindatum van de rol (optioneel)
    • Einddatum van de rol (optioneel)
  • Een export van de Identity-repository van het type PERSON_ROLES waarin u de persoonstypen en de codes van de repositories moet aangeven waarvoor u de koppelingen identiteit-rol wilt aanmaken.
  • Een synchronisatieregel om de bewerkingen Matching, aanmaken, wijzigen en verwijderen te definiëren
    • Vergelijk in de Matching-regel de uid van de identiteit en de code van de rol
    • In de aanmaakregel is het verplicht de uid van de identiteit en de code van de rol aan te geven. De begin- en einddatum zijn optioneel
    • In de wijzigingsregel is het verplicht de ID van de koppeling persoon-rol aan te geven, opgehaald uit de export van de Identity-repository. Alleen de datums kunnen worden gewijzigd
    • In de verwijderregel is het verplicht de ID van de koppeling persoon-rol aan te geven, opgehaald uit de export van de Identity-repository.
    • Syntaxis van de Identity-codes die in de synchronisatieregels moeten worden gebruikt:
      • person = UID van de identiteit
      • role = code van de rol
      • startdate = begindatum van de rol
      • enddate = einddatum van de rol
      • id = ID van de koppeling identiteit-rol (veld id van de tabel sid.PersonRoles)
  • Een import in de Identity-repository van het type PERSON_ROLES. U kunt de optie aanvinken om de directe accountberekening uit te schakelen, om de importduur bij grote volumes te beheersen. Als de optie is ingeschakeld, moet u een import ACCOUNTCALC uitvoeren om de accounts van de betrokken repository opnieuw te berekenen.

Een koppelingsconnector Identiteiten - Rollen configureren

  • Een export uit een gezaghebbende bron die de volgende gegevens moet bevatten:
    • UID van de identiteit (verplicht)
    • Code van de rol (verplicht) – enkele waarde.
    • Code van de autorisatie die aan de koppeling identiteit/rol moet worden toegekend (verplicht) – enkele waarde
    • Begindatum van de autorisatie (optioneel)
    • Einddatum van de autorisatie (optioneel)

Waarschuwing

De koppeling Identiteit/Rol moet al bestaan om de koppelingsconnector Identiteit/Rol – Autorisaties correct te laten werken

  • Een export van de Identity-repository van het type PERSON_RIGHTS waarin u de persoonstypen en de codes van de repositories moet aangeven waarvoor u de koppelingen identiteit/rol-autorisatie wilt aanmaken.
  • Een synchronisatieregel om de bewerkingen Matching, aanmaken, wijzigen en verwijderen te definiëren
    • Vergelijk in de Matching-regel de uid van de identiteit, de code van de rol en de code van de autorisatie.
    • In de aanmaakregel is het verplicht de uid van de identiteit, de code van de rol en de code van de autorisatie aan te geven. De begin- en einddatum zijn optioneel
    • In de wijzigingsregel is het verplicht de ID van de koppeling persoon/rol - autorisatie aan te geven, opgehaald uit de export van de Identity-repository. Alleen de datums kunnen worden gewijzigd.
    • In de verwijderregel is het verplicht de ID van de koppeling persoon/rol - autorisatie aan te geven, opgehaald uit de export van de Identity-repository.
    • Syntaxis van de Identity-codes die in de synchronisatieregels moeten worden gebruikt:
    • person = UID van de identiteit
      • role = code van de rol
      • right = code van de autorisatie
      • startdate = begindatum van de autorisatie
      • enddate = einddatum van de autorisatie
    • id = ID van de koppeling identiteit-rol-autorisatie (veld id van de tabel sid.PersonRights)
  • Een import in de Identity-repository van het type PERSON_RIGHTS. U kunt de optie aanvinken om de directe accountberekening uit te schakelen, om de importduur bij grote volumes te beheersen. Als de optie is ingeschakeld, moet u een import ACCOUNTCALC uitvoeren om de accounts van de betrokken repository opnieuw te berekenen.

Traces inschakelen

Vanaf versie 7.1 worden de traces van de provisioning-engine niet meer in het register ingeschakeld, maar in het bestand [Installation_Directory]\SIP\Config.ini.

Opmerking

Dit bestand is het bestand van de provisioning-engine. Het mag niet worden verward met de configuratiebestanden van de connectoren (*.ini), die met de optie -cfg aan HPPRunCli worden doorgegeven.

Voeg in de sectie General de volgende drie parameters toe:

  • traceLevel: 0 om de traces uit te schakelen, 2FFFF om ze in te schakelen.
  • traceModule: lijst van de te tracen modules, gescheiden door komma's. De modulenamen zijn niet hoofdlettergevoelig. De mogelijke waarden zijn:
    • HPPCfg
    • HPPCSV
    • HPPHP
    • HPPLDAP
    • HPPReference
    • HPPRunCli
    • HPPSQL
    • SIPSCIM
    • SIPLDAP
    • WrapperDLL
    • All, om de traces voor alle modules in te schakelen
  • traceOutputDir: uitvoermap voor de logs. Deze parameter is optioneel: als hij niet is opgegeven, worden de logs aangemaakt in de map %tmp% van de gebruiker.

Voorbeeld:

1
2
3
4
[General]
traceLevel=2ffff
traceModule=HPPCSV,HPPCfg,HPPLDAP
traceOutputDir=c:/myLog

Opmerking

Het installatieprogramma van versie 7.1 schrijft deze drie parameters al naar Config.ini, met de traces uitgeschakeld: traceLevel=0, traceModule ingevuld met de volledige lijst van modules, en traceOutputDir=C:\Temp. Om de traces in te schakelen hoeft u dus alleen traceLevel te wijzigen. Controleer of het account waaronder de engine draait naar de uitvoermap kan schrijven.

Tip

Beperk traceModule voor een gerichte diagnose tot alleen de betrokken modules — bijvoorbeeld SIPSCIM voor een verbindingsprobleem met een SCIM-doelsysteem. Zet traceLevel weer op 0 zodra de diagnose is afgerond: gedetailleerde traces verbruiken schijfruimte en vertragen de verwerking.

Versleuteling van de wachtwoorden en het clientgeheim

Vanaf versie 7.1 zijn de wachtwoorden en ”client secrets” die door de provisioning-engine worden gebruikt en in het bestand [Installation_Directory]\SIP\Config.ini staan, versleuteld.

Bij een eerste installatie worden deze gegevens automatisch opgeslagen volgens de parameters die in het installatieprogramma zijn ingevoerd.

Gebruik het uitvoerbare bestand [Installation_Directory]\SIP\SIPEncrypt.exe om een van deze twee waarden handmatig te wijzigen. Voer vanuit een opdrachtprompt of een PowerShell-venster SIPEncrypt.exe uit, gevolgd door het te versleutelen wachtwoord of clientgeheim, en kopieer daarna het resultaat naar het bestand Config.ini.

SIPEncrypt.exe verwacht één enkele parameter. Zonder parameter, of met meerdere, toont het de melding SIPEncrypt should be called with a single input parameter. en produceert het niets. Plaats de waarde tussen aanhalingstekens als ze spaties of tekens bevat die door de opdrachtprompt worden geïnterpreteerd (&, |, ^, ", $…) — bij voorkeur enkele aanhalingstekens in PowerShell.

Het clientgeheim wordt ingevoerd in de parameter clientSecret van het bestand Config.ini.

Waarschuwing

Voor de authenticatie bij SCIM-doelsystemen gebruikt de engine elk wachtwoord of clientgeheim dat hij niet kan ontsleutelen ongewijzigd. Een waarde die per vergissing onversleuteld is gelaten, werkt dus zonder enige waarschuwingsmelding, terwijl het geheim in het bestand blootligt. Controleer of elk geheim in Config.ini daadwerkelijk een waarde is die door SIPEncrypt.exe is geproduceerd.

Deze versleuteling is omkeerbaar, aangezien de engine de waarden zelf ontsleutelt: ze beschermt tegen het lezen van het geheim in leesbare vorm, niet tegen toegang tot het bestand. Beperk de toegang tot Config.ini tot de beheeraccounts en het account waaronder de engine draait. Wanneer de onversleutelde waarde op de opdrachtregel wordt getypt, kan ze ook in de consolegeschiedenis achterblijven: sluit de sessie na gebruik.