Ochrona danych w Blue Prism

Ochrona danych osobowych to jedna z najważniejszych kwestii w obsłudze procesów biznesowych. Narzędzia do automatyzacji posiadają mechanizmy zapewniające szyfrowanie danych. Jest jednak kilka kwestii, na które należy zwrócić uwagę podczas projektowania rozwiązań RPA.
W tym wpisie zostaną poruszone trzy kwestie:
- Szyfrowanie kolejki
- Opcje zapisywania logów
- Szyfrowanie bazy danych
Szyfrowanie kolejki
Szyfrowanie kolejki można włączyć/wyłączyć w zakładce Settings/Workflows/Work Queues. Służy do tego checkbox Encrypted. Zmiany tej opcji można dokonać w dowolnym momencie, nawet jeśli mamy już zapisane elementy w kolejce.

Dane wpisane do kolejki przed zaznaczeniem Encryped nie zostaną zaszyfrowane. Szyfrowanie działa dla nowych elementów kolejki od chwili zaznaczenia checkboxa.
Należy pamiętać o tym, że szyfrowaniu podlegają wyłącznie dane umieszczone w Item Data. Blue Prism nie daje możliwości szyfrowania tagów, logów czy komunikatów błędów.
Opcje zapisywania logów
Blue Prism, dla każdej operacji, daje możliwość włączenia/wyłączenia logów lub logowania jedyne błędów.

Dodatkowo istnieje opcja wykluczenia z logów parametrów. Powinniśmy ją rozważyć, jeśli parametry zawierają dane osobowe. Negatywnym skutkiem takiego działania będzie utrudniony proces analizy błędów.
Szyfrowanie bazy danych
Rozwiązaniem pozwalającym zachować dane w bazie danych (w logach, tagach czy komunikatach błędów) może być właściwość bazy danych używanej prze Blue Prism. Microsoft SQL Server od wersji 2008 w edycjach Evaluation, Developer, Enterprise, Datacenter oferuje Transparentne Szyfrowanie Danych (TDE). Włączenie tej opcji nie wymaga żadnych zmian w kodzie istniejących aplikacji. Odszyfrowanie następuję podczas wczytania danych do pamięci.
TDE włączamy z poziomu klienta bazy danych poniższym skryptem (źródło):
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<Password>';
go
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
go
USE BluePrismDatabase;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE BluePrismDatabase
SET ENCRYPTION ON;
GO
Po tej operacji warto zrobić backup:
USE master;
BACKUP MASTER KEY TO FILE = 'c:\temp\exportedmasterkey'
ENCRYPTION BY PASSWORD = '<Password>';
GO
BACKUP CERTIFICATE MyServerCert TO FILE = 'c:\temp\MyServerCert'
GO
UWAGA
Każde przedsiębiorstwo może mieć własne wytyczne gromadzenia i przetwarzania danych. Trzeba to wziąć pod uwagę projektując rozwiązania informatyczne. Oprogramowania działające wyłącznie w Intranecie może mieć inne wymagania pod kątem danych niż publicznie dostępna strona internetowa. W przypadku pracy z danymi wrażliwymi sugeruję skontaktować się z osobą odpowiedzialną za bezpieczeństwo danych w przedsiębiorstwie.