Tedarik işlemini bir yaşam döngüsü sözleşmesi olarak ele alın
SCIM, kimlik bilgilerinin nasıl değiştirildiğini standartlaştırabilir, ancak bir platformun SCIM'i desteklediğini söylemek onun tam erişim yaşam döngüsünü oluşturmaz. Gereksinimler, hangi kaynakların ve özniteliklerin desteklendiğini, kullanıcıların kiracılara nasıl bağlandığını, rol değişikliklerinin ne anlama geldiğini ve devre dışı bırakmanın mevcut erişimi nasıl etkilediğini tanımlamalıdır. Sağlama yanıtı, her oturumun, dışarı aktarma izninin veya API kimlik bilgilerinin iptal edildiğinin otomatik olarak kanıtı değildir.
RFC 7643 Kullanıcı ve Grup kaynakları da dahil olmak üzere SCIM çekirdek şemasını tanımlar. RFC 7644 Protokol işlemlerini ve provizyona ilişkin hususları tanımlar. Bu birincil spesifikasyonlar, EmailAuth belirli bir uç nokta veya yaşam döngüsü davranışını uyguladığının kanıtı değil, gereksinimler için bir kelime dağarcığı sağlar. Bu yazının hazırlanmasında hiçbir kullanıcı oluşturulmadı, değiştirilmedi, devre dışı bırakılmadı veya silinmedi.
Tanımlayıcıları ve kiracı bağlamayı oluşturun
Hizmet sağlayıcının kaynak tanımlayıcısını, kullanıldığı yerde yetkilendirme istemcisinin korelasyon tanımlayıcısını ve işlemin geçerli olduğu kiracıyı kaydedin. RFC 7643 kimliği harici kimlikten ayırır; rastgele bir e-posta adresiyle değiştirilmemelidirler. Bir kullanıcının adresi veya görünen adı, yeni bir kişinin eski bir hesabı devralması gerektiği anlamına gelmeksizin değişebilir. Uygulamanın mevcut bir kaynağı nasıl tanımladığını ve bir güncelleştirmenin başka bir kiracının kullanıcısını hedeflemesini nasıl engellediğini tanımlayın.
RFC 7644 tek bir evrensel kiracılık uygulaması belirlemeden çoklu kiracılığı ve istemcilerin kiracılarla ilişkilendirilmesini ele alır. Gerçek tedarikçinin bağlama modelini açıklamasını isteyin: Kimliği doğrulanmış ön hazırlık istemcisinin hangi kiracı ve kaynak kümesi üzerinde çalışabileceği. Bir talepte sağlanan kiracı tanımlayıcısı tek başına yeterli yetkilendirme değildir. Uygulamanın, kimliği doğrulanmış istemci ile talep edilen kapsam arasındaki ilişkiyi liste, arama ve yaşam döngüsü işlemleri de dahil olmak üzere kurması gerekir.
Desteklenen kaynakları ve güncelleme davranışını belirtin
Hangi Kullanıcı ve Grup özniteliklerinin kabul edildiğini, döndürüldüğünü, değiştirilemez, gerekli veya göz ardı edildiğini sorun. Belge uzantıları ve grup üyeliğinden uygulama izinlerine kadar her türlü eşleme. Bir grup nesnesinin başarılı bir şekilde güncellenmesi tek başına ilgili uygulama rolünün değiştiğini kanıtlamaz. Erişim davranışı ayrıca onaylanmalıdır. Her SCIM özellikli platformun aynı filtreleri, PATCH işlemlerini veya keşif uç noktalarını desteklediğini varsaymaktan kaçının.
RFC 7644 alma, oluşturma, değiştirme, değiştirme ve silme gibi işlemleri tanımlar ve hizmet sağlayıcı yapılandırma keşfini açıklar. Desteklenen yetenekler hakkında kesin sorular sormak için bu mekanizmaları kullanın. Geçerli olduğu yerde belgelenmiş hata davranışını ve eşzamanlılık desteğini koruyun. Bir işlem desteklenmiyorsa, genel bir SCIM etiketini onu kullanma izni olarak değerlendirmek yerine desteklenen alternatifi kaydedin. Bu çalışmada hiçbir uç nokta keşfi veya istek yürütme gerçekleşmedi.
İptali icat etmeden engelliliği tanımlayın
RFC 7643 Kullanıcı etkin özelliğini, kesin anlamı hizmet sağlayıcı tarafından belirlenen bir yönetim durumu göstergesi olarak tanımlar. Bu kritik bir yeterliliktir. active öğesinin false olarak ayarlanmasının, tüm uygulamalardaki her etkin oturumu, API belirtecini veya yetkilendirilmiş entegrasyonu geçersiz kılacağı varsayılamaz. Gereksinim, amaçlanan erişim sonucunu belirtmeli ve gerçekte neyin değiştiğini gösteren mevcut platform kanıtlarını talep etmelidir.
Devre dışı bırakılmış kullanıcıları, silinmiş kaynaklardan ve grup üyeliğinin kaldırılmasından ayırt edin. Her birinin erişim, tutulan denetim kayıtları ve daha sonra yeniden etkinleştirme açısından farklı sonuçları olabilir. Tedarikçinin mevcut oturumların nasıl davrandığını, iptalin ne kadar acil olduğunu ve hangi etkileşimli olmayan kimlik bilgilerinin SCIM'in yaşam döngüsünün dışında olduğunu açıklamasını isteyin. Platform ayrı bir kontrol altına alma eylemi gerektiriyorsa, "çıkarma tamamlandı" durumunun arkasına saklamak yerine bu eylemi ve yetkilendirmesini belgeleyin.
Rol değişikliklerini ve korunan erişimi doğrulayın
Rol azaltma özellikle yararlı bir testtir çünkü önbelleğe alınmış veya eksik yetkilendirme güncellemelerini ortaya çıkarabilir. İzin verilen ilk eylemi tanımlayın, yetkili yaşam döngüsü değişikliğini bir donanım ortamında uygulayın ve artık izin verilmeyen eylemin platformun belgelenen zamanlamasına göre reddedilip reddedilmediğini kontrol edin. Test açıklamasını çalıştırıldığı iddiadan ayrı tutun. Yalnızca kullanıcı arayüzü etiketinin değişip değişmediğini değerlendirmeyin.
Azure'un çok kiracılı kimlik kılavuzu kimlik, yetki ve yetkileri ayırır. Bu ayrımı gereksinimlere uygulayın: SCIM, uygulama kaynak yetkilendirmesi ve ticari yetkilendirme kararları verirken kullanıcı veya grup verilerini taşıyabilir. Kaldırılan bir lisans, devre dışı bırakılan hesap ve kaldırılan yönetici rolü mutlaka aynı işlem değildir. Her kararın hangi sisteme ait olduğunu ve tutarsız durumların nasıl tespit edildiğini kaydedin.
Erişim matrisi çalışma sayfası
Temel hazırlık istemcisini, bağlı kiracıyı, hedef kaynağı, operasyonu, amaçlanan rolü veya yaşam döngüsü durumunu, beklenen yetkilendirme sonucunu ve kanıt konumunu içeren bir matris oluşturun. Okuma, arama, dışa aktarmayla ilgili uygulama erişimi, yazma ve kullanıcı yaşam döngüsü olaylarını içerir. Kiracılar arası sızıntının aynı sonuçların arkasına saklanmaması için ayırt edilebilir sentetik verilere sahip en az iki izole kiracı fikstürü kullanın. Önerilen tasarım için gerçek kiracı verilerine gerek yoktur.
Başka bir kiracının kullanıcısına hitap etmeye çalışan bir istemci için olumsuz durumlar, başka bir kiracının kayıtlarını döndüren bir arama, yönetimsel yazma işlemlerinin kullanılabilir durumda bırakılması ve desteklenmeyen erişimi koruyan devre dışı bırakılmış bir kimlik için olumsuz durumlar ekleyin. Bunlar savunma amaçlı kabul durumlarıdır, canlı bir hizmeti izinsiz olarak incelemeye yönelik talimatlar değildir. SCIM güncelleme yanıtı ve uygulama yetkilendirme kararı farklı kanıt öğeleri olduğundan, desteklenen API'yi ve uygulama davranışını ayrı ayrı kaydedin.
Kurgusal teşhis: aktif oturumu olan devre dışı bırakılmış bir kayıt
Kurgusal bir değerlendirici, bir test Kullanıcı kaynağının etkin değil olarak işaretlenmesinden sonra başarılı bir yanıt görür. Değerlendirici başlangıçta ayrılma işleminin tamamlandığını işaretler. Gereksinimleri inceleyen kişi, güncellemeden önce mevcut olan uygulama oturumunun hâlâ raporları okuyabilip okuyamayacağını veya bir dışarı aktarma işlemi başlatıp başlatamayacağını sorar. Ekip, gösterinin tam erişim sonucunu değil, yalnızca bir sağlama işleminin kabul edildiğini kanıtladığını fark eder.
Önerilen bir sonraki adım, tedarikçinin mevcut oturum davranışına danışmak ve onaylanmış fikstür bazlı kontrolleri çalıştırmaktır. Ayrı bir iptal gerekiyorsa, yaşam döngüsü prosedürü yetkili bir sahibi ve doğrulamayı içermelidir. Bu senaryo kurgusaldır: Etkin olmayan bir kullanıcı, etkin oturum veya başarısız iptal gözlemlenmemiştir. Herhangi bir gerçek platformda bir kusur ileri sürmek yerine, eksik bir kabul kriterini göstermektedir.
Mutabakat ve istisna yönetimini planlayın
Kullanıcıları çoğaltmadan veya erişimi genişletmeden, sağlama hatalarının nasıl ortaya çıkacağını, yeniden deneneceğini ve uzlaştırılacağını tanımlayın. İstemcinin desteklenen eşzamanlılık kontrollerini kullanıp kullanmadığını ve çakışan değişikliklerin nasıl ele alındığını kaydedin. Geçici bir senkronizasyon hatası sessizce kalıcı izin istisnasına dönüşmemelidir. Aynı şekilde, işlem ve sağlayıcının davranışı anlaşılmadan yeniden denemeler güvenli olarak tanımlanmamalıdır.
Katalog, kiracılar arası okumaları, dışarı aktarmaları, yazmaları ve kullanıcı yaşam döngüsü değişikliklerini kapsayan bir erişim matrisi ve negatif testler gerektirir. Bu orijinal testler açık kalır. Bu yazı, uygulama kanıtı değil, önerilen bir matris ve gereksinimleri sağlar. Gerçek kişi tarafından yapılan uzman incelemesi, kaynağın uygulanabilirliği, üretim yolları, erişilebilirlik ve sahibinin serbest bırakılması da açık kalacaktır. Yayımlanabilir bir yetenek bildirimi, gerçek kullanıcı sırları veya kiracı verilerinin ifşa edilmediği, mevcut desteklenen davranışı ve gerçek platformdan alınan yetkili sonuçları gerektirir.