2017-12-19 3 views
0

Jboss teiid에서 Redshift Datasource를 구성했습니다. 내 데이터 소스를 읽기 전용으로 만드는 방법을 알고 싶습니다. Dataroles (Ref : - https://github.com/teiid/teiid-quickstarts/blob/master/vdb-dataroles/src/vdb/portfolio-vdb.xml)를 사용하여 VDB 레벨에서 읽기 전용 리소스를 만드는 방법을 알고 있습니다. 그러나이 방법은 읽기 전용이 아닌 새로운 VDB를 만들 수 있으므로 내 경우에 취약점이됩니다. domain.xml의 Datasource 구성 수준에서이 작업을 수행하려고합니다. 이 작업을 수행하는 방법에 대한 지침이 있습니까?Jboss teiid에서 읽기 전용 데이터 소스를 구성하는 방법

저는 teiid Designer를 사용하지 않고 domain.xml 파일을 편집하는 데이터 소스를 구성합니다. 나는 단지 여기 읽을 수 있도록 나는 데이터 소스를 구성 할 수있는 방법이있는 domain.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> 

에서 데이터 소스의 하위 요소 아래에있는 fallowing의 데이터 소스를 추가합니다. 예를 들면 다음과 같습니다.

<access-permission> 
    read-only 
</access-permission> 

답변

0

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> 

그것들은 불변으로 - 그러나 그것에 대한지지는 제거되었습니다.

0

모든 테이블을 업데이트 할 수없는 것으로 표시하십시오. 디자이너를 사용하는 경우 테이블이나 열에 속성이 있거나 DDL을 사용하여 동일한 작업을 수행 할 수 있습니다.

+0

저는 teiid 디자이너를 사용하지 않고 domain.xml 파일의 Datasource 하위 요소 아래에 새 데이터 소스를 추가하는 domain.xml 파일을 편집 중입니다. 내 시나리오에 대한 자세한 내용을 포함하여 질문을 편집했습니다. domain.xml 파일에 추가 할 수있는 질문에서 위에서 언급 한 것과 같은 속성 요소가 있는지 알고 싶습니다. – Sanjewa

관련 문제