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.
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.
- URL (SCIM Uyumlu): aadOptscim062020
- SCIM RFC başvuruları:
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.
Microsoft Entra yönetim merkezinde en az Uygulama Yönetici istrator olarak oturum açın.
Kimlik>Uygulamaları>Kurumsal uygulamaları'na göz atın.
Mevcut SCIM uygulamanızı bulun ve seçin.
Mevcut SCIM uygulamanızın Özellikler bölümünde Nesne Kimliğini kopyalayın.
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.
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
Sonuçlarda, "customappsso" veya "scim" ile başlayan tam "ID" dizesini kopyalayın.
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
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.
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]
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" }
- 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> }
- İlk web tarayıcısı penceresine dönün ve uygulamanız için Sağlama sekmesini seçin.
- Yapılandırmanızı doğrulayın ve sağlama işini başlatın.
SCIM işinden customappsso işine düşürme (önerilmez)
Eski davranışa geri dönmenize izin veririz ancak customappsso yaptığımız bazı güncelleştirmelerden yararlanamadığını ve sonsuza kadar desteklenmeyebilir.
Microsoft Entra yönetim merkezinde en az Uygulama Yönetici istrator olarak oturum açın.
Kimlik>Uygulamaları>Kurumsal uygulamaları'na göz atın.
Uygulama oluştur bölümünde yeni bir Galeri dışı uygulama oluşturun.
Yeni özel uygulamanızın Özellikler bölümünde Nesne Kimliğini kopyalayın.
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.
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" }
İlk web tarayıcısı penceresine dönün ve uygulamanız için Sağlama sekmesini seçin.
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