External Data Connector

 

External Data Connector Overview

Many customers have valuable information in many different databases in their environment.  It is extremely useful for a audit report, to correlate relevant information need to make these reports easy and useful to understand.  The External Data Connector allows users to create custom tables on the Guardium appliance for enterprise information that is needed in addition to the existing Guardium internal data. This can be done either manually within the GUI or based on an existing table on a database server. Queries and reports can then be created for this information just as if it were pre-defined data.

For example, perhaps a table exists on a database servers containing all employees, their database usernames, and the department to which they belong (e.g. Development, Financial, Marketing, HR, etc.).  If the customer were to upload this table and all its data they could cross-reference this table with Guardium's internal tables to see, for example, which employees from Marketing are accessing the financial database (which may constitute a suspicious activity).

 

Custom Tables

A custom table contains one or more attributes that you want to have available on the Guardium appliance. For example, you may have an existing database table relating encoded user names to real names. In the network traffic, only the encoded names will be seen. By defining a custom table on the Guardium appliance, and uploading data for that table from the existing table, you will be able to relate the encoded and real names.

Before defining a custom table, first verify that the data you need from the existing database is a supported data type. For each database type, the following table summarizes the supported and unsupported data types for uploading to a custom table.

Supported and Unsupported Data Types for Custom Tables

Database

Supported Data Types

Unsupported Data Types

Oracle

float

number

char

varchar2

date

nchar

nvarchar2

 

 

long

clob

raw

nclob

longraw

bfile

rowid

urowid

blob

DB2

char

varchar

bigint

integer

smallint

real

double

decimal

date

time

timestamp

 

blob

clob

longvarchar

datalink

 

 

 

 

 

Sybase

char

nchar

varchar

nvarchar

int

smallint

tinyint

datetime

smalldatetime

text

binary

varbinary

image

timestamp

 

 

 

 

MSSQL

bigint

bit

char

datetime

decimal

float

int

money

nchar

numeric

nvarchar

real

smalldatetime

smallint

tinyint

smallmoney

varchar

unique identifier

text

 

 

 

 

 

 

 

 

Informix

char

nchar

integer

smallint

decimal

smallfloat

float

serial

date

money

varchar

nvarchar

datetime

 

 

text

 

 

 

 

 

 

 

 

MySQL

bigint

decimal

int

mediumint

smallint

tinyint

double

float

date

datetime

timestamp

time

year

char

binary

enum

set

 

longtext

tinyblob

tinytext

blob

text

mediumblob

mediumtext

longblob

longtext

 

Custom Domains

A custom domain contains one or more custom tables. If it contains multiple tables, you define the relationships between tables when defining the custom domain.

 

Custom Queries

A custom query accesses data from a custom domain. You use the Custom Query Builder to create queries against custom domains. Custom queries can then can be used like any other query to generate reports or audit tasks, populate groups, or to define aliases.

 

Define a Custom Table

 

Open the Custom Domain Builder

There are a few different methods to opening the Custom Domain Builder panel.

  1. Click on the Comply tab.

  2. Click on the Custom Domain Builder from the left hand column menu items.

-or-

  1. Click on the Monitor/Audit tab.

  2. Click on the Build Reports tab.

  3. Click on the Custom Domain Builder from the left hand column menu items.

-or-

  1. Click on the Tools tab.

  2. Click on the Report Building tab.

  3. Click on the Custom Domain Builder from the left hand column menu items.

 

Upload a Table Definition

Creating a custom table can be accomplished by the uploading of a table definition by accessing its metadata from the database server on which it is defined.

  1. Open the Custom Domain Builder.

  2. Click on the Upload Definition  button to open the Import Table Structure panel.

  3. Enter a description for the table in the Entity Desc field. This is the name you will use to reference the table when creating a custom query.

  4. Enter the database table name for the table in the Table Name field. This is the name you will use to create the table in the local database.

  5. Enter a valid SQL statement for the table in the SQL Statement field. The result set returned by the SQL statement must have the same structure as the custom table defined. For example, if the custom table contains all columns from the table named my_table, enter  select * from my_table.

  6. Click Add Datasource to open the Datasource Finder in a separate window. This will allow us to define where the external database is located, and the credentials needed to retrieve the table definition and content later in the process.

  7. Use the Datasource Finder to identity the database from which the table definition will be uploaded.

See Datasources for assistance.

  1. Click the Retrieve button to upload the table definition. This will excute the SQL Statement and retrieve the table structure. The SQL request will come from the Guardium Appliance to the External DB. Remember that only the definition is being uploaded and you can upload data later.

 

Manually Define a Table Definition

  1. Open the Custom Domain Builder

  2. Click on the Manually Define  button to open the Define Entity panel.

  3. Enter a description for the table in the Entity Desc field. This is the name you will use to reference the table when creating a custom query.

  4. Enter the database table name for the table in the Table Name field. This is the name you will use to create the table in the local database.

  5. For each column in the table to be defined:

  1. Use the Entity Key drop-down list to identify which column will be used as the entity key

  2. If additional changes are made after the Add button, such as deletion of a column, or changing an attribute, Click on the Apply button to save any changes.

  3. Click the Done button when you have added all columns for the table.

 

Modify a Table Definition

If you modify the definition of a custom table, you may invalidate existing reports based on queries using that table. For example, an existing query might reference an attribute that has been deleted, or whose data type has been changed. When applying changes to a custom table, if any queries have been built using attributes from that table, the Queries are displayed in the Query List panel. Note: You can also use the Modify to view and validate the table structures that were imported.

  1. Open the Custom Domain Builder

  2. Choose a custom table by clicking on the entity label and highlighting it

  3. Click on the Modify button to open the Modify Entity panel.

  4. See Defining a Table Manually for assistance

  5. When applying changes to a custom table, if any queries have been built using attributes from that table, the Queries are displayed in the Query List panel. Use the Query List panel to choose and change queries. You do not have to make all changes immediately as you can always come back and use the Check for Invalid Queries option.

 

Check for Invalid Queries

If you modify the definition of a custom table, you may invalidate existing reports based on queries using that table. For example, an existing query might reference an attribute that has been deleted, or whose data type has been changed. It is a good idea to check for invalid queries after the table modification process.

  1. Open the Custom Domain Builder

  2. Choose a custom table by clicking on the table name and highlighting it

  3. Click on the Invalid Queries button.

  4. The Queries are displayed in the Query List panel. Use the Query List panel to choose and change queries.

 

Purge Data from a Custom Table

Data can be purged from custom tables on the Guardium server on demand, or on a scheduled basis.

  1. Open the Custom Domain Builder

  2. Choose a custom table by clicking on the table name and highlighting it

  3. Click on the Purge button to open the Custom Table Data Purge panel.

  4. Click the Purge All button to purge now.

  5. In the Configuration panel, enter the age of the data to be purged, as a number of days, weeks or months prior to the purge operation date.

  6. Click Run Once Now to run a schedule purge operation once.

  7. Click the Modify Schedule button to open the standard Schedule Definition panel and schedule a purge operation.

  8. Click Done to close the panel.

 

Upload Data to a Custom Tables

  1. Open the Custom Domain Builder

  2. Choose a custom table by clicking on the table name and highlighting it

  3. Click on the Upload Data button to open the Import Data panel.

  4. In the SQL Statement box, enter a valid SQL statement for the table. The result set returned by the SQL statement must have the same structure as the custom table defined. For example, if the custom table contains all columns from the table named my_table, enter  select * from my_table.

  1. Specify, if needed, a column name in the Id Column Name (from the table defined within the datasource) will be used and allow for tracking by ID and be used in conjunction with the internal Guardium fields ^fromID^ and ^toID^.

  1. In the DML command after upload box, enter a DML command (an update or delete SQL statement) with no semicolon, to be executed after uploading the data.

  2. Check the Overwrite box if you wish to have data purged in the custom table before the upload

  3. Click Add Datasource to open the Datasource Finder in a separate window:Use this window to identify one or more databases from which the table data will be uploaded. You may add multiple datasources to upload from multiple sources.

  4. You can click Check/Repair to compare the schema of the custom table to the schema of the meta-data. For central management environments: In a central management environment, the custom table definition resides on the central manager, and the custom table may not exist on the local (managed unit) database. Click the Check/Repair button to check if the custom table exists locally, and create one if it does not.

  5. Click the Save button.

  6. To upload data to this custom table, do one of the following:

  1. Click the Save button

 

Schedule Custom Data Uploads

Once a custom table definition is in place, data can be uploaded to custom tables on the Guardium appliance on a scheduled basis. Note that there is only one job that does this, and all custom tables that have been flagged for scheduled data upload will be updated by the scheduled job, one at a time. The total amount of disk space reserved on the Guardium appliance for custom tables is 4GB.

  1. Open the Custom Domain Builder

  2. Choose a custom table by clicking on the table name and highlighting it

  3. Click on the Upload Data button to open the Import Data panel.

  4. Mark the Add to Tables Scheduled to Upload Data checkbox to add this table to the schedule of custom table uploads.

  5. Click the Modify Schedule button to open the standard Schedule Definition panel and modify the schedule.

  6. Click Done when you are finished.

 

Define a Custom Domain

 

Create a Custom Domain

After defining one or more custom tables, define a custom domain so that you can perform query and reporting tasks using the custom data. The information collected is organized into domains, each of which contains a different type of information relating to a specific area of concern: data access, exceptions, policy violations, etc. There is a separate query builder tool for each domain. Custom domains allow for user defined domains and can define any tables of data uploaded to the Guardium appliance.

  1. Open the Custom Domain Builder

  2. Click the Domains button to open the Domain Finder panel.

  3. Click the New button to open the Custom Tables Domain panel.

  4. Enter a Domain Name. Typically, you will be including a single custom table in the domain, so you may want to use the same name for the domain.

  5. The Available Entities box lists all custom tables that have been defined (and to which you have access). Select an entity. Optionally, click the (Filter) tool to open the Entity Filter and enter a Like value to select only the entities you want listed, and click Accept. This closes the filter window and returns you to the Custom Tables Domain panel, with only those entities matching the Like value listed in the Available Entities box. Select the entity you want to include.

  6. Click the right arrow button to move the entity selected in the Available Entities list to the Domain Entities list.

  7. To add an entity to a domain that already has one or more tables, follow the procedure outlined below. You will need to use the Join Condition to define the relationship between the entities.

For each additional entity:

 

  1. Select the Timestamp attribute for the custom domain entity.

  2. Click the Apply button

 

Modify a Custom Domain

The goal is to create a linkage between external data and the internal data.  

  1. Open the Custom Domain Builder

  2. Choose the Custom Table that is in the domain you wish to clone

  3. Click the Domains button to open the Domain Finder panel.

  4. Click the Modify button to open the Custom Tables Domain panel.

  5. See Defining Custom Domains and Linking External Data to Internal Data for assistance

  6. Click the Apply button to save the changes.

  7. Back to top

 

Remove a Custom Domain

  1. Open the Custom Domain Builder

  2. Choose the Custom Table that is in the domain you wish to clone

  3. Click the Domains button to open the Domain Finder panel.

  4. Click the Remove button to remove the custom domain

  5. Back to top

 

Clone a Custom Domain

  1. Open the Custom Domain Builder

  2. Choose the Custom Table that is in the domain you wish to clone

  3. Click the Domains button to open the Domain Finder panel.

  4. Click the Clone button to open the Custom Tables Domain panel.

  5. Change the Domain Name to reflect the new domain

  6. See Defining Custom Domains and Linking External Data to Internal Data for assistance

  7. Click the Apply button to save the changes.

  8. Back to top

 

Link External Data to Internal Data

The goal is to create a linkage between external data and the internal data.  

  1. Open the Custom Domain Builder

  2. Choose the Custom Table that has your external data

  3. Click the Domains button to open the Domain Finder panel.

  4. Click the Modify button to open the Custom Tables Domain panel.

  5. Click the Filter icon next to the Available Entities

  6. Un-check the Custom box for the filter and optionally fill in a Like condition to filter entity names, click the Accept button

  7. Select an entity from the Available Entities that you would like to link with your external data

  8. Select the Field that will be used to join data with your external data

  9. Highlight the table from the Domain Entities that contains your external data

  10. Select the Field that will be used to join data with the internal data

  11. Click the Add Field Pair to add the relationship

  12. Click the double arrow ">>" to add the internal table to the Domain Entities list.

  13. Click the Apply button to save the changes.

  14. Back to top

 

Working with Custom Queries

This section describes how to open the Custom Query Builder. See Building Queries and Building Reports for assistance in defining a query and building a report. Use the Custom Query Builder to build queries against data from custom domains, which contain one or more custom tables.

  1. Click the Tools tab.

  2. Click the Report Building tab.

  3. Click the Custom Query Builder item in the left column menu to open the Domain Finder.

  4. Select a custom domain from the list

  5. Click the Search button to open the Query Finder

  6. To view, modify or clone an existing query, select it from the Query Name list, or select a report using that query from the Report Title list.

  7. To view all of the queries defined for a specific custom table, select that custom table from the Main Entity list and click the Search button (only the custom tables included in the selected custom domain will be listed).