[
https://jira.jboss.org/browse/TEIIDDES-568?page=com.atlassian.jira.plugin...
]
Steve Hawkins commented on TEIIDDES-568:
----------------------------------------
In general there is not just a single valid configuration. The needed access would
usually be determined along the lines of:
do clients in this role use ODBC and need access to ODBC metadata? If yes, then
pg_catalog should allow read.
do clients in this role use JDBC tools that need access to JDBC metadata? If yes, then a
subset of sys should be allow read (which implies pg_catalog should also be readable).
do clients in this role need access to all metadata including system procedures
(refreshMatViews, getresource, etc.)? If yes then sys should allow read (which implies
the previous two).
Notice for the middle (and most common) need for metadata access, that only a subset of
sys is actually necessary. What Ramesh is suggesting here is to ignore the difference
between to the last two. Alternative approaches include:
1. allow sys/pg_catalog access always, but filter entries that the user does not have a
permission for. System procedures, such as refreshMatView, would check permissions
against the target view rather than expecting a permission to be applied to itself. If
this is taken one step further into resolving then it allow for even "select *"
queries when only a subset of the columns is visible.
2. create a JDBC schema (similar to pg_catalog) to have appropriate views for all JDBC
database metadata queries. Allowing access to JDBC/ODBC metadata would then be
equivalent. There would then be three levels of system access {full, metadata, none}.
Also whatever the applicable permissions are would be added to an existing role, not
create a new one. So in any case there are no addition mapped-role-names.
Provide the ability to control the data role access to the system
tables
------------------------------------------------------------------------
Key: TEIIDDES-568
URL:
https://jira.jboss.org/browse/TEIIDDES-568
Project: Teiid Designer
Issue Type: Task
Components: VDB & Execution
Reporter: Ramesh Reddy
Assignee: Barry LaFond
Priority: Critical
Fix For: 7.1
Currently the Designer does not provide a mechanism to control the system tables through
"data roles" wizard. This needs to be provided. Since the system tables are read
only these guys only need "readonly" permission. Since the
"pg_catalog" is also another variation of "system" tables that needs
to controlled also. However, "pg_catalog" is dynamic view model added during the
deployment time and Designer does not have access to it.
Since
1) providing the fine grained control over system schema is error prone in providing
metadata or not
2) pg_catalog is not available
we propose that this metadata on tooling is controlled through single boolean field
(check box) called "Allow access to system tables". The default of this should
be "true"
As result of checking this box, the following XML fragment needs to be vdb.xml file
<permission>
<resource-name>sys</resource-name>
<allow-create>false</allow-create>
<allow-read>true</allow-read>
<allow-update>false</allow-update>
<allow-delete>false</allow-delete>
</permission>
<permission>
<resource-name>pg_catalog</resource-name>
<allow-create>false</allow-create>
<allow-read>true</allow-read>
<allow-update>false</allow-update>
<allow-delete>false</allow-delete>
</permission>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira