Microsoft Entra kullanıcı sağlama hizmetinin SCIM 2.0 protokolü uyumluluğuyla ilgili bilinen sorunlar ve çözümler

Microsoft Entra Id, Etki Alanları Arası Kimlik Yönetimi (SCIM) 2.0 protokol belirtimi için Sistem'de tanımlanan arabirime sahip bir web hizmeti tarafından önlenen herhangi bir uygulamaya veya sisteme kullanıcıları ve grupları otomatik olarak sağlayabilir.

SCIM 2.0 protokolü için Microsoft Entra ID desteği, Kullanıcıları ve grupları Microsoft Entra Id'den SCIM 2.0'ı destekleyen uygulamalara otomatik olarak sağlamak üzere uyguladığı protokolün belirli bölümlerini listeleyen, Etki Alanları Arası Kimlik Yönetimi (SCIM) için Sistem Kullanma bölümünde açıklanmıştır.

Bu makalede, Microsoft Entra kullanıcı sağlama hizmetinin SCIM 2.0 protokolüne bağlılığıyla ilgili güncel ve geçmiş sorunlar ve bu sorunların nasıl giderilmesi anlatılmaktadır.

Sağlama işini anlama

Sağlama hizmeti, bir uygulamaya karşı çalışmak için iş kavramını kullanır. jobID ilerleme çubuğunda bulunabilir. Tüm yeni sağlama uygulamaları , "scim" ile başlayan bir jobID ile oluşturulur. scim işi, hizmetin geçerli durumunu temsil eder. Eski işler "customappsso" kimliğine sahiptir. Bu iş, hizmetin 2018'deki durumunu temsil eder.

Galeride bir uygulama kullanıyorsanız, iş genellikle uygulamanın adını (yakınlaştırma snowFlake veya dataBricks gibi) içerir. Galeri uygulaması kullanırken bu belgeleri atlayabilirsiniz. Bu öncelikle jobID SCIM veya customAppSSO içeren galeri dışı uygulamalar için geçerlidir.

SCIM 2.0 uyumluluk sorunları ve durumu

Aşağıdaki tabloda, sabit olarak işaretlenen herhangi bir öğe, SCIM işinde uygun davranışın bulunabileceği anlamına gelir. Yaptığımız değişiklikler için geriye dönük uyumluluk sağlamak için çalıştık. Yeni uygulamalar için yeni davranışı kullanmanızı ve mevcut uygulamaları güncelleştirmenizi öneririz. Aralık 2018'e kadar varsayılan olan customappSSO davranışının artık desteklenmediğini lütfen unutmayın.

Dekont

2018'de yapılan değişiklikler için customappsso davranışına geri dönmek mümkündür. 2018'den bu yana yapılan değişiklikler için URL'leri kullanarak eski davranışa geri dönebilirsiniz. Eski jobID'ye geri dönmenize izin vererek veya bayrak kullanarak yaptığımız değişiklikler için geriye dönük uyumluluk sağlamak için çalıştık. Ancak, daha önce de belirtildiği gibi, artık desteklenmediğinden eski davranışın uygulanmasını önermiyorum. Yeni uygulamalar için yeni davranışı kullanmanızı ve mevcut uygulamaları güncelleştirmenizi öneririz.

SCIM 2.0 uyumluluk sorunu Sabit? Düzeltme tarihi Geriye dönük uyumluluk
Microsoft Entra Id, uygulamanın SCIM uç noktası URL'sinin kökünde "/scim" olmasını gerektirir Evet 18 Aralık 2018, Cumartesi customappSSO'ya düşürme
Uzantı öznitelikleri, ":" iki nokta üst üste gösterimi yerine öznitelik adlarından önce noktalı "." gösterimi kullanır Evet 18 Aralık 2018, Cumartesi customappSSO'ya düşürme
Çok değerli öznitelikler için düzeltme eki istekleri geçersiz yol filtresi söz dizimi içeriyor Evet 18 Aralık 2018, Cumartesi customappSSO'ya düşürme
Grup oluşturma istekleri geçersiz bir şema URI'si içeriyor Evet 18 Aralık 2018, Cumartesi customappSSO'ya düşürme
Uyumluluğu sağlamak için PATCH davranışını güncelleştirin (örneğin boole olarak etkin ve uygun grup üyeliği kaldırma işlemleri) No Henüz belirlenmedi özellik bayrağını kullanma

SCIM davranışını değiştirmek için bayraklar

Varsayılan SCIM istemci davranışını değiştirmek için uygulamanızın kiracı URL'sinde aşağıdaki bayrakları kullanın.

SCIM flags to later behavior.

PATCH davranışını güncelleştirmek ve SCIM uyumluluğunu sağlamak için aşağıdaki URL'yi kullanın. Bayrağı aşağıdaki davranışları değiştirir:

  • Kullanıcıları devre dışı bırakmak için yapılan istekler
  • Tek değerli dize özniteliği ekleme istekleri
  • Birden çok özniteliği değiştirme istekleri
  • Grup üyesini kaldırma istekleri

Bu davranış şu anda yalnızca bayrağı kullanılırken kullanılabilir, ancak önümüzdeki birkaç ay içinde varsayılan davranış haline gelir. Bu özellik bayrağının şu anda isteğe bağlı sağlama ile çalışmadığını unutmayın.

Aşağıda, eşitleme altyapısının şu anda gönderdiği ve özellik bayrağı etkinleştirildikten sonra gönderilen isteklerin ana hatlarıyla özetlenmesine yardımcı olan örnek istekler verilmiştir.

Kullanıcıları devre dışı bırakmak için yapılan istekler:

Özellik bayrağı olmadan

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Replace",
          "path": "active",
          "value": "False"
      }
  ]
}

Özellik bayrağıyla

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "replace",
          "path": "active",
          "value": false
      }
  ]
}

Tek değerli dize özniteliği eklemek için yapılan istekler:

Özellik bayrağı olmadan

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
    {
      "op": "Add",
      "path": "nickName",
      "value": "Babs"
    }
  ]
}

Özellik bayrağıyla

{
  "schemas": ["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
  "Operations": [
    {
      "op": "add",
      "path": "nickName",
      "value": "Babs"
    }
  ]
}

Birden çok özniteliği değiştirme istekleri:

Özellik bayrağı olmadan

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Replace",
          "path": "displayName",
          "value": "Pvlo"
      },
      {
          "op": "Replace",
          "path": "emails[type eq \"work\"].value",
          "value": "TestBcwqnm@test.microsoft.com"
      },
      {
          "op": "Replace",
          "path": "name.givenName",
          "value": "Gtfd"
      },
      {
          "op": "Replace",
          "path": "name.familyName",
          "value": "Pkqf"
      },
      {
          "op": "Replace",
          "path": "externalId",
          "value": "Eqpj"
      },
      {
          "op": "Replace",
          "path": "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber",
          "value": "Eqpj"
      }
  ]
}

Özellik bayrağıyla

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "replace",
          "path": "emails[type eq \"work\"].value",
          "value": "TestMhvaes@test.microsoft.com"
      },
      {
          "op": "replace",
          "value": {
              "displayName": "Bjfe",
              "name.givenName": "Kkom",
              "name.familyName": "Unua",
              "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:employeeNumber": "Aklq"
          }
      }
  ]
}

Grup üyesini kaldırmak için yapılan istekler:

Özellik bayrağı olmadan

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "Remove",
          "path": "members",
          "value": [
              {
                  "value": "u1091"
              }
          ]
      }
  ]
}

Özellik bayrağıyla

{
  "schemas": [
      "urn:ietf:params:scim:api:messages:2.0:PatchOp"
  ],
  "Operations": [
      {
          "op": "remove",
          "path": "members[value eq \"7f4bc1a3-285e-48ae-8202-5accb43efb0e\"]"
      }
  ]
}
  • Eski sürüme düşürme URL'si: Galeri dışı uygulamada yeni SCIM uyumlu davranış varsayılan duruma geldikten sonra, scim uyumlu olmayan eski davranışa geri dönmek için aşağıdaki URL'yi kullanabilirsiniz: AzureAdScimPatch2017

Eski customappsso işinden SCIM işine yükseltme

Aşağıdaki adımların izlenmesi mevcut customappsso işinizi siler ve yeni bir SCIM işi oluşturur.

  1. Microsoft Entra yönetim merkezinde en az Uygulama Yönetici istrator olarak oturum açın.

  2. Kimlik>Uygulamaları>Kurumsal uygulamaları'na göz atın.

  3. Mevcut SCIM uygulamanızı bulun ve seçin.

  4. Mevcut SCIM uygulamanızın Özellikler bölümünde Nesne Kimliğini kopyalayın.

  5. Yeni bir web tarayıcısı penceresinde adresine gidin https://developer.microsoft.com/graph/graph-explorer ve uygulamanızın eklendiği Microsoft Entra kiracısının yöneticisi olarak oturum açın.

  6. Graph Gezgini'nde aşağıdaki komutu çalıştırarak sağlama işinizin kimliğini bulun. "[object-id]" yerine üçüncü adımdan kopyalanan hizmet sorumlusu kimliğini (nesne kimliği) yazın.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs

    Get Jobs

  7. Sonuçlarda, "customappsso" veya "scim" ile başlayan tam "ID" dizesini kopyalayın.

  8. Aşağıdaki komutu çalıştırarak öznitelik eşleme yapılandırmasını alın, böylece yedekleme yapabilirsiniz. Öncekiyle aynı [object-id] değerini kullanın ve [job-id] öğesini son adımdan kopyalanan sağlama işi kimliğiyle değiştirin.

    GET https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]/schema

    Get Schema

  9. Son adımdaki JSON çıkışını kopyalayın ve bir metin dosyasına kaydedin. JSON, eski uygulamanıza eklediğiniz tüm özel öznitelik eşlemelerini içerir ve yaklaşık birkaç bin satır JSON olmalıdır.

  10. Sağlama işini silmek için aşağıdaki komutu çalıştırın:

    DELETE https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[job-id]

  11. En son hizmet düzeltmelerini içeren yeni bir sağlama işi oluşturmak için aşağıdaki komutu çalıştırın.

POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { "templateId": "scim" }

  1. Son adımın sonuçlarında, "scim" ile başlayan tam "ID" dizesini kopyalayın. İsteğe bağlı olarak, aşağıdaki komutu çalıştırıp [new-job-id] yerine kopyaladığınız yeni iş kimliğini girip 7. adımdaki JSON çıkışını istek gövdesi olarak girerek eski öznitelik eşlemelerinizi yeniden uygulayın.

PUT https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs/[new-job-id]/schema { <your-schema-json-here> }

  1. İlk web tarayıcısı penceresine dönün ve uygulamanız için Sağlama sekmesini seçin.
  2. Yapılandırmanızı doğrulayın ve sağlama işini başlatın.

Eski davranışa geri dönmenize izin veririz ancak customappsso yaptığımız bazı güncelleştirmelerden yararlanamadığını ve sonsuza kadar desteklenmeyebilir.

  1. Microsoft Entra yönetim merkezinde en az Uygulama Yönetici istrator olarak oturum açın.

  2. Kimlik>Uygulamaları>Kurumsal uygulamaları'na göz atın.

  3. Uygulama oluştur bölümünde yeni bir Galeri dışı uygulama oluşturun.

  4. Yeni özel uygulamanızın Özellikler bölümünde Nesne Kimliğini kopyalayın.

  5. Yeni bir web tarayıcısı penceresinde adresine gidin https://developer.microsoft.com/graph/graph-explorer ve uygulamanızın eklendiği Microsoft Entra kiracısının yöneticisi olarak oturum açın.

  6. Graph Gezgini'nde aşağıdaki komutu çalıştırarak uygulamanızın sağlama yapılandırmasını başlatın. "[object-id]" yerine üçüncü adımdan kopyalanan hizmet sorumlusu kimliğini (nesne kimliği) yazın.

    POST https://graph.microsoft.com/beta/servicePrincipals/[object-id]/synchronization/jobs { templateId: "customappsso" }

  7. İlk web tarayıcısı penceresine dönün ve uygulamanız için Sağlama sekmesini seçin.

  8. Kullanıcı sağlama yapılandırmasını normalde yaptığınız gibi tamamlayın.

Sonraki adımlar

SaaS uygulamalarına sağlama ve sağlamayı kaldırma hakkında daha fazla bilgi edinin