代码之家  ›  专栏  ›  技术社区  ›  Sanjewa Ranasinghe

如何在Jboss TEID中配置只读数据源

  •  0
  • Sanjewa Ranasinghe  · 技术社区  · 7 年前

    我在Jboss TEID中配置了一个红移数据源。我想知道如何使我的数据源为只读。我知道如何使用Dataroles(参考:- https://github.com/teiid/teiid-quickstarts/blob/master/vdb-dataroles/src/vdb/portfolio-vdb.xml ). 但这将允许创建非只读的新VDB,这在我的情况下是一个漏洞。我想在域中的数据源配置级别执行此操作。xml。有没有关于如何做到这一点的指导。

    我没有使用TEID设计器,我配置了编辑域的数据源。xml文件。我在域中的Datasources子元素下添加了休闲数据源。xml文件

                <datasource jndi-name="java:jboss/datasources/redshiftDS" pool-name="redshiftDS" enabled="true" use-java-context="true">
                <connection-url>jdbc:redshift://***********.com:5439/schema</connection-url>
                <driver>redshift</driver>
                <security>
                    <user-name>${user_name}</user-name>
                    <password>${pw}</password>
                </security>
                <pool>
                    <!--min-pool-size>
                        10
                    </min-pool-size-->
                    <max-pool-size>
                        5
                    </max-pool-size>
                </pool>
                </datasource> 
    

    是否有任何方法可以在此处将数据源配置为只读。例如,添加以下内容

    <access-permission>
       read-only
    </access-permission>
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Steven Hawkins    7 年前

    从Teiid的角度来看,最简单的替代方法是为任何经过身份验证的所有架构添加数据角色,这些架构您没有用户对其具有写访问权限:

    <data-role name="read-only" any-authenticated="true" allow-create-temporary-tables="true">
        <description>read only access</description>
        <permission>
            <resource-name>schema name</resource-name>
            <allow-read>true</allow-read>
            <allow-execute>true</allow-execute>
        </permission>
    </data-role>
    

    翻译器上有一个标志将它们设置为不可变的,但对它的支持已被删除。

        2
  •  0
  •   Ramesh Reddy    7 年前

    将所有表标记为不可更新。若您使用的是designer,那个么表或列上就有属性,或者您也可以使用DDL进行同样的操作。

    推荐文章