{{indexmenu_n>3}} ====== Technická architektura ====== ===== Architektonické schéma komunikace ===== {{:cs:workflow:technicka_architektura.png?800|}} ===== Architektura řešení ===== Workflow+ je provozován v Microsoft Azure. Databáze Helios iNuvio zůstává v prostředí zákazníka. Přístup k datům zajišťuje služba FirstRemoteConnector instalovaná v interní síti zákazníka. Databáze Helios není nikdy vystavena do internetu a komunikace probíhá pouze přes definované rozhraní konektoru. ===== Síťová komunikace ===== Komunikace mezi uživatelem a Workflow+ probíhá přes HTTPS. Komunikace mezi backendem Workflow+ a FirstRemoteConnector využívá gRPC over HTTP/2 s TLS. Komunikace mezi konektorem a SQL Serverem probíhá v interní síti zákazníka. ===== Firewall a síťové požadavky ===== Na straně zákazníka je vystaven pouze port služby FirstRemoteConnector. Přístup je doporučeno omezit firewall pravidly pouze na IP adresy Workflow+. SQL Server není publikován do internetu. ===== Zabezpečení komunikace ===== Veškerá komunikace je šifrována pomocí TLS. Přenos dat je chráněn proti: * odposlechu, * manipulaci, * neoprávněnému přístupu. Pro produkční provoz jsou používány důvěryhodné certifikáty. Autentizace a autorizace Každý požadavek je autentizován a autorizován. Služba ověřuje identitu volajícího systému a oprávnění k provedení konkrétní operace. Bez úspěšné autentizace není možné číst ani zapisovat data. ===== Přístup k databázi Helios ===== Řešení využívá princip minimálních oprávnění. Konektor může pracovat pouze s: * definovanými VIEW, * uloženými procedurami, * workflow tabulkami, * tabulkami dokumentů. Není vyžadováno oprávnění ''db_owner'' ani ''sysadmin''. ===== Databázová VIEW ===== Čtení dat probíhá standardně prostřednictvím VIEW definovaných zákazníkem. Zákazník může řídit rozsah poskytovaných dat, aplikovat filtry, agregace nebo maskování citlivých údajů přímo na úrovni databáze. ===== Přenášená data ===== Rozsah přenášených dat je vždy řízen konfigurací konkrétní instalace a aktivovanými moduly systému Workflow+. Pokud není aktivována funkcionalita práce s evidencemi, nepřenášejí se data evidencí, dokladů ani příloh. Pokud není aktivována synchronizace dat mezi Workflow+ a Helios iNuvio, neprobíhá synchronizace: * organizací, * staveb, * smluv, * položek smluv, * ekonomických dat. Přenášena mohou být: * data faktur, * objednávek, * smluv, * organizací, * ekonomických údajů, * workflow informací, * dokumentů, * příloh. ===== Princip zpracování dat ===== Služba FirstRemoteConnector neslouží jako dlouhodobé úložiště ani cache obchodních dat systému Helios iNuvio. Data jsou standardně načítána nebo zapisována pouze v okamžiku konkrétního požadavku aplikace Workflow+. Rozsah přenášených dat je řízen: * konfigurací zákazníka, * aktivovanými moduly systému, * oprávněními přidělenými databázovému účtu používanému službou FirstRemoteConnector. ===== Ochrana a minimalizace přenášených dat ===== Architektura řešení je navržena s důrazem na princip minimálního rozsahu přenášených dat. Přenášena jsou pouze data nezbytná pro: * vykonání konkrétní operace, * zobrazení dat, * synchronizační proces. Rozsah dat poskytovaných z databáze Helios může zákazník dále omezovat prostřednictvím databázových VIEW, ke kterým má FirstRemoteConnector přidělena oprávnění. ===== Data přenášená prostřednictvím gRPC ===== Rozsah přenášených dat je řízen konfigurací systému a aktivovanými moduly. {{:cs:workflow:tabulka_data_prenasena_pres_grpc.png?600|}} ===== Workflow integrace z Helios iNuvio ===== Volitelný plugin umožňuje spouštět workflow přímo z Helios iNuvio. Přenášeny jsou pouze identifikátory potřebné pro nalezení záznamu. Obsah dokumentů ani příloh není touto cestou přenášen. ===== Bezpečnostní charakteristiky řešení ===== * Šifrovaná komunikace TLS * Autentizace všech API volání * Autorizace přístupu ke službám * Oddělení databáze Helios od internetu * Omezení SQL oprávnění pouze na potřebné objekty * Řízení rozsahu dat pomocí VIEW * Omezení komunikace firewall pravidly ===== Závěr ===== Architektura řešení umožňuje bezpečnou integraci mezi Workflow+ a Helios iNuvio bez nutnosti vystavení databáze do internetu. Zákazník má plnou kontrolu nad rozsahem dat prostřednictvím VIEW, oprávnění a konfigurace synchronizace. ====== Nastavení oprávnění k privátnímu klíči certifikátu! ====== ===== Příklad chyby při nedostatečných oprávněních ===== * Pokud není uživatel přidán mezi oprávněné subjekty privátního klíče, může při komunikaci dojít k SSL/TLS chybě {{:cs:workflow:chybova_hlaska.png?800|}} ===== Nastavení oprávnění k privátnímu klíči ===== V detailu certifikátu otevřete správu privátního klíče a ověřte, že požadovaný účet je přidán mezi oprávněné subjekty. {{:cs:workflow:certifikat_bez_opravneni.png?800|}} ===== Přidání aplikační služby ===== Pokud oprávnění chybí, přidejte příslušný účet. {{:cs:workflow:certifikat_s_opravnenim.png?800|}}