Öğretici: SCIM uç noktasını doğrulama

Bu öğreticide, sağlama sunucunuzun Azure SCIM istemcisiyle uyumlu olduğunu doğrulamak için Microsoft Entra SCIM Doğrulayıcı'nın nasıl kullanılacağı açıklanmaktadır. Öğretici, Kimliklerini Microsoft Entra sağlama hizmetiyle yönetmek üzere SCIM uyumlu bir sunucu oluşturmak isteyen geliştiricilere yöneliktir.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Bir test yöntemi seçin
  • Test yöntemini yapılandırma
  • SCIM uç noktanızı doğrulama

Önkoşullar

  • Etkin aboneliği olan bir Microsoft Entra hesabı. Ücretsiz hesap oluşturun.
  • SCIM 2.0 standardına uyan ve sağlama hizmeti gereksinimlerini karşılayan bir SCIM uç noktası. Daha fazla bilgi edinmek için bkz . Öğretici: Microsoft Entra Id'de SCIM uç noktası için sağlamayı geliştirme ve planlama.

Bir test yöntemi seçin

İlk adım, SCIM uç noktanızı doğrulamak için bir test yöntemi seçmektir.

  1. Web tarayıcınızı açın ve SCIM Doğrulayıcı: öğesine gidin. https://scimvalidator.microsoft.com/

  2. Üç test seçeneğinden birini seçin. Varsayılan öznitelikleri kullanabilir, şemayı otomatik olarak bulabilir veya bir şema yükleyebilirsiniz.

    SCIM Doğrulayıcı ana sayfasının ekran görüntüsü.

Varsayılan öznitelikleri kullan - Sistem varsayılan öznitelikleri sağlar ve gereksinimlerinizi karşılayacak şekilde bunları değiştirirsiniz.

Şemayı bulma - Uç noktanız /Schemas'ı destekliyorsa, bu seçenek aracın desteklenen öznitelikleri bulmasını sağlar. Uygulamanızı oluştururken güncelleştirme ek yükünü azalttığı için bu seçeneği öneririz.

Microsoft Entra Şemasını Karşıya Yükle - Örnek uygulamanızdan indirdiğiniz şemayı Microsoft Entra Id'ye yükleyin.

Test yöntemini yapılandırma

Artık bir test yöntemi seçtiğinize göre, sonraki adım bunu yapılandırmaktır.

SCIM Doğrulayıcı öznitelikleri sayfasının ekran görüntüsü.

  1. Varsayılan öznitelikler seçeneğini kullanıyorsanız, belirtilen tüm alanları doldurun.
  2. Şema bulma seçeneğini kullanıyorsanız SCIM uç noktası URL'sini ve belirtecini girin.
  3. Bir şema yüklüyorsanız karşıya yüklenecek .json dosyanızı seçin. seçeneği, Microsoft Entra yönetim merkezindeki örnek uygulamanızdan dışarı aktarılan bir .json dosyasını kabul eder. Şemayı dışarı aktarmayı öğrenmek için bkz . Nasıl yapılır: Sağlama yapılandırmasını dışarı aktarma ve bilinen iyi duruma geri dönme.

Not

Grup özniteliklerini test etmek için Grup Testlerini Etkinleştir'i seçtiğinizden emin olun.

  1. Öznitelik listesinin sonundaki 'Öznitelik Ekle' seçeneğini ve sayfanın sağ tarafında eksi (-) işaretini kullanarak hem kullanıcı hem de grup türleri için liste özniteliklerini istediğiniz şekilde düzenleyin.
  2. Hem kullanıcı hem de grup öznitelikleri listesinden birleştirme özelliğini seçin.

Not

Eşleştirme özniteliği olarak da bilinen birleştirme özelliği, kullanıcı ve grup kaynaklarının kaynakta benzersiz olarak sorgulanabileceği ve hedef sistemde eşleştirilebileceği bir özniteliktir.

SCIM uç noktanızı doğrulama

Son olarak uç noktanızı test etmeniz ve doğrulamanız gerekir.

  1. Teste başlamak için Test Şeması'nı seçin.

  2. Başarılı ve başarısız testlerin özetini içeren sonuçları gözden geçirin.

  3. Ayrıntıları göster sekmesini seçin ve sorunları gözden geçirip düzeltin.

  4. Tüm testler geçene kadar şemanızı test etmeye devam edin.

    SCIM Doğrulayıcı sonuçları sayfasının ekran görüntüsü.

SCIM Doğrulayıcı tarafından gerçekleştirilen not doğrulamaları

Yeni Kullanıcı Oluştur

  • POST /Users – Eksiksiz bir JSON yüküne sahip yeni bir kullanıcı oluşturur.
    • Uç nokta HTTP 201 döndürür
    • POST yanıtı, oluşturulan kullanıcı kimliğini içeriyor
  • GET /Users?filter={joiningProperty} eq "value" – Birleştirme özelliğine göre filtreleyerek oluşturma işlemini doğrular.
    • GET, oluşturulan kullanıcıyı döndürür
    • GET'den döndürülen değerler POST isteğinden geçirilen değerlerle eşleşmektedir (uç noktaya göre değişir)
  • DELETE /Users - Test Kullanıcılarını Temizler. -Yalnızca kalıcı silme destekleniyorsa çağrılır

Yinelenen Kullanıcı Oluştur

  • POST /Users – Mevcut bir kullanıcıyla aynı benzersiz/birleştirme özniteliğine sahip aynı yükü kullanarak yeni bir kullanıcı oluşturmayı dener.
    • İlk oluşturma isteğinde HTTP 201 döndür
    • İkinci oluşturma isteğinde HTTP 409 döndür

Öznitelik Ekle

  • POST /Users - Kullanıcı kaynağını oluşturur
    • HTTP 2xx başarısı
  • PATCH /Users/{id} – Gerekli olmayan başka öznitelikler eklemek için bir JSON Patch belgesi (ekleme işlemiyle birlikte) kullanır.
  • GET /Users?filter={joiningProperty} eq "value" – Eklenen öznitelikleri doğrulamak için kullanıcıyı alır.
    • Kullanıcı döndürülür
    • Eklenen öznitelikler artık kullanıcıda var

Kullanıcı Özniteliklerini Değiştir

  • POST /Users - Kullanıcı kaynağını oluşturur
    • HTTP 2xx başarısı
  • PATCH /Users/{id} – Bir veya daha fazla özniteliği güncelleştirmek için bir JSON Patch belgesi (değiştirme işlemini kullanarak) gönderir.
  • GET /Users?filter={joiningProperty} eq "value" – Güncelleştirilmiş özniteliklerin doğru uygulandığını doğrular.
    • Kullanıcı döndürülür
    • Güncelleştirilmiş öznitelikler kullanıcıda var

Birleştirme Özelliğini Güncelle

  • POST /Users - Kullanıcı kaynağını oluşturur
    • HTTP 2xx başarısı
  • PATCH /Users/{id} – JSON Patch belgesi aracılığıyla birleştirme özelliğini (örneğin, userName) güncelleştirir.
  • GET /Users?filter={joiningProperty} eq "newValue" – Birleştirme özelliğinin güncelleştirildiğini onaylar.
    • Katılma özelliği kullanıcıda güncelleştirildi

Etkin Özniteliği False Olarak Güncelleştir

  • POST /Users/ - Şemayı temel alan bir kaynak oluşturur
    • HTTP 2xx başarısı
    • Devre dışı bırakılan kullanıcı GET isteğinde döndürülmelidir
  • PATCH /Users/{id} – "etkin" özniteliği false olarak ayarlayan bir JSON Patch belgesi verir.
    • HTTP 2xx başarısı
  • GET /Users?filter={joiningProperty} eq "value" – Etkin özniteliğin artık false olduğunu doğrulamak için kullanıcıyı getirir.
    • Kullanıcı kaydının döndürülen hali ACTIVE=FALSE olmalıdır.

Yeni Grup Oluştur

  • POST /Groups – Eksiksiz bir JSON yüküne sahip yeni bir grup oluşturur.
    • Uç nokta HTTP 201 döndürür
    • POST yanıtı, oluşturulan grup kimliğini içeriyor
  • GET /Group?filter={joiningProperty} eq "value" – Birleştirme özelliğine göre filtreleyerek oluşturma işlemini doğrular.
    • GET, oluşturulan grubu döndürür
    • GET'den döndürülen değerler POST isteğinden geçirilen değerlerle eşleşmektedir (uç noktaya göre değişir)
  • DELETE /Groups - Test Kullanıcılarını Temizler.
    • Yalnızca sabit silme destekleniyorsa çağrılır

Çoğaltılmış Grup Oluştur

  • POST /Groups – Mevcut bir grubun benzersiz/birleştirme özniteliğiyle aynı yükü kullanarak yeni bir grup oluşturmaya çalışır.
    • İlk oluşturma isteğinde HTTP 201 döndür
    • İkinci oluşturma isteğinde HTTP 409 döndür

Grup Özniteliklerini Güncelleştirme

  • POST /Groups - Öznitelikleri güncelleştirmek için yeni bir grup kaynağı oluşturur
    • POST HTTP 2xx döndürür
  • PATCH /Groups/{id} – Var olan bir grubun (üyeler hariç) bir veya daha fazla özniteliğini güncelleştirmek için değiştirme işlemini kullanarak bir JSON Düzeltme Eki belgesi gönderir.
    • PATCH başarı döndürüyor (HTTP 2xx)
  • GET /Groups?filter={joiningProperty} eq "value" – Grubun özniteliklerinin doğru güncelleştirildiğini onaylar.
    • GET, yama uygulanmış grubu döndürür
    • Döndürülen gruptaki öznitelikler, PATCH isteğinde değiştirilen özniteliklerle eşleşir.

Yeni Grup Kaynağı Oluşturma

  • POST /Groups - Üye eklemek için yeni bir grup kaynağı oluşturur
    • POST HTTP 2xx döndürür
  • POST /Users – Grup üyesi olarak kullanılacak yeni bir kullanıcı kaynağı oluşturur.
    • POST HTTP 2xx döndürür
  • PATCH /Groups/{id} – JSON Patch belgesi kullanarak yeni oluşturulan kullanıcının tanımlayıcısını gruba ekler.
    • PATCH başarılı bir şekilde sonuç verir

SCIM Doğrulayıcıda İfadeleri Kullanma

SCIM Doğrulayıcı, öznitelikler için istenen değerleri oluşturmak üzere ifadelerin kullanılmasını destekler.

İfadeleri kullanma

  1. Öznitelikler sayfasına gidin.
  2. Özelleştirmek istediğiniz özniteliğin değer sütununa istediğiniz ifadeyi girin.
  3. Testinizi çalıştırma

Not

Bu ifadeler hem Kullanıcı hem de Grup öznitelikleri için çalışır.

Kullanılabilir İfadeler

Aşağıdaki tabloda kullanılabilir ifadeler listelenmiştir

İfade Anlamı Örnek Sonuç
generateRandomString {Dize Karakter Sayısı} Belirtilen sayıda alfabe karakteriyle rastgele bir dize oluşturma {%generateRandomString 6%}@contoso.com CXJHYP@contoso.com
generateRandomNumber {Sayı Sayısı} Belirtilen basamak sayısıyla rastgele bir sayı oluşturma {%generateRandomNumber 4%} 8821
generateAlphaNumeric {Karakter Sayısı} Belirtilen karakter sayısıyla alfabe ve sayı karışımıyla rastgele bir dize oluşturma {%generateAlphaNumeric 7%} 59Q2M9W
generateAlphaNumericWithSpecialCharacters {Karakter Sayısı} Belirtilen karakter sayısına göre alfabe, sayı ve özel karakter karışımıyla rastgele bir dize oluşturma {%generateAlphaNumericWithSpecialCharacters 8%}TEST D385N05'TEST

İstenen sonuca ulaşmak için ifadelerden önce veya sonra değerler ekleyebilirsiniz. Örneğin, userName özniteliğinin değer alanına {% generateRandomString 6 %}@contoso.com eklediğinizde, contoso.com etki alanı korunurken her testte yeni bir userName değeri oluşturulur.

Kaynakları temizleme

Testinizde artık gerekli olmayan herhangi bir Azure kaynağı oluşturduysanız, bunları silmeyi unutmayın.

Microsoft Entra SCIM Doğrulayıcı ile İlgili Bilinen Sorunlar

  • Geçici silmeler (devre dışı bırakmalar) henüz desteklenmiyor.
  • Saat dilimi biçimi rastgele oluşturulur ve doğrulamaya çalışan sistemler için başarısız olur.
  • Yama kullanıcı kaldırma öznitelikleri, belirli sistemler için zorunlu/gerekli öznitelikleri kaldırmaya çalışabilir. Bu tür hatalar yoksayılmalıdır.

Sonraki adımlar