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


Felhőszinkronizálás programozott konfigurálása az MS Graph API használatával

Az alábbi dokumentum bemutatja, hogyan replikálhat teljesen új szinkronizálási profilokat csak MSGraph API-k használatával.
A szinkronizálási profilok replikálásának struktúrája a következő lépésekből áll. Ezek a következők:

Ezekkel a Microsoft Graph PowerShell-parancsokkal engedélyezheti az éles bérlők szinkronizálását, ami előfeltétele annak, hogy meghívható legyen az adott bérlő Rendszergazda istration webszolgáltatása.

Alapszintű beállítás

Bérlőjelzők engedélyezése

Connect-MgGraph -Scopes "DeviceManagementConfiguration.ReadWrite.All" ('-Environment <AzureEnvironment>')
$organizationId = (Get-MgOrganization).Id
$params = @{
	onPremisesSyncEnabled = $true
}
Update-MgBetaOrganization -OrganizationId $organizationId -BodyParameter $params

Ez a parancsmag lehetővé teszi a bérlők szinkronizálását. A Get-MgOrganization használatával kéri le a szervezet azonosítóját.

Egyszerű szolgáltatások létrehozása

Ezután létre kell hoznunk az AD2AAD-alkalmazást/ szolgáltatásnevet

Ezt az alkalmazásazonosítót kell használnia: 1a4721b3-e57f-4451-ae87-ef078703ec94. A displayName az AD-tartomány URL-címe, ha a portálon használják (például contoso.com), de lehet, hogy más nevet ad neki.

POST https://graph.microsoft.com/beta/applicationTemplates/1a4721b3-e57f-4451-ae87-ef078703ec94/instantiate
Content-type: application/json
{
    displayName: [your app name here]
}

Szinkronizálási feladat létrehozása

Az előző parancs kimenete a létrehozott szolgáltatásnév objectId azonosítóját adja vissza. Ebben a példában az objectId aaaaa-0000-1111-2222-bbbbbbbbbb. A Microsoft Graph használatával hozzáadhat egy szinkronizálási feladatot az adott szolgáltatásnévhez.

A szinkronizálási feladat létrehozásának dokumentációja itt található.

Ha nem rögzítette az azonosítót, az alábbi MS Graph-hívás futtatásával megtalálhatja a szolgáltatásnevet. A hívás indításához a Directory.Read.All engedélyre van szüksége:

GET https://graph.microsoft.com/beta/servicePrincipals

Ezután keresse meg az alkalmazás nevét a kimenetben.

Futtassa a következő két parancsot két feladat létrehozásához: egyet a felhasználó/csoport kiépítéséhez, egyet pedig a jelszókivonat-szinkronizáláshoz. Ez ugyanaz a kérés kétszer, de különböző sablonazonosítókkal.

Hívja meg a következő két kérést:

POST https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs
Content-type: application/json
{
"templateId":"AD2AADProvisioning"
} 
POST https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs
Content-type: application/json
{
"templateId":"AD2AADPasswordHash"
}

Ha mindkettőt létre szeretné hozni, két hívásra van szüksége.

Példa visszatérési értékre (kiépítéshez):

HTTP 201/Created
{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#servicePrincipals('aaaaaaaa-0000-1111-2222-bbbbbbbbbbbbc')/synchronization/jobs/$entity",
    "id": "AD2AADProvisioning.fc96887f36da47508c935c28a0c0b6da",
    "templateId": "ADDCInPassthrough",
    "schedule": {
        "expiration": null,
        "interval": "PT40M",
        "state": "Disabled"
    },
    "status": {
        "countSuccessiveCompleteFailures": 0,
        "escrowsPruned": false,
        "code": "Paused",
        "lastExecution": null,
        "lastSuccessfulExecution": null,
        "lastSuccessfulExecutionWithExports": null,
        "quarantine": null,
        "steadyStateFirstAchievedTime": "0001-01-01T00:00:00Z",
        "steadyStateLastAchievedTime": "0001-01-01T00:00:00Z",
        "troubleshootingUrl": null,
        "progress": [],
        "synchronizedEntryCountByType": []
    }
}

Célzott tartomány frissítése

Ebben a bérlőben a szolgáltatásnév objektumazonosítója és alkalmazásazonosítója a következő:

ObjectId: bbbbbbbb-1111-2222-3333-cccccccccccc
AppId: 00001111-aaaa-2222-bbbb-3333cccc4444
DisplayName: testApp

Frissíteni kell azt a tartományt, amelyet ez a konfiguráció céloz meg, ezért frissítse a tartomány titkos kulcsát.

Győződjön meg arról, hogy a használt tartománynév megegyezik a helyszíni tartományvezérlőhöz beállított URL-címekkel.

PUT – https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/secrets

Adja hozzá az alábbi kulcs/érték párot az alábbi értéktömbbe a kívánt művelet alapján:

  • Engedélyezze mind a PHS, mind a szinkronizálási bérlőjelzőket { kulcs: "AppKey", érték: "{"appKeyScenario":"AD2AADPasswordHash"}" }

  • Csak szinkronizálási bérlőjelző engedélyezése (ne kapcsolja be a PHS-t) { kulcs: "AppKey", érték: "{"appKeyScenario":"AD2AADProvisioning"}" }

Request body –
{
   "value": [
              {
                "key": "Domain",
                "value": "{\"domain\":\"ad2aadTest.com\"}"
              }
            ]
}

A várt válasz ... HTTP 204/Nincs tartalom

Itt a kiemelt "Tartomány" érték annak a helyi Active Directory tartománynak a neve, amelyből a bejegyzéseket ki kell építeni a Microsoft Entra-azonosítóba.

Jelszókivonatok szinkronizálásának engedélyezése a konfigurációs panelen

Ez a szakasz a jelszókivonatok szinkronizálásának engedélyezését ismerteti egy adott konfigurációhoz. Ez a helyzet eltér a bérlői szintű funkciójelzőt engedélyező AppKey-titkos kódtól. Ez az eljárás csak egyetlen tartományra/konfigurációra vonatkozik. Az alkalmazáskulcsot a PHS-hez kell beállítania ahhoz, hogy ez az eljárás a végéig működjön.

  1. Ragadja meg a sémát (figyelmeztetés, elég nagy):

    GET –https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs/ [AD2AADProvisioningJobId]/schema
    
  2. A CredentialData attribútumleképezésének végrehajtása:

    {
    "defaultValue": null,
    "exportMissingReferences": false,
    "flowBehavior": "FlowWhenChanged",
    "flowType": "Always",
    "matchingPriority": 0,
    "targetAttributeName": "CredentialData",
    "source": {
    "expression": "[PasswordHash]",
    "name": "PasswordHash",
    "type": "Attribute",
    "parameters": []
    }
    
  3. Keresse meg a következő objektumleképezéseket a sémában az alábbi névvel

    • Active Directory-felhasználók kiépítése
    • Active Directory inetOrgPersons kiépítése

    Az objektumleképezések a schema.synchronizationRules[0].objectMappings fájlban találhatók (egyelőre feltételezheti, hogy csak egy szinkronizálási szabály létezik)

  4. Végezze el a CredentialData-leképezést a (2) lépésben, és szúrja be az objektumleképezésekbe a (3) lépésben.

    Az objektumleképezés a következőképpen néz ki:

    {
    "enabled": true,
    "flowTypes": "Add,Update,Delete",
    "name": "Provision Active Directory users",
    "sourceObjectName": "user",
    "targetObjectName": "User",
    "attributeMappings": [
    ...
    } 
    

    Másolja/illessze be a leképezést az AD2AADProvisioning és az AD2AADPasswordHash feladatok lépésből az attributeMappings tömbbe.

    A tömb elemeinek sorrendje nem számít (a háttérrendszer rendezi Az Ön számára). Ügyeljen arra, hogy ezt az attribútumleképezést vegye fel, ha a név már létezik a tömbben (például ha már szerepel egy elem az attribútumMappings attribútumban, amely rendelkezik a targetAttributeName CredentialData azonosítóval) – ütközési hibák léphetnek fel, vagy a már meglévő és az új leképezések egyesíthetők, általában nem a kívánt eredmény. A háttérrendszer nem dedukál önnek.

    Ne felejtse el elvégezni ezt a műveletet mind a Felhasználók, mind az inetOrgpersons esetében.

  5. Mentse a létrehozott sémát:

    PUT –
    https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs/ [AD2AADProvisioningJobId]/schema
    

Adja hozzá a sémát a kérelem törzséhez.

Hibrid Exchange-visszaírás (nyilvános előzetes verzió)

Ez a szakasz bemutatja, hogyan engedélyezheti/tilthatja le és használhatja az Exchange hibrid visszaírást programozott módon.

Az Exchange hibrid visszaírásának programozott engedélyezéséhez két lépésre van szükség.

  1. Séma ellenőrzése
  2. Az Exchange hibrid visszaírási feladatának létrehozása

Séma ellenőrzése

Az Exchange hibrid visszaírásának engedélyezése és használata előtt a felhőszinkronizálásnak meg kell határoznia, hogy a helyi Active Directory kiterjesztették-e az Exchange-sémára.

A directoryDefinition:discover használatával kezdeményezheti a sémafelderítést.

POST https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs/[AD2AADProvisioningJobId]/schema/directories/[ADDirectoryID]/discover

A várt válasz ... HTTP 200/OK

A válasznak a következő kimenethez hasonlóan kell kinéznie:

HTTP/1.1 200 OK
Content-type: application/json
{
  "objects": [
    {
      "name": "user",
      "attributes": [
        {
          "name": "mailNickName",
          "type": "String"
        },
        ...
      ]
    },
    ...
  ]
}

Most ellenőrizze, hogy a mailNickName attribútum jelen van-e. Ha igen, akkor a séma ellenőrzött, és tartalmazza az Exchange-attribútumokat. Ha nem, tekintse át az Exchange hibrid visszaírásának előfeltételeit .

Az Exchange hibrid visszaírási feladatának létrehozása

Miután ellenőrizte a sémát, létrehozhatja a feladatot.

POST https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs
Content-type: application/json
{
"templateId":"AAD2ADExchangeHybridWriteback"
}

Véletlen törlések

Ez a szakasz bemutatja, hogyan lehet programozott módon engedélyezni/letiltani és programozott módon használni a véletlen törléseket .

A küszöbérték engedélyezése és beállítása

Feladatonként két beállítás használható, ezek a következők:

  • DeleteThresholdEnabled – Engedélyezi a feladat véletlen törlésének megelőzését, ha igaz értékre van állítva. Alapértelmezés szerint "true" (igaz) értékre van állítva.
  • DeleteThresholdValue – Meghatározza a feladat minden egyes végrehajtásában engedélyezett törlések maximális számát, ha engedélyezve van a véletlen törlés megakadályozása. Az érték alapértelmezés szerint 500. Ha tehát az érték 500, akkor az engedélyezett törlések maximális száma 499 minden végrehajtásban.

A törlési küszöbérték-beállítások a SyncNotificationSettings diagram részét képezik, és módosíthatók.

Frissíteni kell a SyncNotification szolgáltatást Gépház ez a konfiguráció célzott, ezért frissítse a titkos kulcsokat.

PUT – https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/secrets

Adja hozzá az alábbi kulcs/érték párot az alábbi értéktömbhöz a kívánt művelet alapján:

Request body -
{
  "value":[
    {
      "key":"SyncNotificationSettings",
      "value": "{\"Enabled\":true,\"Recipients\":\"foobar@xyz.com\",\"DeleteThresholdEnabled\":true,\"DeleteThresholdValue\":50}"
     }
  ]
}

A példában az "Engedélyezve" beállítás az értesítési e-mailek engedélyezése/letiltása a feladat karanténba helyezésekor.

Jelenleg nem támogatjuk a titkos kódokra vonatkozó PATCH-kéréseket, ezért a put kérelem törzsében (a példához hasonlóan) minden értéket hozzá kell adnia a többi érték megőrzéséhez.

Az összes titkos kód meglévő értékei a következő használatával kérhetők le:

GET https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/secrets 

Törlés engedélyezése

Ahhoz, hogy ezek a törlések a feladat karanténba kerülése után is áthaladhassanak, csak a "ForceDeletes" hatókörrel kell újraindítania.

Request:
POST https://graph.microsoft.com/beta/servicePrincipals/{id}/synchronization/jobs/{jobId}/restart
Request Body:
{
  "criteria": {"resetScope": "ForceDeletes"}
}

Szinkronizálási feladat indítása

A feladatok ismét lekérhetők a következő paranccsal:

GET https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs/

A feladatok beolvasásának dokumentációja itt található.

A feladatok elindításához adja ki ezt a kérést az első lépésben létrehozott szolgáltatásnév objectId azonosítójával, valamint a feladatot létrehozó kérésből visszaadott feladatazonosítókkal.

A feladatok indításának dokumentációja itt található.

POST  https://graph.microsoft.com/beta/servicePrincipals/8895955e-2e6c-4d79-8943-4d72ca36878f/synchronization/jobs/AD2AADProvisioning.fc96887f36da47508c935c28a0c0b6da/start

A várt válasz ... HTTP 204/Nincs tartalom.

A feladat vezérlésére szolgáló egyéb parancsokat itt dokumentáljuk.

Feladat újraindításához használja a következőt:

POST  https://graph.microsoft.com/beta/servicePrincipals/8895955e-2e6c-4d79-8943-4d72ca36878f/synchronization/jobs/AD2AADProvisioning.fc96887f36da47508c935c28a0c0b6da/restart
{
  "criteria": {
    "resetScope": "Full"
  }
}

Állapot áttekintése

A feladat állapotának lekérése az alábbiakon keresztül:

GET https://graph.microsoft.com/beta/servicePrincipals/[SERVICE_PRINCIPAL_ID]/synchronization/jobs/ 

A releváns részletekért tekintse meg a visszatérési objektum "állapot" szakaszát

Következő lépések