Sari la conținut

Executarea conectorilor

Există mai multe metode pentru a executa o secvență de provizionare:

  • Prin fișiere Batch sau PowerShell cu linii de comandă care invocă executabilul HPPRunCli
  • Prin interfața de gestionare a joburilor
  • Prin serviciile web SIP

Executarea secvențelor de provizionare cu HPPRUNCLI.exe

Într-un fișier Batch sau PowerShell, trebuie invocat executabilul HppRunClie.exe, urmat de opțiunile următoare:

Opțiuni Funcție Obligatoriu (Y/N)
-sec [Sequence Name] Opțiune care permite indicarea secvenței care va fi executată. Y
-cfg [Config_file_name] Opțiune care permite indicarea fișierului de configurare care trebuie utilizat. N. În mod implicit, se utilizează fișierul hpp.ini.
-obj [Val_attribute1|Val_attribute2|…] Opțiune care permite indicarea valorii atributului de corespondență pentru a executa secvența în mod unitar. Dacă trebuie indicate mai multe valori de atribut, ele trebuie enumerate în ordinea în care exporturile trebuie executate. N
-seq [Directory_nm] Opțiune care permite indicarea numelui directorului de ieșire pentru fișierele de log. N

Executarea secvențelor de provizionare din interfața de gestionare a joburilor

Din pagina de consultare a instanțelor de job ale secvențelor de provizionare, este posibil să executați un job în mod unitar sau în mod masiv.

Pentru a lansa un job în mod masiv, faceți clic pe butonul „type:inline”.

Selectați jobul sau joburile dorite, apoi faceți clic pe „Validate” pentru a pune joburile în coada de așteptare.

Pentru a lansa un job în mod unitar, faceți clic pe butonul „type:inline”.

Selectați jobul dorit, apoi introduceți valoarea care permite selectarea obiectului asupra căruia doriți să executați jobul.

Avertisment: în prezent, dacă jobul conține mai multe secvențe, pentru a-l executa în mod unitar atributul de corespondență trebuie să aibă aceeași valoare în toate secvențele.

Executarea secvențelor de provizionare prin serviciile web SIP

Exemplu de script pentru executarea unui job de provizionare printr-un script PowerShell:

 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
    }
}

În mod similar, pentru a relua printr-un script PowerShell un job de provizionare oprit de un prag de import, este necesar să recuperați identificatorul instanței de job invocând ruta /scim/v2/job-instance/ (metoda GET).

Pentru mai multe informații, consultați documentația Swagger: https://[SIP_Server_URL]:44355/swagger/

Executarea noului conector de alimentare ascendentă (începând cu 7.0 SP3)

Începând cu versiunea 7.0 SP3, este posibil să atribuiți roluri și/sau permisiuni identităților prin intermediul unui nou conector de alimentare ascendentă.

Legăturile Identități – Roluri și Identități/Roluri – Autorizări create și/sau șterse dintr-o sursă autoritară sunt gestionate printr-un nou tip de legătură în baza de date. Astfel, exportul legăturilor Identități – Roluri și Identități/Roluri – Autorizări din repository-ul Identity va returna numai rolurile și autorizările atribuite de SIP.

Configurarea unui conector de legătură Identități - Roluri

Pentru a configura un conector de legătură Identități - Roluri, trebuie creat cel puțin:

  • Un export dintr-o sursă autoritară care trebuie să conțină următoarele informații:
  • UID-ul identității (obligatoriu)
    • Codul rolului care va fi atribuit (obligatoriu) – valoare unică.
    • Data de început a rolului (opțional)
    • Data de sfârșit a rolului (opțional)
  • Un export al repository-ului Identity de tip PERSON_ROLES în care trebuie indicate tipurile de persoane și codurile repository-urilor pentru care doriți să creați legăturile identitate-rol.
  • O regulă de sincronizare pentru a defini operațiunile de Matching, de creare, de modificare și de ștergere
    • În regula de Matching, comparați uid-ul identității și codul rolului
    • În regula de creare, este obligatoriu să indicați uid-ul identității și codul rolului. Datele de început și de sfârșit sunt opționale
    • În regula de modificare, este obligatoriu să indicați ID-ul legăturii persoană-rol, recuperat din exportul repository-ului Identity. Pot fi modificate numai datele
    • În regula de ștergere, este obligatoriu să indicați ID-ul legăturii persoană-rol, recuperat din exportul repository-ului Identity.
    • Sintaxa codurilor Identity care trebuie utilizate în regulile de sincronizare:
      • person = UID-ul identității
      • role = codul rolului
      • startdate = data de început a rolului
      • enddate = data de sfârșit a rolului
      • id = ID-ul legăturii identitate-rol (câmpul id din tabelul sid.PersonRoles)
  • Un import în repository-ul Identity de tip PERSON_ROLES. Puteți bifa opțiunea de dezactivare a calculului conturilor din mers pentru a controla timpul de import în cazul unor volume mari. Dacă opțiunea a fost activată, trebuie să efectuați un import ACCOUNTCALC pentru a recalcula conturile din repository-ul vizat.

Configurarea unui conector de legătură Identități - Roluri

  • Un export dintr-o sursă autoritară care trebuie să conțină următoarele informații:
    • UID-ul identității (obligatoriu)
    • Codul rolului (obligatoriu) – valoare unică.
    • Codul autorizării care va fi atribuită legăturii identitate/rol (obligatoriu) – valoare unică
    • Data de început a autorizării (opțional)
    • Data de sfârșit a autorizării (opțional)

Atenție

Legătura Identitate/Rol trebuie să existe deja pentru ca conectorul de legătură Identitate/Rol – Autorizări să funcționeze corect

  • Un export al repository-ului Identity de tip PERSON_RIGHTS în care trebuie indicate tipurile de persoane și codurile repository-urilor pentru care doriți să creați legăturile identitate/rol-autorizare.
  • O regulă de sincronizare pentru a defini operațiunile de Matching, de creare, de modificare și de ștergere
    • În regula de Matching, comparați uid-ul identității, codul rolului și codul autorizării.
    • În regula de creare, este obligatoriu să indicați uid-ul identității, codul rolului și codul autorizării. Datele de început și de sfârșit sunt opționale
    • În regula de modificare, este obligatoriu să indicați ID-ul legăturii persoană/rol - autorizare, recuperat din exportul repository-ului Identity. Pot fi modificate numai datele.
    • În regula de ștergere, este obligatoriu să indicați ID-ul legăturii persoană/rol - autorizare, recuperat din exportul repository-ului Identity.
    • Sintaxa codurilor Identity care trebuie utilizate în regulile de sincronizare:
    • person = UID-ul identității
      • role = codul rolului
      • right = codul autorizării
      • startdate = data de început a autorizării
      • enddate = data de sfârșit a autorizării
    • id = ID-ul legăturii identitate-rol-drept (câmpul id din tabelul sid.PersonRights)
  • Un import în repository-ul Identity de tip PERSON_RIGHTS. Puteți bifa opțiunea de dezactivare a calculului conturilor din mers pentru a controla timpul de import în cazul unor volume mari. Dacă opțiunea a fost activată, trebuie să efectuați un import ACCOUNTCALC pentru a recalcula conturile din repository-ul vizat.

Activarea urmăririlor

Începând cu versiunea 7.1, urmăririle motorului de provizionare nu mai sunt activate în registru, ci în fișierul [Installation_Directory]\SIP\Config.ini.

Notă

Acest fișier este cel al motorului de provizionare. Nu trebuie confundat cu fișierele de configurare ale conectorilor (*.ini), transmise către HPPRunCli cu opțiunea -cfg.

În secțiunea General, adăugați următorii trei parametri:

  • traceLevel: 0 pentru a dezactiva urmăririle, 2FFFF pentru a le activa.
  • traceModule: lista modulelor de urmărit, separate prin virgule. Numele modulelor nu țin cont de majuscule și minuscule. Valorile posibile sunt:
    • HPPCfg
    • HPPCSV
    • HPPHP
    • HPPLDAP
    • HPPReference
    • HPPRunCli
    • HPPSQL
    • SIPSCIM
    • SIPLDAP
    • WrapperDLL
    • All, pentru a activa urmăririle pentru toate modulele
  • traceOutputDir: directorul de ieșire al logurilor. Acest parametru este opțional: dacă nu este specificat, logurile sunt generate în folderul %tmp% al utilizatorului.

Exemplu:

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

Notă

Programul de instalare al versiunii 7.1 scrie deja acești trei parametri în Config.ini, cu urmăririle dezactivate: traceLevel=0, traceModule completat cu lista completă a modulelor și traceOutputDir=C:\Temp. Pentru a activa urmăririle, este deci suficient să modificați traceLevel. Verificați dacă contul care execută motorul poate scrie în directorul de ieșire.

Sfat

Pentru un diagnostic țintit, reduceți traceModule numai la modulele relevante — de exemplu SIPSCIM pentru o problemă de conexiune cu o țintă SCIM. După finalizarea diagnosticului, readuceți traceLevel la 0: urmăririle detaliate consumă spațiu pe disc și încetinesc procesările.

Criptarea parolelor și a secretului de client

Începând cu versiunea 7.1, parolele și „client secrets” utilizate de motorul de provizionare și prezente în fișierul [Installation_Directory]\SIP\Config.ini sunt criptate.

La o primă instalare, aceste date sunt salvate automat în funcție de parametrii introduși în programul de instalare.

Pentru a modifica manual una dintre aceste două valori, utilizați executabilul [Installation_Directory]\SIP\SIPEncrypt.exe. Dintr-un prompt de comandă sau dintr-o fereastră PowerShell, executați SIPEncrypt.exe urmat de parola sau de secretul de client de criptat, apoi copiați rezultatul în fișierul Config.ini.

SIPEncrypt.exe așteaptă un singur parametru. Fără parametru sau cu mai mulți, afișează mesajul SIPEncrypt should be called with a single input parameter. și nu produce nimic. Dacă valoarea conține spații sau caractere interpretate de promptul de comandă (&, |, ^, ", $…), încadrați-o între ghilimele — de preferință ghilimele simple în PowerShell.

Secretul de client se introduce în parametrul clientSecret al fișierului Config.ini.

Atenție

Pentru autentificarea la țintele SCIM, motorul utilizează ca atare orice parolă sau secret de client pe care nu reușește să îl decripteze. O valoare lăsată din greșeală în clar funcționează, prin urmare, fără niciun mesaj de avertisment, în timp ce secretul este expus în fișier. Verificați dacă fiecare secret din Config.ini este într-adevăr o valoare produsă de SIPEncrypt.exe.

Această criptare este reversibilă, deoarece motorul decriptează el însuși valorile: protejează împotriva citirii secretului în clar, nu împotriva accesului la fișier. Restricționați accesul la Config.ini la conturile de administrare și la contul care execută motorul. Atunci când este tastată în linia de comandă, valoarea în clar poate rămâne și în istoricul consolei: închideți sesiunea după utilizare.