Příchozí zřizování řízené rozhraním API pomocí skriptu PowerShellu
Tento kurz popisuje, jak pomocí skriptu PowerShellu implementovat příchozí zřizování řízené rozhraním API microsoft Entra ID. Pomocí kroků v tomto kurzu můžete převést soubor CSV obsahující data lidských zdrojů na datovou část hromadného požadavku a odeslat ho do koncového bodu rozhraní API Microsoft Entra provisioning /bulkUpload . Článek obsahuje také pokyny k použití stejného modelu integrace s jakýmkoli systémem záznamů.
Scénář integrace
Obchodní požadavek
Váš systém záznamů pravidelně generuje exporty souborů CSV obsahující data pracovního procesu. Chcete implementovat integraci, která čte data ze souboru CSV a automaticky zřídí uživatelské účty ve vašem cílovém adresáři (místní Active Directory pro hybridní uživatele a Id Microsoft Entra pro uživatele jen v cloudu).
Požadavek na implementaci
Z hlediska implementace:
- Chcete použít bezobslužný skript PowerShellu ke čtení dat z exportu souboru CSV a jeho odeslání do koncového bodu rozhraní API pro příchozí zřizování.
- Ve skriptu PowerShellu nechcete implementovat složitou logiku porovnávání dat identity mezi systémem záznamů a cílovým adresářem.
- Chcete použít službu zřizování Microsoft Entra k použití pravidel zřizování spravovaného IT pro automatické vytváření, aktualizaci, povolení nebo zakázání účtů v cílovém adresáři (místní Active Directory nebo ID Microsoft Entra).
Varianty scénářů integrace
I když tento kurz používá soubor CSV jako systém záznamů, můžete ukázkový skript PowerShellu přizpůsobit tak, aby četl data z libovolného systému záznamu. Tady je seznam variant scénářů podnikové integrace, ve kterých je možné implementovat příchozí zřizování řízené rozhraním API pomocí skriptu PowerShellu.
# | Systém evidence | Pokyny k integraci při použití PowerShellu ke čtení zdrojových dat |
---|---|---|
0 | Tabulka databáze | Pokud používáte databázi Azure SQL nebo místní SQL Server, můžete pomocí rutiny Read-SqlTableData číst data uložená v tabulce databáze SQL. Pomocí rutiny Invoke-SqlCmd můžete spouštět skripty Transact-SQL nebo XQuery. Pokud používáte databázi Oracle / MySQL / Postgres, můžete najít modul PowerShellu publikovaný dodavatelem nebo dostupným v Galerie prostředí PowerShell. Pomocí modulu můžete číst data z databázové tabulky. |
2 | Server LDAP | System.DirectoryServices.Protocols K dotazování serveru LDAP použijte rozhraní .NET API nebo jeden z modulů LDAP dostupných v Galerie prostředí PowerShell. Seznamte se se schématem a hierarchií PROTOKOLU LDAP pro načtení uživatelských dat ze serveru LDAP. |
3 | Jakýkoli systém, který zveřejňuje rozhraní REST API | Ke čtení dat z koncového bodu rozhraní REST API pomocí PowerShellu můžete použít rutinu Invoke-RestMethod z Microsoft.PowerShell.Utility modulu. Projděte si dokumentaci k rozhraní REST API a zjistěte, jaké parametry a hlavičky očekává, jaký formát vrací a jakou metodu ověřování používá. Příkaz pak můžete odpovídajícím způsobem upravit Invoke-RestMethod . |
4 | Jakýkoli systém, který zveřejňuje rozhraní SOAP API | Ke čtení dat z koncového bodu rozhraní SOAP API pomocí PowerShellu můžete použít rutinu New-WebServiceProxy z Microsoft.PowerShell.Management modulu. Projděte si dokumentaci k rozhraní SOAP API a zjistěte, jaké parametry a hlavičky očekává, jaký formát vrací a jakou metodu ověřování používá. Příkaz pak můžete odpovídajícím způsobem upravit New-WebServiceProxy . |
Po přečtení zdrojových dat použijte pravidla předběžného zpracování a převeďte výstup z vašeho systému záznamu na hromadný požadavek, který lze odeslat do koncového bodu rozhraní API BulkUpload microsoft Entra.
Důležité
Pokud chcete sdílet svůj integrační skript PowerShellu s komunitou, publikujte ho na Galerie prostředí PowerShell a informujte nás o úložišti entra-id-inbound-provisioning
GitHub, abychom mohli přidat odkaz.
Jak používat tento kurz
Ukázkový skript PowerShellu publikovaný v úložišti GitHub pro příchozí zřizování Microsoft Entra automatizuje několik úloh. Má logiku pro zpracování velkých souborů CSV a blokování hromadného požadavku tak, aby v každém požadavku odeslalo 50 záznamů. Tady je postup, jak ho můžete otestovat a přizpůsobit podle požadavků na integraci.
Poznámka:
Ukázkový skript PowerShellu je k dispozici "tak, jak je" pro referenční informace k implementaci. Pokud máte dotazy související se skriptem nebo pokud ho chcete vylepšit, použijte úložiště projektu GitHubu.
# | Úloha Automatizace | Průvodce implementací | Rozšířené vlastní nastavení |
---|---|---|---|
0 | Čtení dat pracovního procesu ze souboru CSV | Stáhněte si skript PowerShellu. Má okamžitou logiku pro čtení dat z libovolného souboru CSV. Pokud se chcete seznámit s různými režimy spouštění tohoto skriptu, přečtěte si CSV2SCIM podrobnosti o použití PowerShellu. | Pokud se váš systém záznamů liší, projděte si pokyny uvedené v části Varianty scénářů integrace, jak můžete přizpůsobit skript PowerShellu. |
2 | Předběžné zpracování a převod dat do formátu SCIM | Skript PowerShellu ve výchozím nastavení převede každý záznam v souboru CSV na reprezentaci uživatele SCIM Core + Enterprise. Pokud se chcete seznámit s tímto procesem, postupujte podle kroků v části Vygenerování datové části hromadného požadavku se standardním schématem . | Pokud soubor CSV obsahuje různá pole, upravte soubor AttributeMapping.psd tak, aby vygeneroval platného uživatele SCIM. Hromadný požadavek můžete také vygenerovat pomocí vlastního schématu SCIM. Aktualizujte skript PowerShellu tak, aby zahrnoval libovolnou vlastní logiku ověření dat CSV. |
3 | Použijte certifikát pro ověřování pro Microsoft Entra ID. | Vytvořte instanční objekt, který má přístup k rozhraní API pro příchozí zřizování. V části Konfigurace klientského certifikátu pro ověřování instančního objektu najdete postup použití klientského certifikátu pro ověřování. | Pokud chcete pro ověřování použít spravovanou identitu místo instančního objektu, zkontrolujte použití Connect-MgGraph v ukázkovém skriptu a aktualizujte ji tak, aby používala spravované identity. |
4 | Zřiďte účty v místní Active Directory nebo Microsoft Entra ID. | Konfigurace příchozí aplikace příchozího zřizování řízeného rozhraním API Tím se vygeneruje jedinečný koncový bod rozhraní API /bulkUpload . Pokud chcete spustit skript pomocí instančního objektu s ověřováním na základě certifikátů, projděte si kroky v části Nahrání datové části hromadné žádosti pomocí ověřování klientským certifikátem. Ověřte tok atributu a přizpůsobte mapování atributů podle požadavků na integraci. | Pokud plánujete použít hromadný požadavek s vlastním schématem SCIM, rozšiřte schéma zřizovací aplikace tak, aby zahrnovalo vlastní prvky schématu SCIM. |
5 | Zkontrolujte protokoly zřizování a zopakujte zřizování neúspěšných záznamů. | Informace o načtení a analýze dat protokolu zřizování najdete v části Získání protokolů zřizování nejnovějších cyklů synchronizace. Identifikujte neúspěšné záznamy uživatelů a zahrňte je do dalšího cyklu nahrávání. | - |
6 | Nasaďte automatizaci založenou na PowerShellu do produkčního prostředí. | Jakmile ověříte tok zřizování řízený rozhraním API a přizpůsobíte skript PowerShellu tak, aby splňoval vaše požadavky, můžete automatizaci nasadit jako runbook pracovního postupu PowerShellu ve službě Azure Automation nebo jako proces serveru naplánovaný tak, aby běžel na Windows Serveru. | - |
Stažení skriptu PowerShellu
- Přístup k úložišti
entra-id-inbound-provisioning
GitHub . - Pomocí možnosti Kód ->Clone nebo Code ->Download ZIP zkopírujte obsah tohoto úložiště do místní složky.
- Přejděte do složky PowerShell/CSV2SCIM. Má následující adresářovou strukturu:
- Src
- CSV2SCIM.ps1 (hlavní skript)
- ScimSchemaRepresentations (složka obsahující standardní definice schématu SCIM pro ověřování souborů AttributeMapping.psd1)
- EnterpriseUser.json, Group.json, Schema.json, User.json
- Vzorky
- AttributeMapping.psd1 (ukázkové mapování sloupců v souboru CSV na standardní atributy SCIM)
- csv-with-2-records.csv (ukázkový soubor CSV se dvěma záznamy)
- csv-with-1000-records.csv (ukázkový soubor CSV s 1000 záznamy)
- Test-ScriptCommands.ps1 (ukázkové příkazy použití)
- UseClientCertificate.ps1 (skript pro vygenerování certifikátu podepsaného svým držitelem a jeho nahrání jako přihlašovací údaje instančního objektu pro použití v toku OAuth)
Sample1
(složka s dalšími příklady toho, jak se sloupce souborů CSV dají mapovat na standardní atributy SCIM. Pokud získáte různé soubory CSV pro zaměstnance, dodavatele, interny, můžete vytvořit samostatný soubor AttributeMapping.psd1 pro každou entitu.)
- Src
- Stáhněte a nainstalujte nejnovější verzi PowerShellu.
- Spuštěním příkazu povolte spouštění vzdálených podepsaných skriptů:
set-executionpolicy remotesigned
- Nainstalujte následující požadované moduly:
Install-Module -Name Microsoft.Graph.Applications,Microsoft.Graph.Reports
Generování datové části hromadného požadavku se standardním schématem
Tato část vysvětluje, jak vygenerovat datovou část hromadné žádosti se standardními atributy uživatele SCIM Core a podnikového uživatele ze souboru CSV.
Pro ilustraci postupu použijeme soubor Samples/csv-with-2-records.csv
CSV .
Otevřete soubor
Samples/csv-with-2-records.csv
CSV v Poznámkovém bloku++ nebo Excelu a zkontrolujte sloupce, které jsou v souboru.V Poznámkovém bloku++ nebo editoru zdrojového kódu, jako je Visual Studio Code, otevřete datový soubor
Samples/AttributeMapping.psd1
PowerShellu, který umožňuje mapování sloupců souborů CSV na standardní atributy schématu SCIM. Předpřipravený soubor již obsahuje předem nakonfigurované mapování sloupců souborů CSV na odpovídající atributy schématu SCIM.@{ 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' } } }
Otevřete PowerShell a přejděte do adresáře CSV2SCIM\src.
Spuštěním následujícího příkazu inicializujete proměnnou
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Spuštěním následujícího příkazu ověřte, jestli
AttributeMapping
má soubor platné atributy schématu SCIM. Tento příkaz vrátí hodnotu True , pokud je ověření úspěšné..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Řekněme, že
AttributeMapping
soubor má neplatný atribut SCIM s názvem userId a pak režimValidateAttributeMapping
zobrazí následující chybu.Jakmile ověříte, že
AttributeMapping
je soubor platný, spuštěním následujícího příkazu vygenerujte v souboruBulkRequestPayload.json
hromadný požadavek, který obsahuje dva záznamy, které jsou v souboru CSV..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping > BulkRequestPayload.json
Obsah souboru
BulkRequestPayload.json
můžete otevřít a ověřit, zda jsou atributy SCIM nastaveny podle mapování definovaného v souboruAttributeMapping.psd1
.Výše vygenerovaný soubor můžete publikovat do koncového bodu rozhraní API /bulkUpload přidruženého k vaší aplikaci zřizování pomocí Graph Exploreru nebo cURL. Reference:
Pokud chcete přímo nahrát vygenerovanou datovou část do koncového bodu rozhraní API pomocí stejného skriptu PowerShellu, přečtěte si další část.
Konfigurace klientského certifikátu pro ověřování instančního objektu
Poznámka:
Zde uvedené pokyny ukazují, jak vygenerovat certifikát podepsaný svým držitelem. Certifikáty podepsané svým držitelem nejsou ve výchozím nastavení důvěryhodné a jejich údržba může být obtížná. Mohou také používat zastaralé hash a šifrovací sady, které nemusí být silné. Kvůli lepšímu zabezpečení si kupte certifikát podepsaný dobře známou certifikační autoritou.
- Spuštěním následujícího skriptu PowerShellu vygenerujte nový certifikát podepsaný svým držitelem. Tento krok můžete přeskočit, pokud jste si koupili certifikát podepsaný dobře známou certifikační autoritou.
Vygenerovaný certifikát je uložen aktuální uživatel\Osobní\Certifikáty. Můžete ho zobrazit pomocí možnosti Ovládací panely ->Spravovat uživatelské certifikáty.$ClientCertificate = New-SelfSignedCertificate -Subject 'CN=CSV2SCIM' -KeyExportPolicy 'NonExportable' -CertStoreLocation Cert:\CurrentUser\My $ThumbPrint = $ClientCertificate.ThumbPrint
- Pokud chcete tento certifikát přidružit k platnému instančnímu objektu, přihlaste se k centru pro správu Microsoft Entra jako správce aplikací.
- Otevřete instanční objekt, který jste nakonfigurovali v části Registrace aplikací.
- Zkopírujte ID objektu z okna Přehled. Použijte hodnotu k nahrazení řetězce
<AppObjectId>
. Zkopírujte ID aplikace (klienta). Použijeme ho později a bude odkazován jako<AppClientId>
. - Spuštěním následujícího příkazu nahrajte certifikát do registrovaného instančního objektu.
V okně Certifikáty a tajné kódy registrované aplikace by se měl zobrazit certifikát.Connect-MgGraph -Scopes "Application.ReadWrite.All" Update-MgApplication -ApplicationId '<AppObjectId>' -KeyCredentials @{ Type = "AsymmetricX509Cert" Usage = "Verify" Key = $ClientCertificate.RawData }
- Do aplikace instančního objektu přidejte následující dva obory oprávnění aplikace : Application.Read.All a Synchronization.Read.All. Ty jsou vyžadovány pro skript PowerShellu, aby vyhledaly zřizovací aplikaci
ServicePrincipalId
a načítaly zřizováníJobId
.
Nahrání datové části hromadné žádosti pomocí ověřování klientských certifikátů
Tato část vysvětluje, jak odeslat datovou část vygenerovaného hromadného požadavku do koncového bodu rozhraní API pro příchozí zřizování pomocí důvěryhodného klientského certifikátu.
Otevřete aplikaci zřizování řízenou rozhraním API, kterou jste nakonfigurovali. Zkopírujte přidruženou
ServicePrincipalId
aplikaci pro zřizování z ID objektu Zřizování vlastností>aplikace.>Spuštěním následujícího příkazu zadejte správné hodnoty pro
ServicePrincipalId
ClientId
aTenantId
.$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)
Pokud chcete ověřit zpracování výše uvedené žádosti, přejděte do okna Protokoly zřizování vaší aplikace pro zřizování.
Generování hromadného požadavku s využitím vlastního schématu SCIM
Tato část popisuje, jak vygenerovat hromadný požadavek s vlastním oborem názvů schématu SCIM skládajícím se z polí v souboru CSV.
V Poznámkovém bloku++ nebo editoru zdrojového kódu, jako je Visual Studio Code, otevřete datový soubor
Samples/AttributeMapping.psd1
PowerShellu, který umožňuje mapování sloupců souborů CSV na standardní atributy schématu SCIM. Předpřipravený soubor již obsahuje předem nakonfigurované mapování sloupců souborů CSV na odpovídající atributy schématu SCIM.Otevřete PowerShell a přejděte do adresáře CSV2SCIM\src.
Spuštěním následujícího příkazu inicializujete proměnnou
AttributeMapping
.$AttributeMapping = Import-PowerShellDataFile '..\Samples\AttributeMapping.psd1'
Spuštěním následujícího příkazu ověřte, jestli
AttributeMapping
má soubor platné atributy schématu SCIM. Tento příkaz vrátí hodnotu True , pokud je ověření úspěšné..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ValidateAttributeMapping
Kromě atributů uživatele a podnikového uživatele SCIM Core získáte plochý seznam všech polí CSV v rámci vlastního oboru názvů
urn:ietf:params:scim:schemas:extension:contoso:1.0:User
schématu SCIM, spusťte následující příkaz..\CSV2SCIM.ps1 -Path '..\Samples\csv-with-2-records.csv' -AttributeMapping $AttributeMapping -ScimSchemaNamespace "urn:ietf:params:scim:schemas:extension:contoso:1.0:User" > BulkRequestPayloadWithCustomNamespace.json
Rozšíření schématu úlohy zřizování
Datový soubor odesílaný týmem lidských zdrojů často obsahuje více atributů, které nemají přímou reprezentaci ve standardním schématu SCIM. Pro reprezentaci takových atributů doporučujeme vytvořit schéma rozšíření SCIM a přidat atributy v rámci tohoto oboru názvů.
Skript CSV2SCIM poskytuje režim spuštění, který UpdateSchema
čte všechny sloupce v souboru CSV, přidá je do oboru názvů schématu rozšíření a aktualizuje schéma zřizovací aplikace.
Poznámka:
Pokud už rozšíření atributů existují ve schématu zřizovací aplikace, tento režim vygeneruje upozornění, že rozšíření atributů již existuje. Proto není problém se spuštěním skriptu CSV2SCIM v režimu UpdateSchema , pokud se do souboru CSV přidají nová pole a chcete je přidat jako příponu.
Pro ilustraci postupu použijeme soubor Samples/csv-with-2-records.csv
CSV, který je ve složce CSV2SCIM .
Otevřete soubor
Samples/csv-with-2-records.csv
CSV v Poznámkovém bloku, Excelu nebo TextPadu a zkontrolujte sloupce, které jsou v souboru.Spusťte následující příkaz:
.\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"
Aktualizaci schématu zřizovací aplikace můžete ověřit otevřením stránky Mapování atributů a přístupem k seznamu upravit atribut pro rozhraní API v části Upřesnit možnosti.
Seznam atributů zobrazuje atributy v novém oboru názvů.
Získání protokolů zřizování nejnovějších cyklů synchronizace
Po odeslání hromadné žádosti můžete dotazovat protokoly nejnovějších cyklů synchronizace zpracovávaných id Microsoft Entra. Pomocí skriptu PowerShellu můžete načíst statistiky synchronizace a podrobnosti o zpracování a uložit je pro analýzu.
Pokud chcete zobrazit podrobnosti protokolu a statistiku synchronizace v konzole, spusťte následující příkaz:
.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs -NumberOfCycles 1
Poznámka:
NumberOfCycles je ve výchozím nastavení 1. Zadejte číslo pro načtení dalších cyklů synchronizace.
Pokud chcete zobrazit statistiku synchronizace v konzole a uložit podrobnosti protokolů do proměnné, spusťte následující příkaz:
$logs=.\CSV2SCIM.ps1 -ServicePrincipalId <servicePrincipalId> -TenantId "contoso.onmicrosoft.com" -GetPreviousCycleLogs
Pokud chcete příkaz spustit pomocí ověřování klientským certifikátem, spusťte příkaz zadáním správných hodnot pro
ServicePrincipalId
aTenantId
ClientId
:$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
Pokud chcete zobrazit podrobnosti konkrétního záznamu, můžeme se smyčce připojit do kolekce nebo vybrat konkrétní index, například:
$logs[0]
Příkaz můžeme použít
where-object
také k vyhledání konkrétního záznamu pomocí id zdroje nebo displayName. Ve vlastnosti ProvisioningLogs můžeme najít všechny podrobnosti operace provedené pro daný záznam.$user = $logs | where sourceId -eq '1222' $user.ProvisioningLogs | fl
U atributu ModifiedProperties vidíme konkrétní vlastnosti ovlivněné uživatelem.
$user.ProvisioningLogs.ModifiedProperties
Dodatek
CSV2SCIM podrobností o využití PowerShellu
Tady je seznam parametrů příkazového řádku přijatých skriptem powershellu CSV2SCIM.
PS > CSV2SCIM.ps1 -Path <path-to-csv-file>
[-ScimSchemaNamespace <customSCIMSchemaNamespace>]
[-AttributeMapping $AttributeMapping]
[-ServicePrincipalId <spn-guid>]
[-ValidateAttributeMapping]
[-UpdateSchema]
[-ClientId <client-id>]
[-ClientCertificate <certificate-object>]
[-RestartService]
Poznámka:
ValidateAttributeMapping
Parametry AttributeMapping
příkazového řádku odkazují na mapování atributů sloupce CSV na standardní prvky schématu SCIM.
Neodkazuje na mapování atributů, která provádíte v centru pro správu Microsoft Entra zřizování aplikace mezi zdrojovými prvky schématu SCIM a cílovými atributy Microsoft Entra / místní Active Directory.
Parametr | Popis | Zpracování poznámek |
---|---|---|
Cesta | Úplná nebo relativní cesta k souboru CSV. Příklad: .\Samples\csv-with-1000-records.csv |
Povinné: Ano |
ScimSchemaNamespace | Vlastní obor názvů schématu SCIM, který se má použít k odeslání všech sloupců v souboru CSV jako vlastní atributy SCIM patřící do konkrétního oboru názvů. Například urn:ietf:params:scim:schemas:extension:csv:1.0:User |
Povinné: Pouze pokud chcete: - Aktualizujte schéma zřizovací aplikace nebo Pokud chcete do datové části zahrnout vlastní atributy SCIM. |
AtributMapping | Odkazuje na soubor PowerShell Data (přípona .psd1), který mapuje sloupce v souboru CSV na atributy uživatele SCIM Core a podnikového uživatele. Viz příklad: AttributeMapping.psd soubor pro CSV2SCIM skript. Například: powershell $AttributeMapping = Import-PowerShellDataFile '.\Samples\AttributeMapping.psd1'`-AttributeMapping $AttributeMapping |
Povinné: Ano , jediný scénář v případě, že toto není nutné zadat, je při použití UpdateSchema přepínače. |
ValidateAttributeMapping | Pomocí tohoto příznaku Switch ověřte, že soubor AttributeMapping obsahuje atributy, které odpovídají schématu uživatele SCIM Core a Enterprise. | Povinné: Nedoporučujeme ho používat k zajištění dodržování předpisů. |
ServicePrincipalId | Hodnota GUID id instančního objektu vaší aplikace zřizování, které můžete načíst z ID objektu vlastností>zřizovací aplikace> | Povinné: Pouze v případě, že chcete: – Aktualizujte schéma zřizovací aplikace nebo odešlete vygenerovaný hromadný požadavek do koncového bodu rozhraní API. |
UpdateSchema | Pomocí tohoto přepínače dejte skriptu pokyn ke čtení sloupců CSV a přidejte je jako vlastní atributy SCIM ve schématu zřizovací aplikace. | |
ClientId | ID klienta registrované aplikace Microsoft Entra, která se má použít pro tok ověřování OAuth. Tato aplikace musí mít platné přihlašovací údaje certifikátu. | Povinné: Pouze při ověřování na základě certifikátů. |
ClientCertificate | Ověřovací certifikát klienta, který se má použít během toku OAuth. | Povinné: Pouze při ověřování na základě certifikátů. |
GetPreviousCycleLogs | Pokud chcete získat protokoly zřizování nejnovějších cyklů synchronizace. | |
NumberOfCycles | Chcete-li určit, kolik synchronizačních cyklů se má načíst. Tato hodnota je ve výchozím nastavení 1. | |
RestartService | Pomocí této možnosti skript dočasně pozastaví úlohu zřizování před nahráním dat, nahraje data a pak znovu spustí úlohu, aby se zajistilo okamžité zpracování datové části. | Tuto možnost použijte pouze během testování. |
AttributeMapping.psd soubor
Tento soubor slouží k mapování sloupců v souboru CSV na standardní prvky schématu atributů uživatele SCIM Core a podnikového uživatele. Soubor také vygeneruje odpovídající reprezentaci obsahu souboru CSV jako datovou část hromadné žádosti.
V dalším příkladu jsme namapovali následující sloupce v souboru CSV na jejich protějšky SCIM Core User a Enterprise User atributy.
@{
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'
}
}
}