Megosztás a következőn keresztül:


API-alapú bejövő kiépítés PowerShell-szkripttel

Ez az oktatóanyag bemutatja, hogyan lehet PowerShell-szkriptet használni a Microsoft Entra ID API-alapú bejövő kiépítés implementálásához. Az oktatóanyag lépéseivel a HR-adatokat tartalmazó CSV-fájlokat tömeges kérelem hasznos adattá alakíthatja, és elküldheti a Microsoft Entra provisioning /bulkUpload API-végpontnak. A cikk azt is ismerteti, hogyan használható ugyanaz az integrációs minta bármilyen rekordrendszerrel.

Integrációs forgatókönyv

Üzleti követelmény

A rekordrendszer rendszeresen generál munkavégző adatokat tartalmazó CSV-fájlexportokat. Olyan integrációt szeretne megvalósítani, amely adatokat olvas be a CSV-fájlból, és automatikusan kiépít felhasználói fiókokat a célkönyvtárban (hibrid felhasználók számára helyi Active Directory és Microsoft Entra-azonosítót csak felhőalapú felhasználók számára).

Megvalósítási követelmény

Megvalósítás szempontjából:

  • Felügyelet nélküli PowerShell-szkripttel szeretné beolvasni az adatokat a CSV-fájlexportokból, és elküldeni a bejövő kiépítési API-végpontra.
  • A PowerShell-szkriptben nem szeretné implementálni az identitásadatok rekord- és célkönyvtár-rendszer közötti összehasonlításának összetett logikáját.
  • A Microsoft Entra kiépítési szolgáltatással szeretné alkalmazni a felügyelt informatikai kiépítési szabályokat a célkönyvtárban lévő fiókok automatikus létrehozására/frissítésére/engedélyezésére/letiltására (helyi Active Directory vagy Microsoft Entra-azonosító).

Graphic of PowerShell-based integration.

Integrációs forgatókönyv-változatok

Bár ez az oktatóanyag egy CSV-fájlt használ rekordrendszerként, testre szabhatja a PowerShell-mintaszkriptet, hogy bármilyen rekordrendszerből beolvassa az adatokat. Az alábbi lista a vállalati integrációs forgatókönyv változatainak listáját tartalmazza, ahol az API-vezérelt bejövő kiépítés PowerShell-szkripttel implementálható.

# Rekordrendszer Integrációs útmutató a PowerShell forrásadatok olvasásához való használatához
0 Adatbázistábla Ha Azure SQL-adatbázist vagy helyszíni SQL Servert használ, a Read-SqlTableData parancsmaggal beolvashatja az SQL-adatbázis táblájában tárolt adatokat. Az Invoke-SqlCmd parancsmaggal Transact-SQL- vagy XQuery-szkripteket futtathat.
Ha Oracle/MySQL/Postgres-adatbázist használ, a szállító által közzétett vagy a PowerShell-galéria elérhető PowerShell-modult talál. A modul használatával adatokat olvashat az adatbázistáblából.
2 LDAP-kiszolgáló Az LDAP-kiszolgáló lekérdezéséhez használja a System.DirectoryServices.Protocols .NET API-t vagy a PowerShell-galéria elérhető LDAP-modulokat. Ismerje meg az LDAP-sémát és a hierarchiát a felhasználói adatok LDAP-kiszolgálóról való lekéréséhez.
3 Minden olyan rendszer, amely REST API-kat tesz elérhetővé Ha a PowerShell használatával szeretne adatokat olvasni EGY REST API-végpontról, használhatja az Invoke-RestMethod parancsmagot a Microsoft.PowerShell.Utility modulból. Ellenőrizze a REST API dokumentációját, és megtudhatja, hogy milyen paramétereket és fejléceket vár, milyen formátumot ad vissza, és milyen hitelesítési módszert használ. Ezután ennek megfelelően módosíthatja a Invoke-RestMethod parancsot.
4 Minden olyan rendszer, amely SOAP API-kat tesz elérhetővé Ha adatokat szeretne olvasni egy SOAP API-végpontról a PowerShell használatával, használhatja a Modul New-WebServiceProxy parancsmagát Microsoft.PowerShell.Management . Ellenőrizze a SOAP API dokumentációját, és megtudhatja, hogy milyen paramétereket és fejléceket vár, milyen formátumot ad vissza, és milyen hitelesítési módszert használ. Ezután ennek megfelelően módosíthatja a New-WebServiceProxy parancsot.

A forrásadatok beolvasása után alkalmazza az előfeldolgozási szabályokat, és alakítsa át a rekordrendszer kimenetét tömeges kéréssé, amelyet elküldhet a Microsoft Entra kiépítési bulkUpload API-végpontjának.

Fontos

Ha meg szeretné osztani a PowerShell-integrációs szkriptet a közösséggel, tegye közzé PowerShell-galéria, és értesítsen minket a GitHub-adattárbanentra-id-inbound-provisioning, hogy hozzáadhassunk egy hivatkozást.

Az oktatóanyag használata

A Microsoft Entra bejövő kiépítési GitHub-adattárában közzétett PowerShell-mintaszkript számos feladatot automatizál. A nagyméretű CSV-fájlok kezelésére és a tömeges kérelem darabolására szolgáló logikával rendelkezik, hogy minden kérésben 50 rekordot küldjön. Az alábbiakban bemutatjuk, hogyan tesztelheti és szabhatja testre az integrációs követelményeknek megfelelően.

Feljegyzés

A PowerShell-példaszkript a megvalósítási referencia részeként érhető el. Ha kérdése van a szkripttel kapcsolatban, vagy szeretné továbbfejleszteni, használja a GitHub projektadattárat.

# Automatizálási feladat Megvalósítási útmutató Speciális testreszabás
0 Feldolgozói adatok olvasása a CSV-fájlból. Töltse le a PowerShell-szkriptet. Beépített logikával rendelkezik, amely bármilyen CSV-fájlból beolvassa az adatokat. A szkript különböző végrehajtási módjainak megismeréséhez tekintse meg CSV2SCIM PowerShell-használati adatokat . Ha a rekordrendszer eltérő, tekintse meg az Integrációs forgatókönyvben található útmutatást, amelyből megtudhatja , hogyan szabhatja testre a PowerShell-szkriptet.
2 Adatok előkezelése és konvertálása SCIM formátumba. Alapértelmezés szerint a PowerShell-szkript a CSV-fájlban lévő összes rekordot SCIM Core User + Enterprise User reprezentációvá alakítja. A folyamat megismeréséhez kövesse a Tömeges kérelem hasznos adatainak létrehozása standard sémával című szakasz lépéseit. Ha a CSV-fájl különböző mezőket tartalmaz, módosítsa a AttributeMapping.psd fájlt egy érvényes SCIM-felhasználó létrehozásához. Tömeges kéréseket egyéni SCIM-sémával is létrehozhat. Frissítse a PowerShell-szkriptet úgy, hogy az tartalmazza az egyéni CSV-adatérvényesítési logikát.
3 Hitelesítéshez használjon tanúsítványt a Microsoft Entra-azonosítóhoz. Hozzon létre egy szolgáltatásnevet, amely hozzáfér a bejövő kiépítési API-hoz. Az ügyféltanúsítvány hitelesítéshez való használatának megismeréséhez tekintse meg az Ügyféltanúsítvány konfigurálása szolgáltatásnév-hitelesítéshez című szakasz lépéseit. Ha a hitelesítéshez szolgáltatásnév helyett felügyelt identitást szeretne használni, tekintse át a mintaszkript használatátConnect-MgGraph, és frissítse a felügyelt identitások használatára.
4 Fiókok kiépítése helyi Active Directory vagy Microsoft Entra-azonosítóban. API-alapú bejövő kiépítési alkalmazás konfigurálása. Ez létrehoz egy egyedi /bulkUpload API-végpontot. A tömeges kérelem hasznos adatainak létrehozása és feltöltése rendszergazdai felhasználóként című szakasz lépéseit követve megtudhatja, hogyan tölthet fel adatokat erre a végpontra. Ellenőrizze az attribútumfolyamatot, és szabja testre az attribútumleképezéseket az integrációs követelmények szerint. Ha tanúsítványalapú hitelesítéssel rendelkező egyszerű szolgáltatásnévvel szeretné futtatni a szkriptet, tekintse meg a tömeges kérelem hasznos adatainak feltöltése ügyféltanúsítvány-hitelesítéssel című szakasz lépéseit Ha tömeges kérelmet szeretne használni egyéni SCIM-sémával, akkor terjessze ki a kiépítési alkalmazás sémáját úgy, hogy az tartalmazza az egyéni SCIM-sémaelemeket.
5 Vizsgálja meg a kiépítési naplókat, és próbálkozzon újra a sikertelen rekordok kiépítésével. A kiépítési naplók adatainak beolvasásával és elemzésével kapcsolatban tekintse meg a legújabb szinkronizálási ciklusok kiépítési naplóinak lekérése című szakasz lépéseit. Azonosíthatja a sikertelen felhasználói rekordokat, és belefoglalhatja őket a következő feltöltési ciklusba. -
6 A PowerShell-alapú automatizálás üzembe helyezése éles környezetben. Miután ellenőrizte az API-alapú kiépítési folyamatot, és testre szabta a PowerShell-szkriptet a követelményeknek megfelelően, üzembe helyezheti az automatizálást PowerShell-munkafolyamat-forgatókönyvként az Azure Automationben, vagy egy Windows-kiszolgálón való futtatásra ütemezett kiszolgálói folyamatként. -

A PowerShell-szkript letöltése

  1. Hozzáférés a GitHub-adattárhoz entra-id-inbound-provisioning.
  2. A Kód –>Klónozás vagy kód> letöltése – ZIP-fájl használatával másolja az adattár tartalmát a helyi mappába.
  3. Lépjen a PowerShell/CSV2SCIM mappára. A következő könyvtárszerkezettel rendelkezik:
    • Src
      • CSV2SCIM.ps1 (fő szkript)
      • ScimSchemaRepresentations (standard SCIM-sémadefiníciókat tartalmazó mappa az AttributeMapping.psd1 fájlok érvényesítéséhez)
        • EnterpriseUser.json, Group.json, Schema.json, User.json
    • Minták
      • AttributeMapping.psd1 (a CSV-fájl oszlopainak mintaleképezése standard SCIM-attribútumokhoz)
      • csv-with-2-records.csv (minta CSV-fájl két rekorddal)
      • csv-with-1000-records.csv (1000 rekordot tartalmazó CSV-mintafájl)
      • Test-ScriptCommands.ps1 (minta használati parancsok)
      • UseClientCertificate.ps1 (szkript önaláírt tanúsítvány létrehozásához és szolgáltatásnév hitelesítő adataiként való feltöltéséhez az OAuth-folyamatban való használatra)
      • Sample1 (a CSV-fájloszlopok SCIM standard attribútumokra való leképezésének további példáit tartalmazó mappa. Ha különböző CSV-fájlokat kap az alkalmazottak, alvállalkozók és gyakornokok számára, minden entitáshoz létrehozhat egy külön AttributeMapping.psd1 fájlt.)
  4. Töltse le és telepítse a PowerShell legújabb verzióját.
  5. Futtassa a parancsot a távoli aláírt szkriptek végrehajtásának engedélyezéséhez:
    set-executionpolicy remotesigned
    
  6. Telepítse a következő előfeltételmodulokat:
    Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
    

Tömeges kérelem hasznos adatainak létrehozása standard sémával

Ez a szakasz bemutatja, hogyan hozhat létre tömeges kérelem hasznos adatokat standard SCIM Core user és enterprise user attribútumokkal egy CSV-fájlból. Az eljárás szemléltetéséhez használja a CSV-fájlt Samples/csv-with-2-records.csv.

  1. Nyissa meg a CSV-fájlt Samples/csv-with-2-records.csv a Jegyzettömb++ vagy az Excel alkalmazásban a fájlban található oszlopok ellenőrzéséhez. Screenshot of columns in Excel.

  2. A Jegyzettömb++ vagy a Visual Studio Code-hoz hasonló forráskódszerkesztőben nyissa meg a PowerShell-adatfájltSamples/AttributeMapping.psd1, amely lehetővé teszi a CSV-fájloszlopok SCIM standard sémaattribútumokra való leképezését. A dobozon kívülre szállított fájl már előre konfigurálta a CSV-fájloszlopok leképezését a megfelelő SCIM-sémaattribútumokhoz.

        @{
        externalId   = 'WorkerID'
        name         = @{
            familyName = 'LastName'
            givenName  = 'FirstName'
        }
        active       = { $_.'WorkerStatus' -eq 'Active' }
        userName     = 'UserID'
        displayName  = 'FullName'
        nickName     = 'UserID'
        userType     = 'WorkerType'
        title        = 'JobTitle'
        addresses    = @(
            @{
                type          = { 'work' }
                streetAddress = 'StreetAddress'
                locality      = 'City'
                postalCode    = 'ZipCode'
                country       = 'CountryCode'
            }
        )
        phoneNumbers = @(
            @{
                type  = { 'work' }
                value = 'OfficePhone'
            }
        )
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" = @{
            employeeNumber = 'WorkerID'
            costCenter     = 'CostCenter'
            organization   = 'Company'
            division       = 'Division'
            department     = 'Department'
            manager        = @{
                value = 'ManagerID'
            }
        }
    }
    
  3. Nyissa meg a PowerShellt, és váltson a CSV2SCIM\src könyvtárra.

  4. Futtassa a következő parancsot a változó inicializálásához AttributeMapping .

    $AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
    
  5. Futtassa a következő parancsot annak ellenőrzéséhez, hogy a AttributeMapping fájl rendelkezik-e érvényes SCIM-sémaattribútumokkal. Ez a parancs igaz értéket ad vissza, ha az ellenőrzés sikeres.

    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
    
  6. Tegyük fel, hogy a AttributeMapping fájlnak van egy userId nevű SCIM attribútuma, majd a mód a ValidateAttributeMapping következő hibát jeleníti meg.

    Screenshot of a mapping error.

  7. Miután ellenőrizte, hogy a AttributeMapping fájl érvényes-e, futtassa a következő parancsot egy tömeges kérés létrehozásához a fájlban BulkRequestPayload.json , amely tartalmazza a CSV-fájlban található két rekordot.

    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
    
  8. A fájl BulkRequestPayload.json tartalmát megnyitva ellenőrizheti, hogy az SCIM-attribútumok a fájlban AttributeMapping.psd1meghatározott leképezések szerint vannak-e beállítva.

  9. A fent létrehozott fájlt közzéteheti a kiépítési alkalmazáshoz társított /bulkUpload API-végponton a Graph Explorer, a Postman vagy a cURL használatával. Hivatkozás:

  10. Ha a létrehozott hasznos adatokat közvetlenül fel szeretné tölteni az API-végpontra ugyanazzal a PowerShell-szkripttel, tekintse meg a következő szakaszt.

Tömeges kérelem hasznos adatainak létrehozása és feltöltése rendszergazdai felhasználóként

Ez a szakasz bemutatja, hogyan küldheti el a generált tömeges kérelem hasznos adatait a bejövő kiépítési API-végpontnak.

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább egy alkalmazás-Rendszergazda istratorként.

  2. Keresse meg a Kiépítési alkalmazás>tulajdonságai>objektumazonosítót, és másolja ki a ServicePrincipalId kiépítési alkalmazáshoz társítottat.

    Screenshot of the Object ID.

  3. Globális Rendszergazda istrator szerepkörrel rendelkező felhasználóként futtassa a következő parancsot a megfelelő értékek ServicePrincipalId megadásával.TenantId A rendszer kérni fogja a hitelesítést, ha a bérlőhöz még nem létezik hitelesített munkamenet. Adja meg beleegyezését a hitelesítés során kérendő engedélyekhez.

    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com"
    
  4. A fenti kérés feldolgozásának ellenőrzéséhez látogasson el a kiépítési alkalmazás Kiépítési naplók paneljére.

Ügyféltanúsítvány konfigurálása egyszerű szolgáltatáshitelesítéshez

Feljegyzés

Az itt található utasítások bemutatják, hogyan hozhat létre önaláírt tanúsítványt. Az önaláírt tanúsítványok alapértelmezés szerint nem megbízhatók, és nehezen karbantarthatók. Emellett elavult kivonatokat és titkosítási csomagokat is használhatnak, amelyek nem feltétlenül erősek. A nagyobb biztonság érdekében vásároljon egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt.

  1. Futtassa a következő PowerShell-szkriptet egy új önaláírt tanúsítvány létrehozásához. Ezt a lépést kihagyhatja, ha egy jól ismert hitelesítésszolgáltató által aláírt tanúsítványt vásárolt.
    $ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My
    $ThumbPrint = $ClientCertificate.ThumbPrint
    
    A létrehozott tanúsítvány az Aktuális felhasználó\Személyes\Tanúsítványok tárolóban van tárolva. Ezt a Vezérlőpult –>Felhasználói tanúsítványok kezelése lehetőséggel tekintheti meg.
  2. Ha érvényes szolgáltatásnévvel szeretné társítani ezt a tanúsítványt, jelentkezzen be a Microsoft Entra felügyeleti központba alkalmazásként Rendszergazda istratorként.
  3. Nyissa meg az Alkalmazásregisztrációk területen konfigurált szolgáltatásnevet.
  4. Másolja ki az objektumazonosítót az Áttekintés panelről. Az érték használatával cserélje le a sztringet <AppObjectId>. Másolja ki az alkalmazás (ügyfél) azonosítóját. Később fogjuk használni, és a hivatkozás a következő: <AppClientId>.
  5. Futtassa a következő parancsot a tanúsítvány regisztrált szolgáltatásnévre való feltöltéséhez.
    Connect-MgGraph -Scopes "Application.ReadWrite.All"
    Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{
       Type = "AsymmetricX509Cert"
       Usage = "Verify"
       Key = $ClientCertificate.RawData
    }
    
    A tanúsítványnak a regisztrált alkalmazás Tanúsítványok &titkos kulcsok paneljén kell megjelennie. Screenshot of client certificate.
  6. Adja hozzá a következő két alkalmazásengedély-hatókört a szolgáltatásnév alkalmazáshoz: Application.Read.All és Synchronization.Read.All. Ezek szükségesek ahhoz, hogy a PowerShell-szkript megkeresse ServicePrincipalId a kiépítési alkalmazást, és lekérje a kiépítést JobId.

Tömeges kérelem hasznos adatainak feltöltése ügyféltanúsítvány-hitelesítéssel

Ez a szakasz bemutatja, hogyan küldheti el a generált tömeges kérelem hasznos adatait a bejövő kiépítési API-végpontnak megbízható ügyféltanúsítvány használatával.

  1. Nyissa meg a konfigurált API-alapú kiépítési alkalmazást. Másolja ki a kiépítési alkalmazáshoz társítottat az ServicePrincipalId alkalmazástulajdonságok>>objektumazonosítójából.

    Screenshot of the Object ID.

  2. Futtassa a következő parancsot a megfelelő értékek megadásával az és TenantIda ServicePrincipalIdClientId .

    $ClientCertificate = Get-ChildItem -Path cert:\CurrentUser\my\ | Where-Object {$_.Subject -eq "CN=CSV2SCIM"}  
    $ThumbPrint = $ClientCertificate.ThumbPrint
    
    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -TenantId "contoso.onmicrosoft.com" -ServicePrincipalId "<ProvisioningAppObjectId>" -ClientId "<AppClientId>" -ClientCertificate (Get-ChildItem Cert:\CurrentUser\My\$ThumbPrint)
    
  3. A fenti kérés feldolgozásának ellenőrzéséhez látogasson el a kiépítési alkalmazás Kiépítési naplók paneljére.

Tömeges kérés létrehozása egyéni SCIM-sémával

Ez a szakasz azt ismerteti, hogyan hozhat létre tömeges kérést egyéni SCIM-sémanévtérrel, amely a CSV-fájl mezőiből áll.

  1. A Jegyzettömb++ vagy a Visual Studio Code-hoz hasonló forráskódszerkesztőben nyissa meg a PowerShell-adatfájltSamples/AttributeMapping.psd1, amely lehetővé teszi a CSV-fájloszlopok SCIM standard sémaattribútumokra való leképezését. A dobozon kívülre szállított fájl már előre konfigurálta a CSV-fájloszlopok leképezését a megfelelő SCIM-sémaattribútumokhoz.

  2. Nyissa meg a PowerShellt, és váltson a CSV2SCIM\src könyvtárra.

  3. Futtassa a következő parancsot a változó inicializálásához AttributeMapping .

    $AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
    
  4. Futtassa a következő parancsot annak ellenőrzéséhez, hogy a AttributeMapping fájl rendelkezik-e érvényes SCIM-sémaattribútumokkal. Ez a parancs igaz értéket ad vissza, ha az ellenőrzés sikeres.

    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
    
  5. Az SCIM Core User és Enterprise User attribútumok mellett az egyéni SCIM-sémanévtérben urn:ietf:params:scim:schemas:extension:contoso:1.0:Userlévő ÖSSZES CSV-mező egybesimított listájának lekéréséhez futtassa az alábbi parancsot.

     .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User"  > BulkRequestPayloadWithCustomNamespace.json
    

    A CSV-mezők az egyéni SCIM-sémanévtér alatt jelennek meg. Screenshot of user details under custom schema.

Kiépítési feladatséma kiterjesztése

A HR-csapatok által küldött adatfájl gyakran több olyan attribútumot tartalmaz, amelyek nem rendelkeznek közvetlen reprezentációval a standard SCIM-sémában. Az ilyen attribútumok ábrázolásához javasoljuk, hogy hozzon létre egy SCIM-bővítménysémát, és adjon hozzá attribútumokat ezen a névtéren.

A CSV2SCIM szkript egy végrehajtási módot biztosít, UpdateSchema amely beolvassa a CSV-fájl összes oszlopát, hozzáadja őket egy bővítményséma névteréhez, és frissíti a kiépítési alkalmazás sémáját.

Feljegyzés

Ha az attribútumbővítmények már megtalálhatók a kiépítési alkalmazás sémájában, akkor ez a mód csak arra figyelmeztet, hogy az attribútumbővítmény már létezik. Így nincs probléma a CSV2SCIM szkript UpdateSchema módban való futtatásával, ha új mezőket ad hozzá a CSV-fájlhoz, és bővítményként szeretné hozzáadni őket.

Az eljárás szemléltetéséhez a CSV2SCIM mappában található CSV-fájlt Samples/csv-with-2-records.csv fogjuk használni.

  1. Nyissa meg a CSV-fájlt Samples/csv-with-2-records.csv egy Jegyzettömb, Excelben vagy Szövegtömbben a fájlban található oszlopok ellenőrzéséhez.

    Screenshot of how to check CSV columns.

  2. Futtassa az alábbi parancsot:

    .\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -UpdateSchema -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User"
    
  3. A kiépítési alkalmazásséma frissítésének ellenőrzéséhez nyissa meg az Attribútumleképezés lapot, és nyissa meg az API attribútumlistájának szerkesztését a Speciális beállítások területen.

  4. Az attribútumlista az új névtérben lévő attribútumokat jeleníti meg.

Kiépítési naplók lekérése a legújabb szinkronizálási ciklusokról

A tömeges kérés elküldése után lekérdezheti a Microsoft Entra ID által feldolgozott legújabb szinkronizálási ciklusok naplóit. A szinkronizálási statisztikákat és a részleteket a PowerShell-szkripttel lekérheti, és elemzésre mentheti.

  1. A napló részleteinek megtekintéséhez és a statisztikák szinkronizálásához futtassa a következő parancsot:

    .\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
    

    Screenshot of sync statistics.

    Feljegyzés

    A NumberOfCycles alapértelmezés szerint 1. Adjon meg egy számot a további szinkronizálási ciklusok lekéréséhez.

  2. A konzol szinkronizálási statisztikáinak megtekintéséhez és a naplók adatainak változóba mentéséhez futtassa a következő parancsot:

    $logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
    

    A parancs ügyféltanúsítvány-hitelesítéssel való futtatásához futtassa a parancsot a megfelelő értékek megadásával a következőhöz ServicePrincipalIdClientIdTenantId:

    $ClientCertificate = Get-ChildItem -Path cert:\CurrentUser\my\ | Where-Object {$_.Subject -eq "CN=CSV2SCIM"}  
    $ThumbPrint = $ClientCertificate.ThumbPrint
    
    $logs=.\CSV2SCIM.ps1 -ServicePrincipalId "<ProvisioningAppObjectId>" -TenantId "contoso.onmicrosoft.com" -ClientId "<AppClientId>" -ClientCertificate (Get-ChildItem Cert:\CurrentUser\My\$ThumbPrint) -GetPreviousCycleLogs -NumberOfCycles 1
    
    • Egy adott rekord részleteinek megtekintéséhez becsúszhatunk a gyűjteménybe, vagy kiválaszthatunk egy adott indexet, például: $logs[0]

      Screenshot of a selected index.

    • Az utasítással where-object egy adott rekordot is kereshetünk a forrásazonosító vagy a DisplayName használatával. A ProvisioningLogs tulajdonságban megtalálhatja az adott rekordhoz végrehajtott művelet összes részletét.

      $user = $logs | where sourceId -eq '1222'
      $user.ProvisioningLogs | fl
      

      Screenshot of provisioning logs.

    • Az adott felhasználó által érintett tulajdonságok a ModifiedProperties attribútumon láthatók. $user.ProvisioningLogs.ModifiedProperties

      Screenshot of properties.

Függelék

CSV2SCIM PowerShell használati adatai

Íme a CSV2SCIM PowerShell-szkript által elfogadott parancssori paraméterek listája.

PS > CSV2SCIM.ps1 -Path <path-to-csv-file> 
[-ScimSchemaNamespace <customSCIMSchemaNamespace>] 
[-AttributeMapping $AttributeMapping] 
[-ServicePrincipalId <spn-guid>] 
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]

Feljegyzés

ValidateAttributeMapping A AttributeMapping parancssori paraméterek a CSV-oszlopattribútumok standard SCIM-sémaelemekhez való leképezésére vonatkoznak. Nem hivatkozik azokra az attribútumleképezésekre, amelyeket a Microsoft Entra Felügyeleti központ kiépítési alkalmazásában végez a forrás SCIM-sémaelemek és a Cél Microsoft Entra /helyi Active Directory attribútumok között.

Paraméter Leírás Megjegyzések feldolgozása
Elérési út A CSV-fájl teljes vagy relatív elérési útja. Például: .\Samples\csv-with-1000-records.csv Kötelező: Igen
ScimSchemaNamespace A CSV-fájl összes oszlopának elküldéséhez használandó egyéni SCIM-sémanévtér egyéni SCIM-attribútumokként, amelyek adott névtérhez tartoznak. Például: urn:ietf:params:scim:schemas:extension:csv:1.0:User Kötelező: Csak akkor, ha szeretné:
- Frissítse a kiépítési alkalmazás sémáját, vagy
ha egyéni SCIM-attribútumokat szeretne belefoglalni a hasznos adatba.
AttributeMapping Egy PowerShell-adatfájlra (.psd1 kiterjesztés) mutat, amely a CSV-fájl oszlopait SCIM Core User és Enterprise User attribútumokra képezi le.
Lásd például: AttributeMapping.psd fájl CSV2SCIM szkripthez.
Például: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping
Kötelező: Igen
Az egyetlen eset, amikor nem kell megadnia ezt a UpdateSchema kapcsoló használatakor.
ValidateAttributeMapping Ezzel a Kapcsolójelölővel ellenőrizheti, hogy az AttributeMapping fájl olyan attribútumokat tartalmaz-e, amelyek megfelelnek az SCIM Core és a Vállalati felhasználói sémának. Kötelező: Nem
ajánlott a megfelelőség biztosítása érdekében használni.
ServicePrincipalId A kiépítési alkalmazás szolgáltatásnév-azonosítójának GUID-értéke, amelyet lekérhet a Kiépítési alkalmazás>tulajdonságai>objektumazonosítójából Kötelező: Csak akkor, ha szeretné:
– Frissítse a kiépítési alkalmazás sémáját, vagy
küldje el a generált tömeges kérelmet az API-végpontnak.
UpdateSchema Ezzel a kapcsolóval utasíthatja a szkriptet, hogy olvassa be a CSV-oszlopokat, és vegye fel őket egyéni SCIM-attribútumként a kiépítési alkalmazás sémájában.
ClientID Az OAuth-hitelesítési folyamathoz használandó Regisztrált Microsoft Entra-alkalmazás ügyfélazonosítója. Az alkalmazásnak érvényes tanúsítvány hitelesítő adatokkal kell rendelkeznie. Kötelező: Csak tanúsítványalapú hitelesítés esetén.
ClientCertificate Az OAuth-folyamat során használandó ügyfél-hitelesítési tanúsítvány. Kötelező: Csak tanúsítványalapú hitelesítés esetén.
GetPreviousCycleLogs A legújabb szinkronizálási ciklusok kiépítési naplóinak lekérése.
NumberOfCycles Annak megadásához, hogy hány szinkronizálási ciklust kell lekérni. Ez az érték alapértelmezés szerint 1.
RestartService Ezzel a beállítással a szkript ideiglenesen szünetelteti a kiépítési feladatot az adatok feltöltése előtt, feltölti az adatokat, majd újra elindítja a feladatot, hogy biztosítsa a hasznos adatok azonnali feldolgozását. Ezt a lehetőséget csak a tesztelés során használhatja.

AttributeMapping.psd fájl

Ez a fájl arra szolgál, hogy a CSV-fájl oszlopait szabványos SCIM Core User és Enterprise User attribútumsémaelemekre képezhesse le. A fájl a CSV-fájl tartalmának megfelelő ábrázolását is generálja tömeges kérelem hasznos adatként.

A következő példában a CSV-fájl alábbi oszlopait képeztük le a megfelelő SCIM Core User és Enterprise User attribútumokra.

Screenshot of CSV columns for mapped attributes.

    @{
    externalId   = 'WorkerID'
    name         = @{
        familyName = 'LastName'
        givenName  = 'FirstName'
    }
    active       = { $_.'WorkerStatus' -eq 'Active' }
    userName     = 'UserID'
    displayName  = 'FullName'
    nickName     = 'UserID'
    userType     = 'WorkerType'
    title        = 'JobTitle'
    addresses    = @(
        @{
            type          = { 'work' }
            streetAddress = 'StreetAddress'
            locality      = 'City'
            postalCode    = 'ZipCode'
            country       = 'CountryCode'
        }
    )
    phoneNumbers = @(
        @{
            type  = { 'work' }
            value = 'OfficePhone'
        }
    )
    "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User" = @{
        employeeNumber = 'WorkerID'
        costCenter     = 'CostCenter'
        organization   = 'Company'
        division       = 'Division'
        department     = 'Department'
        manager        = @{
            value = 'ManagerID'
        }
    }
}

Következő lépések