Mandraki Mandraki
Rozpocznij
Powrót do bloga
federation collaboration security enterprise multi-tenancy

Federacja międzyorganizacyjna: współpraca bez kompromisów

Jak protokół federacji Mandraki umożliwia bezpieczną współpracę między odrębnymi organizacjami bez rezygnacji z własności danych ani granic bezpieczeństwa.

Mandraki Team ·

Uwaga: Ten artykuł opisuje architekturę i koncepcję projektową Mandraki. Niektóre omawiane funkcje są wdrażane stopniowo i mogą być jeszcze niedostępne we wszystkich planach.

Współpraca w przedsiębiorstwie nie odbywa się w izolacji. Organizacje pracują z partnerami, klientami, regulatorami, wykonawcami i konsorcjami branżowymi. Osoby, z którymi muszą się Państwo komunikować, często znajdują się poza Państwa organizacją, a często także poza Państwa platformą do współpracy.

Tradycyjne rozwiązania tego problemu nie są zadowalające. Można zapraszać użytkowników zewnętrznych jako gości do Państwa platformy, co zaciera granice bezpieczeństwa i tworzy obciążenie administracyjne. Można utrzymywać konta na wielu platformach, co fragmentuje komunikację. Można też cofać się do poczty elektronicznej, która nie zapewnia żadnej z funkcji współpracy w czasie rzeczywistym wymaganych przez współczesną pracę.

Federacja międzyorganizacyjna Mandraki oferuje lepsze podejście: dwie organizacje mogą współpracować we wspólnych kanałach i połączeniach, a każda z nich zachowuje pełną suwerenność nad własnymi danymi, politykami bezpieczeństwa i kontrolą administracyjną.

Jak działa federacja

Federacja w Mandraki to dwustronna relacja oparta na zgodzie pomiędzy dwiema organizacjami. Żadna ze stron nie może narzucić federacji drugiej. Proces rozpoczyna się od wysłania przez jedną organizację żądania federacji do drugiej.

Żądanie określa, jakie możliwości współpracy organizacja wnioskująca chce udostępnić: wiadomości, połączenia, udostępnianie plików i wspólne kanały. Organizacja docelowa rozpatruje żądanie i może je zatwierdzić z własnym zestawem uprawnień. Obie strony muszą się zgodzić, a każda z nich może zmodyfikować lub odwołać relację w dowolnym momencie.

Po nawiązaniu relacji federacyjnej użytkownicy z obu organizacji mogą uczestniczyć we wspólnych kanałach i połączeniach. Doświadczenie jest płynne — wspólny kanał pojawia się obok wewnętrznych kanałów organizacji, a użytkownicy z federowanej organizacji są wyraźnie oznaczeni plakietką „Zewnętrzny”.

Własność danych we wspólnych kanałach

Wspólny kanał w Mandraki ma jedną organizację‑właściciela. Polityki organizacji‑właściciela regulują ustawienia szyfrowania kanału, polityki przechowywania oraz dostępność funkcji AI. Pozostałe organizacje uczestniczą w kanale, lecz nie kontrolują jego konfiguracji.

Co istotne, każda wiadomość we wspólnym kanale nosi identyfikator originOrgId, który wskazuje, do której organizacji należy nadawca. Zapewnia to identyfikowalność: każda organizacja widzi, które wiadomości pochodzą od jej członków, a które od uczestników zewnętrznych.

Z punktu widzenia zgodności każda organizacja zachowuje dostęp do wiadomości wysłanych przez jej własnych członków. Jeśli jedna organizacja opuści federację, zachowuje swoje wiadomości, tracąc dostęp do wiadomości z drugiej organizacji. Własność danych podąża za granicą organizacji, a nie granicą kanału.

Nadzór i kontrole polityk

Federacja w Mandraki jest zarządzana przez szczegółowe kontrole polityki na poziomie organizacji.

Polityka międzyorganizacyjna. Administratorzy ustalają stanowisko organizacji wobec federacji: wyłączone (federacja niedozwolona), tylko federowane (federacja wyłącznie z zatwierdzonymi organizacjami) lub otwarte (żądania federacji domyślnie akceptowane, z zastrzeżeniem indywidualnego zatwierdzenia).

Lista dozwolonych. Organizacje mogą prowadzić jawną listę zatwierdzonych partnerów federacyjnych. Tylko organizacje z listy mogą nawiązywać relacje federacyjne.

Wymóg zatwierdzenia. Gdy jest włączony, wszystkie żądania federacji wymagają jawnego zatwierdzenia administratora, nawet jeśli organizacja wnioskująca znajduje się na liście dozwolonych.

Uprawnienia per funkcja. Relacje federacyjne mają szczegółowe przełączniki funkcji. Organizacja może zezwolić na wiadomości z partnerem, lecz nie na udostępnianie plików, albo zezwolić na połączenia, lecz nie na wspólne kanały. Te uprawnienia można dostosowywać w dowolnym momencie.

Te kontrole odzwierciedlają rzeczywistość, w której różne organizacje mają różną skłonność do ryzyka i różne wymogi regulacyjne. Instytucja finansowa może federować się ze swoim audytorem wyłącznie w zakresie wiadomości, bez udostępniania plików. Departament administracji rządowej może federować się z organem branżowym we wspólnych kanałach, ale wymagać zatwierdzenia dla każdego nowego uczestnika.

Granice bezpieczeństwa

Federacja nie łączy domen bezpieczeństwa dwóch organizacji. Każda organizacja zachowuje własne klucze szyfrowania, własne zarządzanie użytkownikami, własne kontrole dostępu i własne dzienniki audytu. SFU oraz serwer API wymuszają granice organizacyjne na każdej warstwie.

Gdy we wspólnym kanale wysyłana jest wiadomość, jest ona szyfrowana w kontekście szyfrowania kanału (który należy do organizacji‑właściciela). Użytkownicy z federowanych organizacji, którym przyznano dostęp, mogą odszyfrować i odczytać wiadomość. Relacja federacyjna nie daje jednak dostępu do żadnych innych danych w organizacji‑właścicielu — kanały wewnętrzne, wiadomości bezpośrednie czy ustawienia organizacyjne pozostają całkowicie izolowane.

W przypadku połączeń w kontekście federacyjnym obowiązuje ta sama zasada. Uczestnicy z obu organizacji dołączają do połączenia poprzez standardowy przepływ sygnalizacji WebRTC, uwierzytelniani wobec swoich odpowiednich organizacji. SFU kieruje media między uczestnikami niezależnie od tego, do której organizacji należą, lecz API wymusza, aby dołączać mogli wyłącznie uczestnicy z ważnymi uprawnieniami federacyjnymi.

Tożsamość instalacji i federacja międzyinstalacyjna

Model federacji Mandraki wykracza poza organizacje w obrębie pojedynczej instalacji i obejmuje komunikację pomiędzy odrębnymi wdrożeniami Mandraki — co nazywamy federacją międzyinstalacyjną.

Każda instalacja Mandraki ma unikalną tożsamość, w tym parę kluczy Ed25519 do kryptograficznego uwierzytelniania. Instalacje publikują dobrze znany deskryptor pod adresem /.well-known/eurocom-server, który zawiera ich klucz publiczny, możliwości i wersję.

Gdy dwie instalacje komunikują się, wszystkie ładunki są podpisywane kluczem prywatnym instalacji nadającej i weryfikowane kluczem publicznym instalacji odbierającej. Zapobiega to podszywaniu się i zapewnia autentyczność wiadomości federacyjnych.

Federacja międzyinstalacyjna jest szczególnie istotna dla organizacji z wymogami rezydencji danych. Instalacja Mandraki w Niemczech może federować się z instalacją we Francji, umożliwiając współpracę transgraniczną, a każda z instalacji zachowuje rezydencję danych w obrębie swojej jurysdykcji.

Doświadczenie użytkownika zewnętrznego

Zwróciliśmy szczególną uwagę na to, jak federowani użytkownicy pojawiają się w interfejsie. Użytkownicy zewnętrzni są zawsze wizualnie wyróżnieni wyraźną plakietką „Zewnętrzny”. Nie jest to opcjonalne ani konfigurowalne — jest to wymuszane przez platformę, aby zapobiec nieporozumieniom co do tego, kto bierze udział w rozmowie.

Podczas tworzenia wiadomości we wspólnym kanale obszar redakcji przypomina użytkownikowi, że uczestnicy zewnętrzni mogą zobaczyć ich wiadomości. Przy rozpoczynaniu połączenia w kontekście federacyjnym uczestnicy widzą jasną informację, które organizacje są reprezentowane.

Te decyzje projektowe odzwierciedlają zasadę: federacja powinna ułatwiać współpracę międzyorganizacyjną, ale nigdy nie powinna jej uczynić niewidoczną. Użytkownicy powinni zawsze wiedzieć, kiedy komunikują się ponad granicami organizacyjnymi.

Argumenty za federacją w miejsce kont gości

Wiele platform do współpracy podchodzi do komunikacji międzyorganizacyjnej poprzez konta gości — użytkownicy zewnętrzni otrzymują ograniczone konta w obrębie przestrzeni organizacji‑gospodarza. To podejście ma kilka wad, których federacja unika.

Konta gości tworzą obciążenie administracyjne: ktoś musi utworzyć, zarządzać i ostatecznie dezaktywować każdego gościa. Konta gości zacierają granice bezpieczeństwa: gość istnieje w domenie bezpieczeństwa gospodarza, która może nie być zgodna z politykami bezpieczeństwa własnej organizacji gościa. Konta gości fragmentują komunikację: gość musi utrzymywać odrębne tożsamości i konteksty dla każdej organizacji, z którą współpracuje.

Federacja zachowuje każdego użytkownika w domenie jego własnej organizacji. Uwierzytelnia się on swoimi własnymi poświadczeniami, widzi kanały swojej organizacji obok wspólnych i jest objęty politykami swojej organizacji. Brak kont gości do zarządzania, brak zatartych granic, brak fragmentaryzacji tożsamości.

Dla organizacji europejskich, które muszą współpracować ponad granicami, jednocześnie zachowując suwerenność, federacja jest architekturą, która umożliwia to bez kompromisów.