Bosh sahifa Wiki Service provider

Service provider

Service provider — federativ identifikatsiya tizimida foydalanuvchiga xizmat ko‘rsatadigan va uning shaxsini tashqi identity provider bergan tasdiq asosida qabul qiladigan tomon. SAML terminologiyasida u SP deb qisqartiriladi. Masalan, korporativ hujjat tizimi autentifikatsiyani o‘zi bajarmay, tashkilot IdP’sidan SAML assertion olishi mumkin. OpenID Connectda shu rolga yaqin tomon relying party yoki client deb ataladi.

Ishonch konfiguratsiyasi

Service provider IdP bilan ishlashdan oldin federatsiya sozlamalarini oladi. SAMLda entity ID, Assertion Consumer Service URL, IdP login endpointi va signing sertifikatlari metadata orqali almashiladi. SPning o‘zi ham metadata e’lon qilib, callback manzillari hamda talab qilinadigan bindinglarni bildiradi. Entity ID oddiy URLga o‘xshashi mumkin, lekin u avvalo federatsiyadagi noyob mantiqiy identifikatordir.

SP faqat oldindan ishonilgan issuerdan kelgan javobni qabul qiladi. Sertifikatning matematik jihatdan yaroqliligi uning avtomatik ishonchli ekanini anglatmaydi; u ayni IdP konfiguratsiyasiga bog‘langan bo‘lishi kerak. Kalit rotatsiyasida metadata yangilanib, eski va yangi sertifikat o‘tish davrida birga qabul qilinishi mumkin.

Assertionni qabul qilish

Brauzer SAML Response’ni Assertion Consumer Service endpointiga POST qiladi. Service provider quyidagilarni tekshiradi:

  • response yoki assertion imzosi va ruxsat etilgan algoritm;
  • issuer, audience, destination va recipient;
  • amal muddati hamda server vaqti farqi;
  • SP boshlagan so‘rovga tegishli InResponseTo qiymati;
  • assertion identifikatorining avval ishlatilmaganligi.

Tekshiruv tugagach, SP NameID yoki atribut asosida lokal foydalanuvchini topadi. Email manzilini yagona doimiy kalit deb qabul qilish xavfli, chunki u o‘zgarishi yoki qayta berilishi mumkin. IdP issueri va barqaror subject identifikatori birgalikda hisob bog‘lanishini aniqroq belgilaydi.

Lokal hisob va ruxsat

Federativ autentifikatsiya foydalanuvchi kimligini bildiradi, biroq dastur ichidagi barcha huquqlarni avtomatik belgilamaydi. Service provider kelgan guruh yoki rol atributlarini lokal siyosatga xaritalashi mumkin. Yuqori imtiyozli rol uchun atribut manbasi, aniq qiymat va tenant chegarasi tekshiriladi. Noma’lum guruhni administrator roliga fallback qilish xavfsizlik xatosidir.

Just-in-time provisioning birinchi muvaffaqiyatli login paytida lokal hisob yaratadi. Bu boshlashni osonlashtiradi, ammo foydalanuvchi tashkilotni tark etganda hisobni o‘chirish masalasini hal qilmaydi. SCIM yoki boshqa lifecycle integratsiyasi deprovisioningni login oqimidan alohida boshqaradi.

Sessiya boshqaruvi

Assertion bir martalik kirish dalili; service provider undan keyin o‘z sessiya cookie’sini yaratadi. Sessiya identifikatori login paytida yangilanadi, Secure, HttpOnly va mos SameSite atributlari o‘rnatiladi. IdP sessiyasi bilan SP sessiyasi turli muddatga ega bo‘lishi mumkin. Single logout ishlatilmasa, IdPdan chiqish lokal SP sessiyasini darhol tugatmaydi.

Service provider federativ login ishlamay qolganda xato sababini xavfsiz qayd etadi: noto‘g‘ri audience, muddati o‘tgan assertion yoki noma’lum issuer kabi holatlar audit uchun ajratiladi. Tashqi foydalanuvchiga esa ichki trust konfiguratsiyasini oshkor qilmaydigan umumiy xabar beriladi. Yuqori mavjudlik uchun bir nechta SP nusxasi replay holati va sessiya ma’lumotini muvofiqlashtiradi.

Ko‘p tenantli SP

Bitta service provider bir nechta tashkilot IdP’sini qabul qilsa, har konfiguratsiya issuer va tenantga qat’iy bog‘lanadi. Javobdagi email domeniga qarab tenantni o‘zboshimchalik bilan tanlash yetarli emas. ACS umumiy endpoint bo‘lsa ham, request state qaysi IdP va tenant bilan oqim boshlanganini saqlaydi. Bir tenantning signing keyi boshqasining assertionini tasdiqlash uchun ishlatilmaydi. Bu chegaralar federatsiyadagi cross-tenant account takeover xavfini kamaytiradi.

Bog‘liq tushunchalar

SAML, Identity provider, Assertion Consumer Service, Single sign-on, Federation metadata, SCIM, Session