Skip to Content

IT nieuczesane.
archive

> Monthly Archives: Kwiecień 2020

Teams: grupowy bałagan


MS Teams to skomplikowany zwierz

czemu tak trudno jest zrobić kopię zapasową Teams? czemu w zasadzie nie ma aplikacji do migracji Teams (Teams merge, Teams copy etc)? czemu tak długo zajmuje przygotowanie możliwości łatwego przełączania między tenantami?

to tylko niektóre pytania… a dziś chciałem się sqpić na spotkaniach i bezpieczeństwie dostępu oraz pokazać jeden z powodów, będący (częściową) odpowiedzią na powyższe pytania.

Kawałek historii

[można spokojnie pominąć tą część, nudy. część właściwa jest dużo niżej. ]

Teams, jak zresztą cały O365 (a obecnie M365), był tworzony przez developerów dla developerów – aby zaspokoić dziki pęd w kierunq ‚edżajla’. Teamsy w pierwszych dniach swojego istnienia przypominały Internet lat 9o, albo wręcz ten 8otych, kiedy dopiero wpadł w ręce uniwersytetów – cudowna idea nieograniczonego współdzielenia, wszyscy mamy prawo do informacji, dzielmy się wiedzą. jak każda idea – szybko jest weryfikowana przez życie i zaraz zaczęły powstawać firewalle i inne kontrole dostępu. także samo wyglądał wczesny Teams, co w wielu miejscach widać do tej pory – wszystko dla wszystkich, brak kontroli uprawnień, każdy może założyć nowy zespół i każdy może udostępnić każdemu cokolwiek…

…i od razu ‚likwidujemy skype i drogie firmy, macie chwilkę na przesiadkę’. pominę ten fragment historii, bo choć z produktami Microsoft znam się dłużej niż większością znajomych [a na pewno znam je lepiej (; ], to uważam, że Teamsy dopiero teraz zaczynają się nadawać dla rynq Enterprise… <skip>

Teamsy w ciągu ostatniego roq-dwóch zostały mocno uzbrojone, dodana została kontrola kto może je zakładać i trochę narzędzi do governance’u, ale nadal pozostają dziury – jak np. brak kontroli uprawnień na poziomie katalogów/kanałów. tutaj podam link podesłany przez Ewangelista.it i jeszcze filmik jak te uprawnienia przypisać. no więc jest czy nie ma? moje testy zmiany uprawnień na poziomie katalogów SP skończyły się problemami z dostępem – zwłaszcza Web Office, który nie potrafił tych pliqw otworzyć i potrafił się wysypać – ale to było dawno. więc testujcie i zapraszam do podzielenia się doświadczeniami. ja nadal klientom będę póki co odradzał grzebanie na poziomie SP – przynajmniej póty, póki w końcu nie zostanie on zupełni przykryty Teamsami [tak, żeby w ogóle zniknęły odnośniki do SP, a wszystkie operacje będą wykonywane z Teams]. to będzie dla mnie oznaka, że Teams rozumie już uprawnienia na poziomie katalogu, a na tą chwilę, uważam że to jest playground dla szkół.

przykład z niejasnością działania uprawnień w jakiś sposób nawiązuje do najważniejszego przekazu – Teamsy są makabrycznie złożone. Frankenstein by się zawstydził, z jak wielu kawałqw, jak dziwnie połączonych, można zbudować taki organizm. zapewne wszyscy wiedzą, że Teams to de facto GUI, które pod spodem łączy się z Exchange, SharePoint i [dawnym] Skype for Business – częścią telekonferencyjną. każda jest oddzielną aplikacją, z własnym RBAC [kontrolą dostępu/modelem administracyjnym – o którym kiedyś jak będę miał siłę, też opiszę, bo jest niemniej pojechany niż Teamsy], z wieloma portalami administracyjnymi. wszystkie wymienione mają własny sposób zarządzania, nadal nieuporządkowany i w wielu miejscach niespójny – AAD, Exchange, SP, do tego Teams, i całe Security, Compliance i jeszcze kilka innych… tak tak, M365 jest dużo bardziej złożone niż większości osób się to wydaje… a więc Teamsy muszą założyć sesje do [niemal] każdego serwisu, każdy serwis może być inaczej zabezpieczony i w dawnych modelach administracyjnych – zarządzany przez oddzielne działy. rysuje się wam jakiś obrazek?

mówiąc w skrócie – nieźle zamieszane. ale to nie koniec. czas przejść do meritum i zobaczyć że to jest jak cebula – kiedy odkryjemy jedną warstwę złożoności, naszym oczom ukazują się dwie kolejne…

Gdzie są moje dane?

i nie chodzi o pytanie geograficzne, związane ze zgodnością z normami (Compliance) – to można zleźć tutaj. chodzi natomiast o taki scenariusz:

  • CTO zakłada spotkanie Teams Meeting. zaprasza CIO i Head of all Heads.
  • podczas tworzenia spotkania dołączony został plik z prezentacją dot. strategii firmy na najbliższy rok.
  • podczas spotkania panie i panowie wrzucili dodatkowe pliki w okienq rozmowy (chat), zawierające krytyczne dla firmy dane finansowe i plany zaqpowe na nowy rok.
  • przy okazji chwilę porozmawiali na chat i zrobili notatkę ze spotkania, gdzie zapisane zostały propozycje firm, które wezmą udział w przetargu wartym $1.ooo.ooo
  • mógłbym jeszcze dodać whiteboard, który jest ciekawym przypadkiem sam-w-sobie, choćby z tego względu, że nadal znajduje się tylko na serwerach w USA i do tego ostatnio nie działa. ale uznajmy, że właśnie nie działał…

no więc mamy paczkę bardzo wrażliwych danych. gdzie leży problem? zadam zatem kilka pytań – jeśli znasz odpowiedzi – możesz się uważać za osobę znającą Teams *rewelacyjnie* i masz dużą świadomość bezpieczeństwa danych:

  1. kto może do takiego spotkania dołączyć? tylko osoby, który były zaproszone, czy każdy kto ma link, czy każdy kto ma link nawet z poza organizacji?
  2. jak ktoś dołączy do spotkania – czy będzie widział zapis rozmowy i wszystkie pliki?
  3. po zakończeniu spotkania – jak osoby dołączą ponownie, czy będą tam te wszystkie pliki i zapiski i notatki?
  4. biorąc pod uwagę pyt. 1 – czy osoby które nie były zaproszone będą miały dostęp do informacji wrażliwych?

dodałbym jeszcze pytanie o ogólne eDiscovery i DLP dla Teams – ale o tym nie będę dalej pisał, bo chciałem się sqpić na rzeczach dużo bardziej podstawowych – gdzie są te wszystkie pliki i informacje ze spotkań przechowywane? jak są zabezpieczone?? czy tymi zabezpieczeniami da się sterować po spotkaniu?

cebula – cz. I

o tym jak się zachowują regularne Zespoły jest niezła intuicja – w końcu tym zajmują się administratorzy. ale spotkania.. uciekają uwadze. a przecież tam również często są przechowywane wrażliwe dane a znów mamy ‚security by obscurity’ – jakiś totalnie zamieszany system.

zacznę od linka, który wskazuje gdzie te lokalizacje są. nie odpowiada jednak na wiele pytań związanych z zachowaniem. zacznę od kopii tabeli z artqłu, jako dowód na to, jak można zamieszać:

Teams ItemIn Teams Azure Substrate?Additional Storage Location/Notes
Channel conversationsYesA process also saves a copy in hidden Exchange group mailbox for compliance purposes
Files shared during channel conversationsReference to fileA SharePoint site is created for each team. A document library is created for each channel and files are stored here
Emails sent to channelsReference to emailAny emails sent to the channel email are stored in a folder called “Email Messages” within the channels document library
1:1 chat messagesYesIn a hidden folder within user mailbox, only accessible via eDiscovery; each user maintains separate copy of chat transcript
Group chat messagesYesIn a hidden folder within user mailbox, only accessible via eDiscovery; each user maintains separate copy of chat transcript
Files shared during 1:1 and group chatsReference to fileUsers' OneDrive for Business, in a folder called “Microsoft Teams Chat Files”
Images shared during chatsYesStored in separate media store on Azure
Meeting recordingsReference to meeting recordingStored in Stream, in meeting organizer’s account and content automatically shared with all invited people; videos and meeting recordings in Stream are stored within the Stream service, itself an Azure-based service on top of Azure SQL, Blob, and Azure Media Services
Files shared during a meeting chatYesUser's OneDrive for Business, in a folder called “Microsoft Teams Chat Files”
Chat during a meetingYesHidden folder within users’ mailboxes, only accessible via eDiscovery; each user maintains separate copy of chat transcript
Voicemail messagesReference to voicemail messageIn user's mailbox, this includes transcript of voicemail
Notes in WikiYesUser's OneDrive for Business, in a folder called “Wiki” within the “Microsoft Teams Data” folder
TabsYesVaries by type of tab; a tab that includes information from a third party will store the data directly in the system used by that party and only present a view of it
Call detail recordsYesHidden folder within user mailbox; a record is generated for each call and meeting in Teams. For each call or meeting, the following is captured:
- Meeting or call start and end time, and duration
- Call/Meeting join and leave events for each participant
- VoIP join/calls
- PSTN join/dial-in events
- Anonymous join
- Federated user join
- Guest user join
- Calls to voicemail
- Missed or unanswered calls
- Call transfers (represented as two separate calls)
Team and channel structure informationYesNot applicable

w tej tabeli zabrakło jeszcze informacji ‚gdzie są pliki, dołączone podczas zakładania spotkania w Outlook, jako załącznik’. te są w skrzynce pocztowej użytkownika. no i oczywiście regionalizacja – nazwa katalogu na OneDrive będzie zależna od ustawień regionalnych, więc może się okazać, że macie kilka katalogów, w różnych językach.

aby coś zabezpieczyć dobrze spełnione powinny być warunki:

  • musimy wiedzieć GDZIE są dane. dobrze żeby były w pojedynczym miejscu, łatwiej je kontrolować i nakładać takie same zasady
  • powinny być w systemach o ujednoliconych uprawnieniach – bo co oznacza ‚read only’ dla pliq w Outlook a co dla pliq w bibliotece SP?
  • muszą być zarządzane centralnie, z jednego interfejsu, dając pojedynczy widok na wszystko co zabezpieczamy – tak aby niczego nie przeoczyć

Tu mówimy o self-service – to użytkownik jest administratorem spotkania, i to na użytkownika spada odpowiedzialność zadbania o bezpieczeństwo danych na spotkaniu. oceńcie sami, czy użytkownik ma taką szansę?

a administrator – czy ma jakiekolwiek narzędzia aby tym bałaganem zarządzać? stwierdzić gdzie są jakie pliki i jakie mają uprawnienia? jak na to działają polityki współdzielenia nałożone na OD?

kolejna warstwa cebulki – linia czasu.

czas na odpowiedzi do pytań, z kolejną warstwą zamieszania. a to dla tego, że zachowanie jest inne jeśli spotkanie jeszcze trwa, a inne gdy już się zakończyło:

operacjaw trakcie spotkania - osoba z poza organizacjipo zakończeniu - osoba z poza organizacjiw trakcie spotkania - osoba z tej samej organizacjipo zakończeniu - osoba z tej samej organizacji
dołączenie do spotkania z linka zależy od ustawienia lobby - standardowo wyskoczy powiadomienie wymagające potwierdzeniazależy od ustawienia lobby - standardowo nie.taktak
dostęp do pliq załączonego jako załącznik do spotkanianienienienie
dostęp do zapisu chatutylko od momentu dołączenianieod momentu dołączenianie
dostęp do pliq zapisanego w chatnienietaknie
dostęp do notateknienietaknie

a pod spodem – kolejne warstwy

jeśli nadal nadążasz, gratulacje. w takim razie dodam jeszcze kilka elementów, które powodują, że powyższa tabela jest kłamstwem, bo wykonywane zadania były w konkretnej sekwencji i przy uproszczonych założeniach. kolejna porcja wariacji, wpływającej na zachowanie:

  • jest różnica pomiędzy Guest a External. przykładowy link – jednak polecam poszukać innych. już samej nomenklaturze jest problem, która uległa zmianie i nie do końca przemawia, różnice będą inne zależnie od systemu – ale co najważniejsze – użytkownicy zapraszający kogoś np. Pan.Zewnetrzny@innafirma.com – nie ma jasności jaki to rodzaj użytkownika. Guest czy External? a jeśli nawet jakimś cudem wie – pójdźcie i wyjaśnijcie użytkownikowi różnice….
  • jest różnica między osobą dołączającą ‚anonimowo’ [czyli nie posiadającą licencji na Teams], a dołączającą z innej organizacji [posiada normalnie Teams/EXO/OD]. wystarczy spojrzeć gdzie przechowywane są informacje [na OD i EXO] żeby zorientować się, że jeśli osoba, która dołącza nie ma konta licencjonowanego nie ma ani skrzynki ani OD. gdzie zatem będą przechowywane pliki jaki wrzuci lub historia chatu?
  • kto wrzucał pliki – jeśli osoba z poza organizacji czy ktoś z niej? w pewien sposób rozwinięcie poprzedniego punktu – to samo pytanie z innej perspektywy. choć nie sprawdzałem czy jak osoba z poza organizacji załączy plik – czy będzie przechowywany jako cross-reference między OD w innych tenantach, czy zostanie skopiowany?
  • różnica między osobą dołączającą z aplikacji a wersji web i mobilnej – tak, tak, i tu są pewne różnice. na tyle niewielkie [z moich obserwacji], że z punktu widzenia bezpieczeństwa można pominąć.
  • można zamienić typ spotkania – zakładać je jako spotkanie Zespołu, poprzez odpalenie bezpośrednio z kanału Teams. to znów zmienia logikę…
  • jak już ktoś wszedł na to spotkanie – jest dopisywany do listy –  i to jest mega ciekawy hack! aż opiszę go w oddzielnym akapicie

taki scenariusz: spotkanie między C* odbyło się, ale przechwyciłem linka. dołączam do spotkania – niewiele widzę, bo nie mam historii. wychodzę ze spotkania. ale C*s dołączają do spotkanie ponownie… tyle, że informacja o mnie, referencja do mojej skrzynki jest już zapisana w spotkaniu! czyli teraz jak zaczną pisać i udostępniać pliki na chat – będą docierać i do mnie!

czy ja to rozumiem?

pomimo spędzenia jakiejś ilości czasu nad testami – w pewnym momencie nie byłem w stanie stwierdzić czy zachowanie wynika z jakiejś sekwencji, sposobu dostępu, typu użytkownika czy może złej pogody na zewnątrz. mówiąc w skrócie – całość podsumowałbym tak: *to jest nieprzewidywalne*. ponieważ nawet jeśli rozpiszemy te wszystkie permutacje, nic nam to nie da – ani nie przekażemy takiej informacji użytkownikom, ani nie jesteśmy w stanie sensownie tej informacji wykorzystać.

odpowiedź: mniej-więcej rozumiem. i dla tego radzę

co zatem zrobić?

w pierwszej kolejności: poinstruować użytkowników, aby nie dzielili się plikami poprzez chat czy na spotkaniach. pliki powinny być trzymane w bibliotekach a nie w ‚notatkach’ czy chacie. to spowoduje, że będa centralnie przechowywane ze zdeterminowanymi uprawnieniami dostępu.

kolejnym krokiem jest oczywiście zabezpieczenie poprzez Unified Labeling + DLP + Conditional Access ew. IRM a dla bogatych i mocno doświadczonych – MCAS. to wszystko ‚duże systemy’ choć o ostatnich zmianach [przejście z Office na Microsoft w licencjach] część funkcjonalności jest dostępnych dla mniejszych, to są to wdrożenia niełatwe i wymagają bardzo dojrzałego podejścia do całej platformy.

przestraszyłem trochę? dobrze – strach to naturalny sposób na to, aby działać proaktywnie. nie należy jednak panikować – wystarczy że zastosuje się kilka prostych zasad na początek, a potem zacznie się wdrażać wspomniane mechanizmy bezpieczeństwa.

znaleźliście inne ciekawe scenariusze? przetestowaliście wykryliście inne zachowanie lub ciekawostkę? podzielcie się w komentarzach. chętnie zaktualizuję wpis uzupełniając o kolejne niuanse – a tych jak widać nie braqje….

eN.

opcje spotkań Teams i wspólne oglądanie

dodatkowe opcje spotkań Teams

Teams przeżywa boom, jednak wiele opcji pozostaje niezbyt jasnych, drobna porcja nieoczywistości – czyli dodatkowe opcje spotkań Teams.

z niewyjaśnionych przyczyn, pewne opcje spotkania Teams nie są dostępne ‚normalnie’ podczas tworzenia spotkania, a co najmniej jedno z nich jest bardzo przydatne. owa ważna opcja to możliwość zdefiniowania kto może prezentować. standardowo – każdy, bo Teams historycznie jest narzędziem ‚agile’ do pracy ‚współdzielonej’ na równych warunkach. w tym przypadq rzeczywistość weryfiqje konieczność pracy z dziećmi i prowadzenie zajęć – bo o ile na spotkaniu firmowym nikt raczej nie zacznie nagle pokazywać swojego ekranu, ale z dzieciakami wiadomo… czy też raczej właśnie nic nie wiadomo.

ogólnie ‚opcje dodatkowe’ to:

  • kto może nie czekać w lobby – standardowo ‚zewnętrzni’ czekają. niestety braqje opcji ‚nikt’ tak aby każdy musiał poczekać na prezentera /: póki co goście poczekają w poczekali a osoby z tego samego tenanta to ‚bliska rodzina’ która może wejść w dowolnym momencie.
  • dwie opcje dotyczące ‚wdzwanianych’ – opcja wymaga service planu ‚Audio Conferencing’ która umożliwia dołączenia via PSTN (zwykły telefon). opcje pozwalają ustawić lobby oraz wyłączyć powiadomienia głosowe kiedy ktoś dołącza lub opuszcza spotkanie z telefonu (mega rozbijające).
  • no i wspomniana opcja ‚kto może prezentować’.

co ciekawe… większości ustawień standardowych dla tych opcji nie da się wysterować się administracyjnie. są opcje dotyczące ‚wdzwanianych’, dla ułatwienia inaczej się nazywają:

ogólnie dla osób szukających co można w Teams ustawić/włączyć/wyłączyć – przypominam, że jest panel https://admin.teams.microsoft.com …. wraz z przypomnieniem o ostrożności (;

jak dostać się do opcji

do opcji można dostać się dopiero PO założeniu spotkania. trzeba z powrotem wejść do spotkania i wśród wygenerowanych linqw pojawia się ‚Meeting Options’ – można wejść zarówno z kalendarza Outlook czy Teams, bo to po prostu część ‚tekstu’, opisu spotkania.

wspólne oglądanie

na koniec opcja, o którą męczyła mnie córa, dla której Teams to teraz podstawowy sposób na spotkania ze znajomymi – jak wspólnie pooglądać YouTube?

proste ale nieoczywiste. wystarczy mieć możliwość prezentowania (czyli by default każdy), wybrać opcję prezentowania (sugeruję tylko przeglądarkę a nie cały pulpit, choć to nie ma znaczenia dla tego działania) i należy zauważyć, że jest tam opcja, która jest standardowo wyłączona – ‚Include system audio’ – dzięki której dzieciaki mogą wspólnie bawić się Internatami (;

eN.

Jak nie zakładać spotkań MS Teams

opis problemu

spotkanie w Teams każdy umie założyć. nic wielkiego – ot wchodzimy do kalendarza Outlook czy Teams i klikamy ‚new Teams Meeting’. mniej-więcej. ale przy zakładaniu spotkań hurtowo, szukamy drogi na skróty. i nagle zaczynają się dziać dziwne rzeczy – jedne osoby weszły na inne spotkanie niż pozostałe, a to nagle pojawia się jakiś stary chat, który tu nie powinien być, a to nie to spotkanie, którego się spodziewaliśmy? o co chodzi? dla czego tak się dzieje?

przykłady scenariuszy biznesowych przy których tak się działo otrzymałem od osób, które zajmują się organizacją spotkań i robią ich wiele dla różnych grup…

o co cho? czyli jak nie tworzyć spotkań Teams

aby zrozumieć problem musiałem najpierw zrozumieć jak te osoby zakładają spotkania. okazało się, że dla przyspieszenia procesu robią np:

  • copy-paste spotkania zmieniając osoby
  • ‚przesuwanie’ spotkania z przeszłości w przyszłość, żeby je powtórzyć
  • kopiują link do spotkania, tworzą maila do wybranych osób i wysyłają link zwykłym mailem lub zaproszeniem do kalendarza
  • różne kombinacje powyższych metod polegające na ‚jakimś skopiowaniu’ informacji o spotkaniu i wysłaniu go innym kanałem. jednym z najgorszych (co zaraz pokażę) opcji jest założenie spotkania Teams, po czym wklejenie do zaproszenia linku z innego zaproszenia…
  • ciekawym scenariuszem jest – jak zaprosić osoby na spotkanie tak, żeby były w BCC a nie widoczne. ale, to tak tylko na boq…

no więc o co chodzi? dla czego zaczynają się dziać dziwne rzeczy? wynika to z tego czym ‚Teams Meeting’ jest.

nietechniczne, najlepiej traktować każde nowo utworzone spotkanie jako ‚stworzenie nowego pokoju (wirtualnego)’, w którym jest biurko/szafa, na którym zachowywane są materiały używane podczas spotkania – chat, nagrania, załączone pliki etc. to jest clue całości, więc powtórzę, trochę inaczej:

aby móc zachowywać unikalną historię spotkania i materiały z nim związane, dla każdego spotkania tworzony jest oddzielny pokój.

adresem takiego pokoju jest oczywiście link do spotkania, którym zajmę się na końcu – ciekawe dla technicznych. w związq z tym co powyżej, jeśli kopiujemy spotkania – de facto zapraszamy osoby do tego samego pokoju, wraz z jego historią. jednym z najciekawszych scenariuszy jest:

  • założyć spotkanie poprzez ‚new Teams Meeting’
  • wycięcie treści zaproszenia
  • wklejenie linka z innego spotkania, np jakiegoś tam z przeszłości.

w takim scenariuszu są dwa różne linki – jeden zapisany ‚w spotkaniu’ i drugi – wklejony. co techniczne oznacza ‚zapisany w spotkaniu’ za chwilę, a widok normalny to:

i zarówno wchodząc przez opcję wskazaną na obrazq, jak w momencie kiedy kalendarz wyświetla przypomnienie z opcją ‚join online’ – to jest link ‚zapisany w spotkaniu’ i niewidoczny gołym okiem. link ‚wklejony’ jest nieprawidłowym adresem, innego pokoju. w efekcie – część osób kliknie w link, część zatwierdzi popup kalendarza – i mamy dwa spotkania w tym samym czasie.

należy zatem takich ‚przekładanek’ unikać, chyba, że świadomie chcemy trafić do tego samego pokoju, wraz z jego historią.

technicznie

teraz dwie informacje przydatne przy ew. debugowaniu problemów lub po prostu z ciekawości: jak zbudowany jest link to spotkania oraz jak podejrzeć ‚zapisany w spotkaniu’.

konstrukcja linku MS Teams

oto przykładowy (fejkowy) link do spotkania:

https://teams.microsoft.com/l/meetup-join/19%3ameeting_ZjjakKI4NjAtXxY3My00ZYuJLWFmNAbCY2U2YzE3ZGJlYWVm%40thread.v2/0?context=%7b%22Tid%22%3a%22bc6245c1-aabb-9999-b2a1-6219a2cca5dc%22%2c%22Oid%22%3a%2294df7928-cfex-4abc-82cf-1ea2b35afeea%22%7d

na pierwszy rzut okiem widać elementy spotkania i jakieś GUIDy. deszyfracja:

{standardowy link do aplikacji MS Teams} {identyfikator spotkania aka ‚nr. pokoju’} {GUID tenanta AzureAD} {GUID mailboxa w którym jest zapisane. konkretnie ExternalDirectoryObjectId}

czyli adres spotkania składa się z instrukcji: Aplikacja Teams, spotkanie nr „XYZ”, u klienta „contoso.com”, hostowane przez osobę „mr.Hoster”. ta ostatnia wartość wynika z faktu, że informacje dotyczące Teams zapisywane są w skrzynce osoby, która go tworzy. tak, w niewidocznym miejscu, ukryte katalogi. pliki i nagrania oczywiście są na SharePoint – również w ukrytych site’ach, niewidocznych normalnie.

gdzie jest zapisany link do spotkania

a informację ‚zapisaną w spotkaniu’ można podejrzeć w widoku Developer . po włączeniu opcji Developer przejdź do widoq formularza

i tutaj w polach formularza są informacje dotyczące spotkania, m.in. link, który jest pod ‚Join Online’

eN.

zarządzanie użytkownikami w hybrydzie

ponieważ to pytanie wraca do mnie niemal przy każdym projekcie i ponieważ obserwuję problem w zrozumieniu tych mechanizmów, zamieszczam krótkie podsumowanie najważniejszych informacji, które powinny pomóc w przygotowaniu doqmentacji ‚zarządzania użytkownikiem’ oraz administracji w środowisq hybrydowym.

‚Hybryda’

wedle moich obserwacji najważniejsze, a zarazem wymykające się intuicji jest to, że ‚hybryda’ tak na prawdę w większości wdrożeń powinna być nazywa ‚hybrydy’ – w liczbie mnogiej. w standardowym scenariuszu mamy bowiem:

  • hybryda tożsamości – połączenie pomiędzy AD i AzureAD. obiekty wraz z atrybutami synchronizowane są z onprem do Chmury, zapewniając (przy odpowiedniej konfiguracji) pojedynczą tożsamość i SSO (lub same-password w mniej wykwintnej implementacji)
  • hybryda Exchange – połączenie pomiędzy Ex a EXO. to co zaburza intuicję jest fakt, że wiele atrybutów Exchange jest przechowywanych w AD i synchronizowanych w ten sam sposób. jednak włączenie/wyłączenie hybrydy Exchange to w dużej mierze właśnie zdefiniowane czy ten zestaw atrybutów ma być synchronizowany czy też nie.
  • hybryda SfB – czyli połączenie pomiędzy onpremowym Lync/SfB a SOL/Teams. i tutaj podobnie jak w przypadq Exchange – mylącym jest fakt, że w takim środowisq informacje na temat konta SfB są zapisywane w AD i tak synchronizowane.

każdą z nich można mieć lub nie mieć … no ok, hybryda tożsamości musi być w każdym scenariuszu – ale Ex czy SfB to już kwestia wymagań klienta.

teoretycznie ‚hybryda’ powinna dawać jedno, centralne miejsce zarządzania i unifikację… de facto sprawa jest bardziej zagmatwana, ale poniżej przedstawione zasady powinny pomóc

Zarządzanie użytkownikami

zarządzanie użytkownikami w środowisq tożsamości hybrydowej odbywa się w zasadzie w pełni z onprem. w tym przypadq jest zatem najmniej zmian w kwestii procedur zarządzania.

wyjątkiem są:

  • zarządzanie licencjami, ale wtedy na pomoc przychodzi Group-Based Licensing .
  • wymuszenie zmiany hasła
  • do różnic można dorzucić jeszcze rozwiązywanie problemów i audyt – oczywiście zdarzenia logowania i te ‚ruchome elementy’ dzieją się w ramach AAD więc tutaj też trzeba sięgnąć do chmury…. a w zasadzie do obu środowisk na raz (a w ogóle to najlepiej jakiś SIEM zintegrowany).

należy dodać do tego pewne bardziej skomplikowane sytuacje, ponieważ wybór strony gdzie należy wykonać akcję może się różnić zależnie od metody uwierzytelnienia (PH, PTA, ADFS) lub wdrożenia SSPR – ale to są wszystko kwestie z zakresu obsługi hasła czy blokady konta.

Zarządzanie Exchange

ten element jest najbardziej kłopotliwy i hybryda Ex generalnie ma swoje specyficzne ograniczenia… największą pomocą jest tutaj traktowanie oddzielnie skrzynki i użytkownika. w ogólności są dwie perspektywy: administracja serwisem i użytkownikiem. pierwsze jest proste do wyjaśnienia:

  • Ex i EXO są rozdzielne – polityki bezpieczeństwa, mail flow, ustawienia globalne – robi się oddzielnie po obu stronach i nie są to elementy podlegające synchronizacji.
  • sprawa jest dość skomplikowana w przypadq polityki maili (recipient policies) bo … przenikają się częściowo. nie mogę teraz znaleźć linka.. ale w uproszczeniu najlepiej też zarządzać z onprem – ponieważ tam jest konto użytkownika i synchronizowany atrybut ‚proxyAddresses’

przy zarządzaniu pojedynczym użytkownikiem:

  • operacje związane z kontem użytkownika wykonuje się z onprem (aliasy mailowe, zmiany nazw/opisów/informacji)
  • operacje związane ze skrzynką – po tej stronie gdzie jest skrzynka [bo może być przecież albo tu albo tam] (limity skrzynki, statystyki, uprawnienia). w skrócie to, co robi ‚set-mailbox*‚ wykonuje się tam, gdzie ten mailbox leży.

jest kilka ‚dzwinostek’ typu uprawnienie ‚send as’ które wynika z faktu, że jest de facto zapisywane w AD i niesynchronizowane. zarządzanie, czy wspomniane przetwarzanie polis recipient policies, które w specyficznych przypadkach może wydawać się niespójne… są też różnice zależnie czy która wersja jest w OnPrem (zwłaszcza, jeśli to Ex 2o1o).

napisanie spójnych procedur zarządzania dla Exchange Hybrid jest wyzwaniem.

Zarządzanie SfB

do czasu Teamsów sprawę dało się jeszcze ogarnąć. szczęśliwie dla SfB w zasadzie nie ma specjalnie zarządzania

  • konto w hybrydzie trzeba włączyć/wyłączyć, co robi się oczywiście po stronie onprem,
  • wszelkie zarządzanie danymi o userze to de facto zapis do AD – więc też onprem

są oczywiście elementy integracji VoIP, polisy czy inne elementy usługi – i to jest rozdzielnie dla każdej strony.

  • przypisanie polis – to tam, gdzie jest konto SfB, oddzielne są polisy więc zależnie od strony hostującej, tam się te polisy definiuje i przypisuje.

hybryda SfB jest imho najtrudniejsza do zestawienia ale najmniej potem przy niej administracji i ‚ruchomych elementów’ a najtrudniejsze części to równocześnie te najrzadziej wykorzystywane czyli część integracji z VoIP, cloud PBX itp.

procedury administracyjne nie wymagają zatem specjalnych zmian.

na zakończenie

o ile hybryda tożsamości to ‚must have’ dla każdego środowiska opartego o AD, o tyle przejście do cloud-only i rezygnacja z hybrydy jest posunięciem często możliwym a w takim przypadq – sugerowanym. środowiska hybrydowe tylko pozornie są ‚zunifikowane’ – po obu stronach barykady (firewalla) są produkty w innych wersjach i choć mają symulować ‚jedną organizację’ to jest to proteza, która wprowadza sporo niejasności i komplikacji w konfiguracji i zarządzaniu. konieczność wykorzystania PowerShell do części zadań powoduje, że niektóre zadania normalnie wykonywane przez helpdesk, nagle są eskalowane do 2giej linii. przykładem mogą być procedury provisioningu użytkownika w hybrydzie Ex1o z EXO – gdzie nie ma wsparcia zakładania konta ze skrzynką online z interfejsu, a skrzynkę współdzieloną da się tylko zrobić hackując z poziomu atrybutów AD bo nawet PowerShell w tej wersji nie ma opcji ‚-Shared’ która pojawiła się w Ex13.

przejście dla tych usług na cloud-only znacznie ułatwia administrację.

eN.

%d bloggers like this: