We are planning to implement a chat interface in our portal application using the Genie Conversational API, where clients, partners, and internal users can ask questions in natural language and receive answers based on our data.
I have the following questions:
1. Authentication and Authorization for External Users
We don't want to create Databricks accounts for our clients and partners. Is there a way to pass a user identifier through the Conversational API that would allow us to programmatically enforce access controls? Specifically, we need to verify whether external users have permission to access specific tables and data without them having direct Databricks credentials.
2. Row-Level Security / Data Filtering
Our clients and partners have different data access levels (row-level permissions). Is there a mechanism within Genie to apply data filters based on the authenticated user before processing queries? For example:
- Partner A should only see records related to their organization
- Client B should only access their specific subset of data
How can we ensure Genie respects these data-level permissions when generating responses?
3. Limiting Genie's Response Scope
Currently, Genie answers generic questions outside our business domain, even with system-level instructions configured. For example, it will respond to questions like "What is the weather in Chicago?"
Is there a way to restrict Genie to only answer questions related to our specific data and business context, and politely decline or redirect out-of-scope queries?
We tried system-level instruction in the genie space, but it didn't work out.