RSA Identity Governance and Lifecycle 6.9.1 Application Role-to-Entitlement mapping rejection with a MySQL data source
3 years ago
Originally Published: 2017-01-05
Article Number
000040222
Applies To
RSA Product Set: RSA Identity Governance and Lifecycle (RSA G&L)
RSA Version/Condition: 6.9.1
Third Party Product:  MySQL
Third Party Product Version: My SQL v5.1.6
Issue
When collecting data from a MySQL data source, the Entitlement collector is rejecting the Application Role-to-Entitlement relationships, with the following message:
Entitlement Data Validation: Resource Data is invalid.  Fully Qualified Name cannot be NULL
Cause
The issue is caused by MySQL bug 40256 (Column alias doesnt work in v5.1.6 connector), where it states the following:

Description:
The DB driver is not recognizing the column alias names, it is referring original column names instead. To use column alias, we have to explicitly set useAliasMetadaBehavior driver property to true. We would rather prefer to have it have default value of true.

How to repeat:
Try the following query:

SELECT company_name AS customer FROM db_customers

'customer' is not recognized, but company_name is recognized.

Suggested fix:
Force the driver url to have useOldAliasMetadataBehavior as true (which has default value of false in v5.1.6)

ex:

url = "jdbc:mysql://localhost:3306/mydb?useOldAliasMetadataBehavior=true"
Resolution
Force the driver URL to use the old metadata behavior by setting useOldAliasMetadataBehavior as true (which has a default value of false in v5.1.6).  For example, 
url = "jdbc:mysql://localhost:3306/mydb?useOldAliasMetadataBehavior=true"