Final hurdle in setting up Auth0 as SAML for Immerse HeavyAI access - "Database heavyai does not exist"
Hello Heavyai team!
I'm looking for some help troubleshooting this issue.
I've had success recently in setting up a custom domain and SSL for an AWS AMI server implementation of Heavy Immerse. And now I've moved on to trying to implement Auth0 and SAML login.
I followed this helpful article here and I can successfully get through to Step 25.
I have setup Auth0 and SAML with a Rule, created a new test user at Auth0 and in Heavydb, and I am redirected to my Auth0 login screen when heading to https://my-test-domain.com:6273 - so all good so far!
However, I get a login error from Auth0/SAML when I try to login with my new test user
So as advised in the guide, I've checked the Heavydb.info logs and this shows the user is correctly created and associated to their email address via the Auth0/SAML interaction, as per the guide.
Here's the logs:
2023-07-18 I 1 1 1 SamlServer.cpp:332 User testuser@my-test-domain.com connecting with SAML authentication
2023-07-18 I 1 1 1 SysCatalog.cpp:3549 Roles for user testuser@my-test-domain.com are up to date with remote identity provider
2023-07-18 E 1 1 1 DBHandler.cpp:927 Database heavyai does not exist.
2023-07-18 I 1 1 1 DBHandler.cpp:912 stdlog connect 0 2 {"client","user","db","exception"} {"http:heavyaiweb.heavyai-backend:48270","","","Database heavyai does not exist."}
So it seems the remaining issue is that something is trying to access a database called "heavyai" - which simply does not exist in this AWS AMI setup. The database is of course called "omnisci".
The guide referenced above does seem to mix the two db names inconsistently throughout, probably from updating legacy docs over time, so I ensured to make sure that I've been referring only to my "omnisci" database when required - which is the only one on the server.
Nowhere can I see in my workflow a reference to a heavyai database. So I'm now not sure what to do or where to go to ensure that Auth0/SAML is trying to login to the right omnisci database or whatever service at the login attempt (DBHandler.cpp ?) is trying to find a "heavyai" database.
Any help or guidance would be greatly appreciated. Many thanks!
Gareth
Screenshot of the AWS AMI image server default admin and omnisci db for clarity.
-
I have "solved" this for now by creating a new database "heavyai"
i.e. CREATE DATABASE heavyai (owner = 'admin');
and then SQL command:
grant access on database heavyai to DBaccess_only_role;
And my test user is able to successfully login to Immerse now via the Auth0 login!
I guess I could also have renamed the "omnsci" database to "heavyai" instead.
I'm still unsure what was looking for the "heavyai" database in the first place
So my question now is, How can I use any custom named database (i.e. other than "heavyai") and still have the Auth0/SAML login successfully? Is there a parameter I can change somewhere? -
Hi GTBX,
Recently, we have undergone a rebrand, changing our brand from Omnisci to Heavy.AI. Consequently, we renamed other components, such as the default database name, which has changed from 'Omnisci' to 'HeavyAI.'
If you are using version 6 or above, please note that your database might have been upgraded from a 5.x version.
You can rename the database from 'Omnisci' to 'HeavyAI' if needed. The instructions for this process are included in the 'Upgrade to Heavy.AI 6.0' documentation.
Simply connect to the database with an administrative account like 'admin' and issue this simple command:
ALTER DATABASE omnisci RENAME TO heavyai;
After that, restart the HeavyDB service (or your Docker container) for the changes to take effect.
Regards,Candido
Please sign in to leave a comment.
Comments
3 comments