Przewodniki po funkcjach

Konsola administracyjna

Konsola administracyjna jest warstwą sterowania platformy DataFlow AI — jedną powierzchnią, na której administratorzy platformy zarządzają użytkownikami i rolami, przestrzeniami roboczymi, połączeniami z danymi i poświadczeniami, konfiguracją zabezpieczeń i SSO, kondycją infrastruktury, kosztami chmury oraz ogólnoplatformowym dziennikiem audytu.


Kto korzysta z konsoli administracyjnej

Konsola administracyjna jest wyłączną przestrzenią roboczą persony administratora platformy (Katarzyna Zielińska). Żadna inna persona nie ma do niej dostępu — strażnik tras ogranicza prefiks /admin do persony admin, a kontrolery UserController i WorkspaceController w backendowym metadata-service zabezpieczają każdą metodę przez hasRole('ADMIN').

Jeden niewielki wyjątek: persona opiekuna danych ma ograniczony dostęp do /admin/audit-log i /admin/access-reviews na potrzeby nadzoru nad ładem danych, lecz nie do pełnej konsoli.

Uwaga

Działania w konsoli administracyjnej mają duży wpływ — dezaktywacja użytkownika, rotacja klucza API czy zmiana roli RBAC wpływają na dostęp natychmiast. Każde działanie modyfikujące jest zapisywane w dzienniku audytu.


Układ modułu

Konsola jest zamontowana pod /admin (punkt wejścia src/pages/AdminConsole.tsx). Zastępuje standardowy pasek boczny aplikacji dedykowanym AdminSidebar z pięcioma głównymi pozycjami oraz stopką Szybkie statystyki.

+----------------------------------------------------------+
| DATAFLOW AI                          Katarzyna Z. [v]    |
+----------------------------------------------------------+
| << Back to Platform                                       |
|                                                           |
| ADMINISTRATION                                            |
|   [icon] Users & Workspaces      -> /admin/users          |
|   [icon] Security                -> /admin/security       |
|   [icon] Infrastructure          -> /admin/infrastructure |
|   [icon] Cost Management         -> /admin/costs          |
|   [icon] Environments            -> /admin/environments   |
|                                                           |
| QUICK STATS                                               |
|   Active Users: 47                                        |
|   Services: 8/8 UP                                        |
|   Month Cost: $3,847                                      |
+----------------------------------------------------------+

Pięć sekcji rozwija się w mniej więcej szesnaście podstron i paneli administracyjnych: siatka Użytkowników, siatka Przestrzeni roboczych, Mapowanie grup AD, okno dialogowe Tworzenia/Edycji użytkownika, panel szczegółów Przestrzeni roboczej, konfiguracja SSO/AD, macierz Ról RBAC, Aktywne sesje, Klucze API, dziennik audytu zabezpieczeń, stan klastrów GKE, Kondycja usług, Stan połączeń, Konfiguracja konektorów, Zarządzanie kosztami oraz Zarządzanie środowiskami.

Pulpit konsoli administracyjnej przedstawiający pasek boczny administracji, zarządzanie użytkownikami i szybkie statystyki platformy
Konsola administracyjna jest warstwą sterowania administratora platformy — użytkownicy, zabezpieczenia, infrastruktura, koszty i środowiska za jednym dedykowanym paskiem bocznym.

Zarządzanie użytkownikami i przestrzeniami roboczymi

Trasa: /admin/users — punkt wejścia src/pages/admin/UserManagementPage.tsx.

Ta strona ma dwie karty — Użytkownicy i Przestrzenie robocze.

Karta Użytkownicy

+-----------------------------------------------------------------------+
| Users & Workspaces                              [+ Create User]       |
+-----------------------------------------------------------------------+
| [Users]  [Workspaces]                                                 |
+-----------------------------------------------------------------------+
| Search: [____________]   Role: [All v]   Status: [All v]             |
+-----------------------------------------------------------------------+
| Name           | Email             | Role          | Workspace | Last Active | Status | Actions |
|----------------|-------------------|---------------|-----------|-------------|--------|---------|
| Anna Kowalska  | a.kowalska@plk.pl | Data Engineer | DWH Team  | 09:12 today | Active | [E] [D] |
| Marek Nowak    | m.nowak@plk.pl    | Business Anal.| Analytics | 08:45 today | Active | [E] [D] |
+-----------------------------------------------------------------------+
| Showing 1-10 of 47 users                          [< 1 2 3 4 5 >]   |
+-----------------------------------------------------------------------+

Filtrowalna siatka użytkowników pokazuje awatar (inicjały, pokolorowane według roli), imię i nazwisko, adres e-mail, plakietkę roli, przestrzeń roboczą, względny czas ostatniej aktywności, kropkę statusu (zielona — aktywny / szara — nieaktywny / czerwona — zablokowany) oraz wbudowane akcje Edytuj / Dezaktywuj w każdym wierszu. Pasek filtrów nad siatką filtruje według tekstu wyszukiwania, roli i statusu.

Poniżej siatki znajduje się zwijana tabela Mapowania grup Active Directory — każdy wiersz mapuje grupę AD na rolę platformy i zakres przestrzeni roboczej, wraz z bieżącą liczbą członków.

Grupa ADRola platformyZakres przestrzeni roboczejCzłonkowie
PLK-BI-AdminsOrg AdminWszystkie przestrzenie robocze3
PLK-BI-EngineersDeveloperDWH Team, CDR Processing14
PLK-BI-AnalystsAnalystAnalytics Team8
PLK-BI-OperationsOperatorWszystkie przestrzenie robocze5
PLK-BI-GovernanceData StewardGovernance Team4
PLK-BI-ViewersViewerAnalytics Team13

Okno dialogowe Tworzenia / Edycji użytkownika

Okno dialogowe o szerokości 640 px obsługuje zarówno tworzenie, jak i edycję (tryb edycji jest wykrywany na podstawie obecności użytkownika). Pola: imię i nazwisko (wymagane, min. 2 znaki), e-mail (wymagany, musi pasować do *@plk.pl), rola, przestrzeń robocza, grupy AD, status (Aktywny/Nieaktywny) oraz przełączniki powiadomień dla e-maila, Slacka i dyżuru PagerDuty.

Ścieżka kliknięć — wdrożenie nowego użytkownika

  1. Otwórz /admin/users i pozostań na karcie Użytkownicy.
  2. Kliknij + Create User (prawy górny róg) — otworzy się okno dialogowe użytkownika.
  3. Wprowadź imię i nazwisko oraz adres e-mail w formacie *@plk.pl.
  4. Wybierz Rolę (Data Engineer, Business Analyst, Data Steward, Developer, Operator, Viewer, Workspace Admin lub Org Admin).
  5. Wybierz Przestrzeń roboczą, do której należy użytkownik.
  6. Dodaj dowolne Grupy AD — to one sterują rolą i zakresem przestrzeni roboczej poprzez federację.
  7. Ustaw Status na Aktywny i wybierz kanały powiadomień.
  8. Kliknij Create User. Nowy użytkownik pojawi się w siatce; działanie zostanie zapisane w dzienniku audytu.

Karta Przestrzenie robocze

Karta Przestrzenie robocze pokazuje kafelek dla każdej przestrzeni roboczej — liczbę członków, liczbę środowisk, liczbę potoków danych, wykorzystaną przestrzeń dyskową oraz wartości procentowe wykorzystania limitów CPU/pamięci/dysku. Kliknięcie View Details otwiera panel wysuwany (lub podstronę) z listą członków, podsumowaniem dla każdego środowiska (Development / Staging / Production) oraz paskami limitów zasobów.

Co dzieje się w tle

api/admin.ts obsługuje użytkowników, przestrzenie robocze i dzienniki audytu. Faktyczna autoryzacja to hasRole('ADMIN') na kontrolerach UserController i WorkspaceController w metadata-service. Mapowania grup AD są okresowo synchronizowane z dostawcy federacji LDAP.


Konfiguracja zabezpieczeń

Trasa: /admin/security — punkt wejścia src/pages/admin/SecurityPage.tsx.

Strona Zabezpieczenia ma pięć kart: Konfiguracja SSO/AD, Role RBAC, Aktywne sesje, Klucze API, Dziennik audytu.

Konfiguracja SSO / AD

Widok konfiguracji tożsamości tylko do odczytu z przyciskiem Edit Config. Pokazuje ustawienia dostawcy tożsamości Keycloak/OIDC, ustawienia federacji LDAP Active Directory (domena, serwer LDAP, bazowy DN, bazy wyszukiwania, użytkownik bind, interwał synchronizacji) oraz politykę sesji.

UstawienieWartość
Dostawca tożsamościKeycloak (OpenID Connect / OIDC)
Realmdataflow
Klient SPAdataflow-app (klient publiczny, PKCE S256)
Klient usługowydataflow-api (poufny, client-credentials)
Federacja ADldaps://ad.polkomtel.internal:636, READ_ONLY
Czas życia tokena dostępu15 minut
Bezczynność sesji SSO30 minut
Ochrona przed atakami brute-forceWłączona — blokuje po 5 niepowodzeniach, oczekiwanie do 900 s

Role RBAC

Macierz uprawnień dziewięciu ról systemowych względem domen uprawnień — Potoki danych, Połączenia, Środowiska, Użytkownicy, System. Przycisk + Custom Role dodaje role niesystemowe.

RolaPotoki danychPołączeniaUżytkownicySystem
Org AdminPełnePełnePełnePełne
Workspace AdminPełne (WS)Pełne (WS)ZarządzanieOdczyt
DeveloperCRUD+WykonywanieOdczyt+UżycieBrakBrak
Data EngineerCRUD+WykonywanieCRUDBrakBrak
Business AnalystTworzenie+Odczyt+WykonywanieOdczyt+UżycieBrakBrak
AnalystOdczyt+WykonywanieOdczyt+UżycieBrakBrak
Data StewardOdczyt+ZatwierdzanieOdczytBrakAudyt
OperatorWykonywanie+MonitorowanieOdczytBrakMonitorowanie
ViewerOdczytOdczytBrakBrak

Backendowy RBACService sprowadza to do pięciu kanonicznych poziomów DataFlowRoleADMIN 100, ENGINEER 75, ANALYST 50, STEWARD 40, VIEWER 25 — a dana rola przyznaje każde uprawnienie, którego wymagany poziom roli jest na jej poziomie lub niżej.

Aktywne sesje

Siatka aktualnie uwierzytelnionych sesji — użytkownik, adres IP, lokalizacja, urządzenie/przeglądarka/system operacyjny, czas rozpoczęcia, czas bezczynności — z akcją Revoke w każdym wierszu oraz Revoke All Sessions w nagłówku.

Klucze API

Siatka kluczy API platformy — nazwa, zamaskowany prefiks klucza, zakres, daty utworzenia/wygaśnięcia, status. Status jest oznaczany kolorem: zielony — aktywny, bursztynowy — wygasający (w ciągu 14 dni), czerwony — wygasły, szary — odwołany. Każdy wiersz udostępnia Rotate i Delete; przycisk + Generate Key tworzy nowy klucz.

Ścieżka kliknięć — przegląd dziennika audytu

  1. Otwórz /admin/security i wybierz kartę Dziennik audytu.
  2. Ustaw Zakres dat na okres podlegający przeglądowi.
  3. Opcjonalnie filtruj według Kategorii (Auth, RBAC, API, Security, System, Data), Wagi (INFO/WARN/ERROR/CRITICAL) lub konkretnego użytkownika.
  4. Kliknij Apply Filters.
  5. Przejrzyj wiersze — wiersze WARN są oznaczone bursztynowo, wiersze ERROR — czerwono, wiersze CRITICAL — czerwono z białą plakietką. Każdy wiersz pokazuje znacznik czasu, wagę, kategorię, użytkownika, zdarzenie i szczegóły.
  6. Przeglądaj wyniki strona po stronie; wyeksportuj do SIEM, jeśli potrzebne jest głębsze dochodzenie.

Co dzieje się w tle

Dziennik audytu jest zapisywany przez AuditInterceptor bramy, który podwójnie zapisuje ustrukturyzowaną linię JSON dla SIEM oraz asynchroniczny wiersz w bazie danych dla każdego modyfikującego żądania /api/**. Wpisy są przechowywane przez 365 dni. Kontroler AuditLogController w metadata-service ogranicza dostęp do odczytu do hasRole('ADMIN').


Połączenia i poświadczenia

Połączenia z danymi to opatrzone poświadczeniami łącza między DataFlow AI a źródłowymi i docelowymi systemami Polkomtela (Teradata, Snowflake, SAP HANA, Databricks, Oracle, MSSQL, Sybase, Kafka, GCS oraz źródła plikowe). Administratorzy tworzą i testują połączenia; inżynierowie korzystają z nich w potokach danych w Design Studio.

Połączenia są prezentowane w sekcji Stan połączeń pulpitu Infrastruktury i zarządzane przez kreator połączeń osiągany z poziomu Rynku konektorów.

Ścieżka kliknięć — utworzenie połączenia

  1. Otwórz Rynek konektorów (/marketplace) i wybierz konektor dla systemu docelowego lub otwórz kreator połączeń bezpośrednio.
  2. Kliknij New Connection na kafelku zainstalowanego konektora — kreator otworzy się pod /connections/new?connector={id}.
  3. Wprowadź nazwę połączenia oraz szczegóły hosta/punktu końcowego.
  4. Wprowadź poświadczenia — są one przechowywane w postaci zaszyfrowanej i nigdy nie są zwracane jawnym tekstem.
  5. Wybierz zakres przestrzeni roboczej dla połączenia.
  6. Kliknij Test Connection — platforma wykona sprawdzenie łączności na żywo i zgłosi sukces albo błąd połączenia.
  7. Po pomyślnym sprawdzeniu kliknij Save. Połączenie staje się dostępne do wyboru jako węzeł źródłowy lub docelowy w Design Studio.

Co dzieje się w tle

Kontroler ConnectionController w metadata-service zabezpiecza odczyty pięcioma kanonicznymi rolami; tworzenie, edycja i testowanie wymagają roli ADMIN lub ENGINEER; usuwanie wymaga ADMIN. Kontroler ConnectorController obsługuje katalog rynku. Maskowanie PII na bramie usuwa poświadczenia i wartości wrażliwe z każdej odpowiedzi błędu.


Infrastruktura, koszty i środowiska

Pulpit infrastruktury

Trasa: /admin/infrastructure — punkt wejścia src/pages/admin/InfrastructurePage.tsx. Pojedynczy przewijalny pulpit z czterema sekcjami.

Stan klastrów GKE pokazuje dwa klastry obok siebie — klaster Control Plane (df-control-eu-c2) oraz klaster Data Plane (df-data-eu-c2), oba działające w trybie GKE Autopilot w regionie europe-central2. Każdy panel raportuje nazwę klastra, region, tryb, status działania, liczbę węzłów oraz wersję Kubernetes. Poniżej klastrów dwa wykresy wskaźnikowe Recharts pokazują wykorzystanie CPU (np. 34% z 80 rdzeni) oraz wykorzystanie pamięci (np. 52% z 320 GB), a po nich linia podsumowania podów — liczba podów działających, oczekujących, nieudanych i łączna.

Kondycja usług wymienia mikrousługi platformy ze wskaźnikiem działania/awarii dla każdej usługi; stopka Szybkie statystyki na pasku bocznym odzwierciedla to jako 8/8 UP. Stan połączeń raportuje bieżącą kondycję każdego zarejestrowanego połączenia z danymi. Konfiguracja konektorów prezentuje katalog zainstalowanych konektorów i ich ustawienia dla poszczególnych konektorów.

KlasterRolaRegionTrybWęzły
df-control-eu-c2Control planeeurope-central2Autopilot6
df-data-eu-c2Data planeeurope-central2Autopilot12

Zarządzanie kosztami

Trasa: /admin/costs — śledzenie i prognozowanie kosztów chmury. Strona pokazuje dzisiejsze wydatki, wydatki od początku miesiąca, skonfigurowany budżet, pasek postępu procentu budżetu oraz prognozę na koniec miesiąca. Koszty są wyświetlane w USD dla wydatków chmurowych, z PLN tam, gdzie to właściwe, zgodnie z konwencjami konsoli dla lokalizacji polskiej (daty DD.MM.YYYY). Pulpit główny administratora platformy odzwierciedla tę powierzchnię w CostTrackerCard, a api/monitoring.ts obsługuje także anomalie kosztów — nieoczekiwane skoki oznaczone do zbadania przez administratora.

Zarządzanie środowiskami

Trasa: /admin/environments — promocja i konfiguracja środowisk w Development, Staging i Production. Każda przestrzeń robocza posiada własny zestaw środowisk; panel szczegółów przestrzeni roboczej podsumowuje liczby potoków danych i przydział CPU dla poszczególnych środowisk. Zarządzanie środowiskami to miejsce, w którym administrator promuje konfigurację między poziomami i przegląda stan zasobów dla poszczególnych środowisk.

Co dzieje się w tle

api/monitoring.ts obsługuje podsumowania kosztów i anomalie; stan infrastruktury — kondycja klastrów, usług i połączeń — jest odczytywany z punktów końcowych monitorowania platformy. Wszystkie odczyty są po stronie serwera ograniczone do hasRole('ADMIN').


Mapa podstron administracyjnych

Podstrona / panelTrasa lub powierzchnia
Siatka użytkowników/admin/users (karta Użytkownicy)
Siatka przestrzeni roboczych/admin/users (karta Przestrzenie robocze)
Tabela Mapowania grup ADsekcja na karcie Użytkownicy
Okno dialogowe Tworzenia / Edycji użytkownikamodal na karcie Użytkownicy
Panel szczegółów przestrzeni roboczejpanel wysuwany z karty Przestrzenie robocze
Konfiguracja SSO / AD/admin/security (karta SSO)
Macierz Ról RBAC/admin/security (karta RBAC)
Aktywne sesje/admin/security (karta Sesje)
Klucze API/admin/security (karta Klucze API)
Dziennik audytu zabezpieczeń/admin/security (karta Dziennik audytu)
Stan klastrów GKE/admin/infrastructure
Kondycja usług/admin/infrastructure
Stan połączeń/admin/infrastructure
Konfiguracja konektorów/admin/infrastructure
Zarządzanie kosztami/admin/costs
Zarządzanie środowiskami/admin/environments

Dokumentacja API

ObszarModuł API
Użytkownicy, przestrzenie robocze, dzienniki audytuapi/admin.ts
Podsumowania kosztów i anomalieapi/monitoring.ts
Przeglądy dostępuapi/accessReviews.ts
Odwoływanie dostępuapi/accessRevocation.ts
Połączeniaapi/connections.ts
Konektoryapi/connectors (rynek)

Wszystkie żądania administracyjne przechodzą przez bramę API. Brama weryfikuje token JWT Keycloak, egzekwuje oświadczenie audience i wstrzykuje nagłówki tożsamości X-User-*; nadrzędny metadata-service ponownie weryfikuje token JWT i stosuje zabezpieczenie metod hasRole('ADMIN').

Poprzednia
Centrum nadzoru