Informator Techniczny nr 115 24-09-2009 INFORMATOR TECHNICZNY WONDERWARE Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory Pakiet ActiveFactory zawiera zestaw programów umoŝliwiających szybkie i łatwe przygotowania analiz i raportów z danych gromadzonych w serwerze Wonderware Historian. KaŜdy z programów w pakiecie ActiveFactory zawiera przeglądarkę zmiennych, która standardowo umoŝliwia dostęp do wszystkich zmiennych, których wartości moŝna analizować. Istnieje jednak moŝliwość, aby przeglądarka wyświetlała tylko te zmienne, które mają zostać udostępnione określonym uŝytkownikom. W tym celu naleŝy wykonać następujące kroki: 1.) Definicja nowego uŝytkownika w Microsoft SQL Server. 2.) Definicja prywatnej grupy w jednym z programów pakietu ActiveFactory. 3.) Konfiguracja w Microsoft SQL Server nowych obiektów. Definicja nowego uŝytkownika w Microsoft SQL Server Podczas łączenia się z serwerem Wonderware Historian w celu pobierania danych do raportów wymagana jest znajomość nazwy i hasła uŝytkownika. Jest to niezbędne zabezpieczanie przed niekontrolowanym udostępnianiem danych osobom niepowołanym. Podczas instalowania Wonderware Historian w bazie Runtime automatycznie definiowani są następujący uŝytkownicy: Nazwa Hasło Rola Uprawnienia wwdbo wwdbo Public Właściciel bazy danych posiadający pełne uprawnienia wwadmin wwadmin wwadministrators Odczyt i modyfikacja danych, tworzenie nowych obiektów aaadmin aaadmin aaadministrators Odczyt i modyfikacja danych, tworzenie nowych obiektów wwpower wwpower wwpowerusers Odczyt danych i tworzenie nowych obiektów aapower aapower aapowerusers Odczyt danych i tworzenie nowych obiektów wwuser wwuser wwusers Odczyt danych aauser aauser aausers Odczyt danych Definicja i konfiguracja uŝytkowników dostępna jest z poziomu programu SQL Server Management Studio słuŝącego do zarządzania serwerem Microsoft SQL 2005. ASTOR Sp. z o.o. Dział Oprogramowania Przemysłowego ul. Smoleńsk 29, 31-112 Kraków tel.: 012 428-63-30 fax: 012 428-63-09 e-mail: wonderware@astor.com.pl http://www.astor.com.pl
Po uruchomieniu programu SQL Server Management Studio naleŝy zalogować się do serwera z uprawnieniami administratora serwera. Po lewej stronie naleŝy rozwinąć drzewo konfiguracji serwera zaznaczając opcję Logins. Następnie naleŝy kliknąć prawym przyciskiem myszy i wybrać opcję New Login. Pojawi się okno Login - New. W polu Name naleŝy wpisać nazwę nowego loginu np. Operator1 i zaznaczyć SQL Server authentication. W polu Password naleŝy wpisać hasło dla definiowanego loginu np. enigma, w polu Confirm password ponownie wpisać hasło, a więc enigma. Opcja Enforce pas- 2
sword policy powinna zostać odznaczona. W opcji Default database naleŝy wybrać bazę Runtime. W opcji Default language naleŝy pozostawić <default>. W kolejnym kroku, po lewej stronie naleŝy zaznaczyć User Mapping. Wtedy po prawej stronie naleŝy zaznaczyć pole w kolumnie Map, przy bazie Runtime. Wtedy w polu User pojawi się nazwa uŝytkownika o takiej samej nazwie jak zdefiniowany login, czyli Operator1. Dla bazy Runtime w polu Default Schema naleŝy kliknąć na ikonę z trzema kropkami. Pojawi się okno Select Schema, w którym naleŝy nacisnąć przycisk Browse. 3
Na liście naleŝy zaznaczyć schemat [wwusers] i nacisnąć OK. Przyciskiem OK naleŝy opuścić równieŝ okno Select Schema. W oknie Database role membership for Runtime naleŝy zaznaczyć opcję Public oraz wwusers. W oknie Login Properties Operator1 naleŝy nacisnąć przycisk OK. 4
Na liście pojawi się zdefiniowany login. Środowisko SQL Server Management Studio naleŝy pozostawić otwarte. Definicja prywatnej grupy w ActiveFactory W kolejnym kroku naleŝy uruchomić jeden z programów w pakiecie ActiveFactory np. Trend. W menu naleŝy wybrać Narzędzia, a następnie Serwery. Pojawi się okno Konfiguracja listy serwerów. 5
W polu Serwer naleŝy wpisać nazwę komputera lub adres IP komputera z Wonderware Historian. W polu UŜytkownik naleŝy wpisać operator, a w polu Hasło zdefiniowane hasło dla uŝytkownika Operator1, a więc enigma. Pozostałe opcje naleŝy pozostawić bez zmian. NaleŜy nacisnąć przycisk Dodaj. Po prawej stronie w oknie Lista serwerów naleŝy zaznaczyć dodany serwer i nacisnąć Zamknij. 6
Po lewej stronie w oknie Lista zmiennych naleŝy zaznaczyć grupę Private Groups, kliknąć prawym przyciskiem myszy i wybrać opcję Nowa grupa. Pojawi się moŝliwość zdefiniowania nowej grupy np. Maszyna1. 7
W oknie Lista zmiennych naleŝy zaznaczyć grupę All Analog Tags w grupie Public Groups. Wtedy, w oknie Zmienne, znajdującym się poniŝej okna Lista zmiennych, moŝna zaznaczyć, a następnie przeciągnąć do grupy Maszyna1 np. najczęściej raportowane zmienne. Po zaznaczeniu grupy Maszyna1 pojawią się tylko wybrane zmienne, ale nadal w pozostałych grupach będą wyświetlane wszystkie inne zmienne. Aby to zmienić naleŝy wykonać czynności opisane poniŝej. Konfiguracja w Microsoft SQL Server nowych obiektów Korzystając ze środowiska SQL Server Management Studio naleŝy w bazie Runtime skonfigurować nowe obiekty typu rola, schemat i widok. W tym celu naleŝy uruchomić SQL Management Studio i zalogować się z uprawnieniami administratora. 8
Po lewej stronie naleŝy rozwinąć Databases, Runtime, Security, Roles, zaznaczyć Database Roles, kliknąć prawym przyciskiem myszy i wybrać opcję New Database Role. Pojawi się okno do konfiguracji nowej roli. W polu Role Name naleŝy wpisać nazwę nowej roli np. denypublic, a w polu Owner naleŝy wpisać dbo. 9
NaleŜy kliknąć przycisk Add. Pojawi się okno Select Database User or Role, w którym naleŝy wybrać przycisk Browse. W oknie Browse for Objects naleŝy zaznaczyć uŝytkowników, dla których ma zostać ograniczony widok w przeglądarce zmiennych w pakiecie programów ActiveFactory. W tym przypadku będzie to Operator1. Przyciskiem OK naleŝy zamknąć okno Browse for Objects, a potem Select Database User or Role, a następnie Database Role New. 10
Nowa rola zostanie dodana do listy. W kolejnym kroku naleŝy zdefiniować nowy schemat. W tym celu po lewej stronie naleŝy rozwinąć Databases, Runtime, Security zaznaczyć Schemas, kliknąć prawym przyciskiem myszy i wybrać opcję New Schema. 11
Pojawi się okno do konfiguracji nowego schematu. W polu Schema Name naleŝy wpisać dokładnie taką samą nazwę pod jaką została zdefiniowana nowa rola, a więc denypublic. Podobnie w polu Schema Owner naleŝy wpisać dokładnie taką samą nazwę pod jaką została zdefiniowana nowa rola, a więc denypublic. 12
Po lewej stronie naleŝy zaznaczyć Permissions i kliknąć przycisk Add. Pojawi się okno Select Users or Roles, w którym naleŝy wybrać przycisk Browse. W oknie Browse for Objects naleŝy zaznaczyć uŝytkowników, dla których ma zostać ograniczony widok w przeglądarce zmiennych w pakiecie programów ActiveFactory. W tym przypadku będzie to Operator1. Przyciskiem OK naleŝy zamknąć okno Browse for Objects, a następnie Select Users or Role. 13
W oknie Schema New, przy zaznaczonej po lewej stronie opcji Permissions, naleŝy po prawej stronie w grupie Explicit permissions for Operator1 zaznaczyć w kolumnie Grant następujące pola: Execute, Insert, Select oraz Update. Przyciskiem OK naleŝy zamknąć okno Schema New. 14
Nowy schemat zostanie dodany do listy. W kolejnym kroku naleŝy zdefiniować nowy widok o nazwie Tag w schemacie denypublic, którego celem będzie zastąpić tabelę Tag ze schematu dbo, która standardowo wykorzystywana jest przy wyświetlaniu zmiennych w przeglądarce pakietu programów ActiveFactory. W ten sposób widok Tag będzie pokazywał tylko te zmienne, do których uŝytkownik Operator1 powinien mieć dostęp, a więc naleŝące do prywatnej grupy utworzonej w programach pakietu ActiveFactory przez uŝytkownika Operator1. 15
Aby zdefiniować nowy widok, po lewej stronie naleŝy rozwinąć Databases, Runtime, zaznaczyć Views kliknąć prawym przyciskiem myszy i wybrać opcję New View. Pojawi się okno Add Table, w które przyciskiem Close naleŝy zamknąć. 16
Po lewej stronie powinno być dostępne okno Properties. JeŜeli nie pojawi się, to naleŝy nacisnąć ikonę z paska narzędziowego. W oknie Properties, w polu Schema, korzystając z rozwijanej listy naleŝy zmienić dbo na denypublic. 17
Z kolei w polu, którym znajduje się SELECT FROM naleŝy wpisać następujące zapytanie SQL SELECT TG.TagName, TG.IOServerKey, TG.StorageNodeKey, TG.wwTagKey, TG.TopicKey, TG.Description, TG.AcquisitionType, TG.StorageType, TG.AcquisitionRate, TG.StorageRate, TG.ItemName, TG.TagType, TG.TimeDeadband, TG.DateCreated, TG.CreatedBy, TG.CurrentEditor, TG.SamplesInActiveImage, TG.AIRetrievalMode, TG.Status, TG.CalculatedAISamples, TG.ServerTimeStamp, TG.DeadbandType, TG.CEVersion FROM dbo.tag AS TG INNER JOIN dbo.tagref AS TR ON TR.wwTagKey = TG.wwTagKey INNER JOIN dbo.privategrouptag AS PGT ON TR.wwDomainTagKey = PGT.wwDomainTagKey WHERE (PGT.UserKey = dbo.faauser_id()) Ikoną dyskietki naleŝy zapisać wprowadzone zmiany. Pojawi się okno Choose Name, w którym naleŝy wpisać nazwę widoku Tag i nacisnąć OK. UWAGA : Wymagane jest, aby widok został zapisany pod nazwą Tag. W przeciwnym wypadku zrealizowana konfiguracja nie przyniesie oczekiwanych rezultatów. Nowy widok zostanie dodany do listy. 18
Modyfikacja uprawnień zdefiniowanego uŝytkownika W kolejnym kroku naleŝy zmienić dla zdefiniowanego uŝytkownika schemat. W tym celu po lewej stronie naleŝy rozwinąć Databases, Runtime, Security, Users zaznaczyć Operator1, kliknąć prawym przyciskiem myszy i wybrać opcję Properties. 19
W oknie Database User Operator1, naleŝy kliknąć na ikonę z trzema kropkami znajdującą się po prawej stronie pola Default Schema. Pojawi się okno Select schema, w którym naleŝy wybrać przycisk Browse. 20
W oknie Browse for Objects naleŝy zaznaczyć denypublic i nacisnąć OK. Przyciskiem OK naleŝy zamknąć równieŝ okno Select Schema. W oknie Database User Operator1 na liście Database role membership naleŝy zaznaczyć role aapowerusers, aausers, wwpowerusers, wwusers, oraz deny Public. Przyciskiem OK naleŝy zakończyć edycję uŝytkownika. Środowisko SQL Server Management Studio moŝna zamknąć. 21
Testowanie skonfigurowanych ustawień W kolejnym kroku naleŝy uruchomić jeden z programów w pakiecie ActiveFactory np. Trend. W menu naleŝy wybrać Narzędzia, a następnie Serwery. Pojawi się okno Konfiguracja listy serwerów. Po prawej stronie w oknie Lista serwerów naleŝy zaznaczyć dodany serwer i nacisnąć Zamknij. Po lewej stronie w oknie Lista zmiennych naleŝy zaznaczyć serwer, wtedy w oknie Zmienne, znajdującym się poniŝej, zostanie pokazana tylko ta lista zmiennych, która została wybrana do grupy prywatnej Maszyna1 przez uŝytkownika Operator1. Wszystkie pozostałe zmienne nie są dostępne. 22