Memahami skema Microsoft Azure AD

Objek di Azure Active Directory (Azure AD), seperti direktori apa pun, adalah konstruksi data tingkat tinggi terprogram yang mewakili hal-hal seperti pengguna, grup, dan kontak. Saat Anda membuat pengguna atau kontak baru di Microsoft Azure AD, Anda membuat contoh baru objek tersebut. Instans ini dapat diferensiasi berdasarkan propertinya.

Properti di Microsoft Azure AD adalah elemen yang bertanggung jawab untuk menyimpan informasi tentang contoh objek di Microsoft Azure AD.

Skema Microsoft Azure AD menentukan aturan properti mana yang mungkin digunakan dalam entri, jenis nilai yang mungkin memiliki properti tersebut, dan bagaimana pengguna mungkin berinteraksi dengan nilai-nilai tersebut.

Microsoft Azure AD memiliki dua jenis properti:

  • Properti bawaan: Properti yang sudah ditentukan sebelumnya oleh skema Microsoft Azure AD. Properti ini menyediakan kegunaan yang berbeda dan mungkin atau mungkin tidak dapat diakses.
  • Ekstensi direktori: Properti yang disediakan sehingga Anda dapat menyesuaikan Microsoft Azure AD untuk penggunaan Anda sendiri. Misalnya, jika Anda telah memperluas Direktori Aktif di tempat dengan atribut tertentu dan ingin mengalirkan atribut tersebut, Anda dapat menggunakan salah satu properti kustom yang disediakan.

Atribut dan ekspresi

Saat objek seperti pengguna disediakan untuk Microsoft Azure AD, contoh baru objek pengguna dibuat. Pembuatan ini mencakup sifat objek tersebut, yang juga dikenal sebagai atribut. Awalnya, objek yang baru dibuat memiliki atribut yang diatur ke nilai yang ditentukan oleh aturan sinkronisasi. Atribut ini kemudian selalu diperbarui melalui agen penyediaan cloud.

Penyediaan objek

Misalnya, pengguna mungkin menjadi bagian dari departemen Pemasaran. Atribut departemen Microsoft Azure AD mereka awalnya dibuat saat disediakan, dan nilainya diatur ke Pemasaran. Enam bulan kemudian jika mereka berubah menjadi Penjualan, atribut departemen Direktori Aktif lokal mereka diubah menjadi Penjualan. Perubahan ini disinkronkan ke Microsoft Azure AD dan tercermin dalam objek pengguna Microsoft Azure AD mereka.

Sinkronisasi atribut mungkin langsung, di mana nilai di Microsoft Azure AD secara langsung diatur ke nilai atribut lokal. Atau, ekspresi terprogram mungkin menangani sinkronisasi ini. Ekspresi terprogram diperlukan dalam kasus di mana beberapa logika atau penentuan harus dibuat untuk mengisi nilai.

Misalnya, jika Anda memiliki atribut mail " john.smith@contoso.com " dan perlu untuk menghapus "@contoso.com" porsi dan mengalir hanya nilai "john.smith," Anda akan menggunakan sesuatu seperti ini:

Replace([mail], "@contoso.com", , ,"", ,)

Sampel input/output:

  • INPUT (mail): "john.smith@contoso.com"
  • OUTPUT: "john.smith"

Untuk informasi selengkapnya tentang cara menulis ekspresi kustom dan sintaksnya, lihat Menulis ekspresi untuk pemetaan atribut di Azure Active Directory.

Tabel berikut ini mencantumkan atribut umum dan bagaimana tabel disinkronkan ke Microsoft Azure AD.

Direktori Aktif Lokal Jenis Pemetaan Microsoft Azure AD
cn Langsung commonName
countryCode Langsung countryCode
displayName Langsung displayName
givenName Ekspresi givenName
objectGUID Langsung sourceAnchorBinary
userprincipalName Langsung userPrincipalName
ProxyAdress Langsung ProxyAddress

Menampilkan skema

Peringatan

Konfigurasi sinkronisasi cloud membuat prinsipal layanan. Prinsipal layanan terlihat di portal Microsoft Azure. Anda tidak boleh mengubah pemetaan atribut menggunakan pengalaman prinsipal layanan di portal Microsoft Azure. ICMP tidak didukung.

Untuk melihat skema dan memverifikasinya, ikuti langkah-langkah ini.

  1. Buka Penjelajah Grafik.

  2. Masuk dengan akun administrator global Anda.

  3. Di sebelah kiri, pilih ubah izin dan pastikan bahwa Direktori.ReadWrite.All disetujui.

  4. Jalankan kueri https://graph.microsoft.com/beta/serviceprincipals/?$filter=startswith(Displayname,'Active'). Kueri ini mengembalikan daftar prinsipal layanan yang difilter.

  5. Temukan "appDisplayName": "Active Directory to Azure Active Directory Provisioning" dan catat nilai untuk "id".

    "value": [
            {
                "id": "00d41b14-7958-45ad-9d75-d52fa29e02a1",
                "deletedDateTime": null,
                "accountEnabled": true,
                "appDisplayName": "Active Directory to Azure Active Directory Provisioning",
                "appId": "1a4721b3-e57f-4451-ae87-ef078703ec94",
                "applicationTemplateId": null,
                "appOwnerOrganizationId": "47df5bb7-e6bc-4256-afb0-dd8c8e3c1ce8",
                "appRoleAssignmentRequired": false,
                "displayName": "Active Directory to Azure Active Directory Provisioning",
                "errorUrl": null,
                "homepage": "https://account.activedirectory.windowsazure.com:444/applications/default.aspx?metadata=AD2AADProvisioning|ISV9.1|primary|z",
                "loginUrl": null,
                "logoutUrl": null,
                "notificationEmailAddresses": [],
                "preferredSingleSignOnMode": null,
                "preferredTokenSigningKeyEndDateTime": null,
                "preferredTokenSigningKeyThumbprint": null,
                "publisherName": "Active Directory Application Registry",
                "replyUrls": [],
                "samlMetadataUrl": null,
                "samlSingleSignOnSettings": null,
                "servicePrincipalNames": [
                    "http://adapplicationregistry.onmicrosoft.com/adprovisioningtoaad/primary",
                    "1a4721b3-e57f-4451-ae87-ef078703ec94"
                ],
                "signInAudience": "AzureADMultipleOrgs",
                "tags": [
                    "WindowsAzureActiveDirectoryIntegratedApp"
                ],
                "addIns": [],
                "api": {
                    "resourceSpecificApplicationPermissions": []
                },
                "appRoles": [
                    {
                        "allowedMemberTypes": [
                            "User"
                        ],
                        "description": "msiam_access",
                        "displayName": "msiam_access",
                        "id": "a0326856-1f51-4311-8ae7-a034d168eedf",
                        "isEnabled": true,
                        "origin": "Application",
                        "value": null
                    }
                ],
                "info": {
                    "termsOfServiceUrl": null,
                    "supportUrl": null,
                    "privacyStatementUrl": null,
                    "marketingUrl": null,
                    "logoUrl": null
                },
                "keyCredentials": [],
                "publishedPermissionScopes": [
                    {
                        "adminConsentDescription": "Allow the application to access Active Directory to Azure Active Directory Provisioning on behalf of the signed-in user.",
                        "adminConsentDisplayName": "Access Active Directory to Azure Active Directory Provisioning",
                        "id": "d40ed463-646c-4efe-bb3e-3fa7d0006688",
                        "isEnabled": true,
                        "type": "User",
                        "userConsentDescription": "Allow the application to access Active Directory to Azure Active Directory Provisioning on your behalf.",
                        "userConsentDisplayName": "Access Active Directory to Azure Active Directory Provisioning",
                        "value": "user_impersonation"
                    }
                ],
                "passwordCredentials": []
            },
    
  6. Ganti {Service Principal id} dengan nilai Anda, dan jalankan kueri https://graph.microsoft.com/beta/serviceprincipals/{Service Principal id}/synchronization/jobs/.

  7. Temukan "id": "AD2AADProvisioning.fd1c9b9e8077402c8bc03a7186c8f976" dan catat nilai untuk "id".

    {
                "id": "AD2AADProvisioning.fd1c9b9e8077402c8bc03a7186c8f976",
                "templateId": "AD2AADProvisioning",
                "schedule": {
                    "expiration": null,
                    "interval": "PT2M",
                    "state": "Active"
                },
                "status": {
                    "countSuccessiveCompleteFailures": 0,
                    "escrowsPruned": false,
                    "code": "Active",
                    "lastSuccessfulExecutionWithExports": null,
                    "quarantine": null,
                    "steadyStateFirstAchievedTime": "2019-11-08T15:48:05.7360238Z",
                    "steadyStateLastAchievedTime": "2019-11-20T16:17:24.7957721Z",
                    "troubleshootingUrl": "",
                    "lastExecution": {
                        "activityIdentifier": "2dea06a7-2960-420d-931e-f6c807ebda24",
                        "countEntitled": 0,
                        "countEntitledForProvisioning": 0,
                        "countEscrowed": 15,
                        "countEscrowedRaw": 15,
                        "countExported": 0,
                        "countExports": 0,
                        "countImported": 0,
                        "countImportedDeltas": 0,
                        "countImportedReferenceDeltas": 0,
                        "state": "Succeeded",
                        "error": null,
                        "timeBegan": "2019-11-20T16:15:21.116098Z",
                        "timeEnded": "2019-11-20T16:17:24.7488681Z"
                    },
                    "lastSuccessfulExecution": {
                        "activityIdentifier": null,
                        "countEntitled": 0,
                        "countEntitledForProvisioning": 0,
                        "countEscrowed": 0,
                        "countEscrowedRaw": 0,
                        "countExported": 5,
                        "countExports": 0,
                        "countImported": 0,
                        "countImportedDeltas": 0,
                        "countImportedReferenceDeltas": 0,
                        "state": "Succeeded",
                        "error": null,
                        "timeBegan": "0001-01-01T00:00:00Z",
                        "timeEnded": "2019-11-20T14:09:46.8855027Z"
                    },
                    "progress": [],
                    "synchronizedEntryCountByType": [
                        {
                            "key": "group to Group",
                            "value": 33
                        },
                        {
                            "key": "user to User",
                            "value": 3
                        }
                    ]
                },
                "synchronizationJobSettings": [
                    {
                        "name": "Domain",
                        "value": "{\"DomainFQDN\":\"contoso.com\",\"DomainNetBios\":\"CONTOSO\",\"ForestFQDN\":\"contoso.com\",\"ForestNetBios\":\"CONTOSO\"}"
                    },
                    {
                        "name": "DomainFQDN",
                        "value": "contoso.com"
                    },
                    {
                        "name": "DomainNetBios",
                        "value": "CONTOSO"
                    },
                    {
                        "name": "ForestFQDN",
                        "value": "contoso.com"
                    },
                    {
                        "name": "ForestNetBios",
                        "value": "CONTOSO"
                    },
                    {
                        "name": "QuarantineTooManyDeletesThreshold",
                        "value": "500"
                    }
                ]
            }
    
  8. Sekarang jalankan kueri https://graph.microsoft.com/beta/serviceprincipals/{Service Principal Id}/synchronization/jobs/{AD2AAD Provisioning id}/schema.

    Contoh: https://graph.microsoft.com/beta/serviceprincipals/653c0018-51f4-4736-a3a3-94da5dcb6862/synchronization/jobs/AD2AADProvisioning.e9287a7367e444c88dc67a531c36d8ec/schema

    Ganti {Service Principal Id} dan {AD2ADD Provisioning Id} dengan nilai-nilai Anda.

  9. Kueri ini mengembalikan skema.

    Skema yang dikembalikan

Langkah berikutnya