Zarządzanie tożsamością, dostępem i standardy SAML

Publish date:

Security Assertion Markup Language (SAML) i zarządzanie dostępem

Tomasz Dahms,
Infrastructure Engineer w Cloud Infrastructure Services w Capgemini Polska

Po niedawnej sytuacji, kiedy to Trybunał Sprawiedliwości UE unieważnił Tarczę Prywatności USA-UE, kontrole dostępem należy rozważyć nie tylko z perspektywy wycieku danych, nieautoryzowanego dostępu czy włamań, ale także odzwierciedlając warunki prawne przetwarzania danych.

Korzystając z protokołu Security Assertion Markup Language (SAML) zarządzanie dostępem można rozpatrywać na kilku poziomach – podczas wyboru dostawcy tożsamości, zaraz po uwierzytelnianiu autoryzacja może nastąpić po stronie dostawcy tożsamości (IdP, Identity Provider), po stronie dostawcy treści (SP, Service Provider) oraz w trakcie użytkowania treści, już wewnątrz aplikacji. Dobrze zaprojektowany dostawca treści stara się odświeżyć odpowiedź SAML u dostawcy, który może podjąć próbę ponownego uwierzytelnienia.

Decyzja o przekierowaniu do dostawcy tożsamości
Jeśli dostawca treści pozwala na logowanie z użyciem kilku dostawców tożsamości (z reguły pytając o email i dopiero wtedy przekierowując do właściwego IdP), może już wtedy walidować samą domenę, bądź nazwę użytkownika z tzw. „czarną listą”, gdzie nie wykona przekierowania do dostawcy i odpowie błędem. Można ten krok również wykorzystać, pytając dodatkowo o zgodę na przetwarzanie danych, bądź informując o konsekwencjach prawnych nieautoryzowanego dostępu (to często można spotkać podczas logowań do systemów operacyjnych). Walidacja na tym poziomie jest bardzo rzadko wykorzystywana przez dostawców treści.

Dostęp po stronie dostawcy tożsamości
Dostawcy tożsamości oferują warunkowy dostęp do aplikacji, bazując na atrybutach podmiotu (Identity, np. użytkownika) już po udanym uwierzytelnieniu. Zanim jakiekolwiek informacje dotrą do dostawcy treści, IdP weryfikuje (zazwyczaj na bazie członkostwa w grupach) czy podmiot powinien móc przekazać odpowiedź SAML do SP. Coraz częściej używa się tu grup dynamicznych, oferowanych przez wielu IdP, których członkostwo określa się na podstawie atrybutów podmiotu. Wbrew pozorom, banalny zabieg przekazania odpowiedzi SAML należy rozważyć w kontekście przekazywanych informacji, czyli czy bezpiecznym jest zaprezentować te dane na końcówkę (której ruch może być podsłuchany), oraz czy końcówka powinna przekazać te dane do SP. Może się okazać, że wymagania prawne (np. RODO) ograniczają przekazywanie danych, które musiałyby być zawarte w odpowiedzi SAML. W takiej sytuacji już IdP wyświetli komunikat o błędzie uwierzytelnienia.

Najprostszym przykładem jest grupa użytkowników, która wyraziła zgodę na przetwarzanie ich danych przez firmę trzecią, która zarządza dostawcą treści. Kontrola administratorów nad przesyłaniem odpowiedzi SAML będzie też niezbędna w przypadku podejrzenia dostawcy treści o wyciek danych bądź włamanie.

Dostęp po stronie dostawcy treści
Bardzo często dostawca treści współpracując z dostawcą tożsamości określa warunki dostępu. Powtórzenie autoryzacji na bazie odpowiedzi SAML może okazać się również dobrym rozwiązaniem, zabezpieczając dostawce treści przed nieprawnym przetwarzaniem danych podmiotu. Dostawca treści często określa wymagania zawartości, które powinny być zawarte w odpowiedzi SAML. Tutaj odpowiedzialność po stronie administratora IdP skupia się na przekazaniu minimalnych i niezbędnych informacji, nawet jeśli dostawca treści jest wewnętrzny, a nie firmą trzecią. Przykładowo, jeśli przekazywana jest lista członkostwa w grupach, powinna być ona ograniczona (transformowana) tak aby zawierała tylko niezbędne grupy z których dostawca treści korzysta.

Dostęp do treści
W rozbudowanych aplikacjach kontrola dostępu nie ogranicza się do samego dostępu do zawartości treści, ale także do konkretnych treści, uprawnień, funkcji, bądź licencji. Idealnym rozwiązaniem, z punku widzenia zcentralizowania nadawania dostępu, jest zawarcie wszystkich niezbędnych informacji w odpowiedzi SAML. Wtedy kontrola dostępu do aplikacji i wszystkich jej funkcji zostaje po stronie administratora podmiotu. Zdarza się że firma trzecia zarządza dostępem, wtedy lista kontroli dostępu (ACL, access control list) znajduje się po stronie administratora dostawcy treści, zazwyczaj w formie adresów email podmiotów. W przypadku kontroli licencji, często stosuje się rozwiązania hybrydowe – administrator podmiotu nadaje dostęp do treści i funkcji poprzez grupy, a administrator podmiotu przypisuje wykupione licencje do podmiotów po stronie dostawcy treści.

Odebranie dostępu
Dużo ważniejszym aspektem od nadania dostępu jest jego odebranie. Jeśli dostęp do treści jest walidowany po stronie dostawcy treści, jest to dużo łatwiejsze i pozwala na szybszą reakcję. Jeśli dostęp jest nadawany przez dostawcę tożsamości, a więc zawarty w odpowiedzi SAML – bezpieczeństwo takiej aplikacji zależy czy dostawca treści jest dobrze zaprojektowany – jeśli odpowiedź SAML jest przechowywana np. w cookies przeglądarki powinien podjąć decyzję o odświeżeniu odpowiedzi w przypadku zmiany warunków (np. otwarciu nowej sesji, zmiany adresu IP końcówki). Tutaj IdP może wykonać ocenę ryzyka – podjąć decyzję o ponownym uwierzytelnieniu, wymaganiu MFA bądź odmowie dostępu. Niestety, znalezienie złotego środka między bezpieczeństwem aplikacji, a komfortowym korzystaniem z niej jest bardzo trudne. Jeśli dostawca treści jest źle zaprojektowany, to nawet funkcjonalność SAML2 Single Logout nie zabezpieczy przed użyciem poświadczeń przechowywanych w cookies przeglądarki przed dostępem ponieważ nie poprosi o nową odpowiedź SAML.

Mając powyższe na względzie, równie ważne jest co zawiera odpowiedź SAML, jak i to, czy dobrze dostawca treści z niej korzysta i stara się o jej aktualność.

***

W kolejnym artykule opowiem o wykorzystaniu Azure WebApp do testowania i rozwiązywania problemów z dostawcami tożsamości korzysatjącymi z SAML.

Powiązane posty

Projects & Consulting

Migracja stacji roboczych do Windows 10 – korzystna konieczność

Date icon 2020-09-02

Wybór właściwej metody aktualizacji do systemu operacyjnego Windows 10.

Projects & Consulting

5 kroków jak wprowadzić User Experience

Date icon 2020-07-14

Co zyskują pracownicy dzięki UX w miejscu pracy i jak korzysta na tym cała organizacja?