Teiid Data Security
Чтобы использовать хранилище хранилища, создали хранилище ключей для хранения конфиденциальной информации приложения,
<datasource jndi-name="java:/Test_VDB" pool-name="Test_VDB" enabled="true">
<connection-url>jdbc:teiid:Test_VDB</connection-url>
<driver>teiid</driver>
<security>
<user-name>dvuser</user-name>
<password>${VAULT::ds_creds::mysql_creds::1}</password>
</security>
</datasource>
Я создал свою конфигурацию источника данных для моего VDB следующим образом. В идеале, когда я подключаюсь с клиента, необходимо указать URL-адрес и вышеуказанное имя пользователя и пароль для подключения.
Но что происходит, есть запись в файле standalone-teiid.xml,
<transport name="jdbc" socket-binding="teiid-jdbc" protocol="teiid">
<authentication security-domain="teiid-security"/>
</transport>
который связывает teiid-jdbc с 31000.
Когда я пытаюсь подключиться к VDB с использованием учетных данных хранилища, мой запрос блокируется; скорее, если я пытаюсь подключиться с использованием учетных данных teiid-security, он выполняется. При этом все, что я настраиваю в качестве учетных данных в определении источника данных, не имеет смысла.
Как я могу делегировать свой teiid-security для ссылки на аспекты безопасности, определенные в источнике данных?
1 ответ
Брайан, если я правильно понимаю твой вопрос, ты хочешь получить доступ к своей базе данных mysql через teiid, но все еще используй учетные данные mysql.
Хранилище паролей служит для сокрытия паролей из файлов конфигурации, не более того.
Либо вам придется:
- Используйте источник данных, который вы настроили, но соединитесь с учетными данными teiid (таким образом, базовый сценарий). Вы говорите, вы не хотите этого.
- Используйте расширенные параметры безопасности (например, kerberos auth), чтобы разделить контекст безопасности между сервером Teiid и вашей базой данных. Затем вы можете обратиться к Руководству по безопасности Teiid и использовать один из поддерживаемых вариантов, либо вы можете реализовать собственное решение, реализовав свой собственный LoginModule.