Vertica driver for VSCode SQLTools does not provide audit information
Hi,
Recently I start observing sessions in Vertica that does not have any audit info, like client OS username, client_OS_hostname, client type, client version etc.
Those connections show ancient protocol version 3.5
After some digging, it appears Vertica released driver for VSCode SQLTools. New driver is just rebranding of PgSql driver that was there before, and keeps using old protocol.
That is a very poor practice from Vertica. All drivers should provide full audit info, no exception.
Please ask client team to update driver, it has to provide all audit fields on connections.
Thank you
Sergey
0
Answers
@Sergey_Cherepan_1 : I am able to reproduce the issue locally using VSCode and have created a JIRA for it
-[ RECORD 3 ]--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
node_name | v_eonv23_node0001
user_name | dbadmin
client_hostname | 10.100.245.54:54716
client_pid |
login_timestamp | 2024-02-01 16:12:59.428574-05
session_id | v_eonv23_node0001-351873:0x91b0c5
idle_session_timeout |
grace_period |
client_label |
transaction_start | 2024-02-01 16:12:59.490284-05
transaction_id | 45035996274006785
transaction_description | user dbadmin (SELECT UPPER(keyword) AS label, CASE WHEN reserved = 'R' THEN 'RESERVED' ELSE 'UNRESERVED' END AS reserved FROM keywords;)
statement_start | 2024-02-01 16:13:04.719697-05
statement_id |
last_statement_duration_us | 67611
runtime_priority |
current_statement |
last_statement | select * from nodes
ssl_state | None
tls_version |
authentication_method | ImpTrust
client_type |
client_version |
client_os |
client_os_user_name |
client_os_hostname |
client_authentication_name | default: Implicit Trust
client_authentication | 0
requested_protocol | 3.5
effective_protocol | 3.5
external_memory_kb | 0
temp_table_impaired | f
-[ RECORD 4 ]--------------+--------------
@SruthiA big thanks!
Audit things are very scary and has to be done properly.
@Sergey_Cherepan_1 : VSCode SQLTools Vertica driver v0.0.2 has been released. now sessions table should have client information.
https://github.com/vertica/sqltools-vertica-driver/releases/tag/v0.0.2
Great!
Thanks!
Will push users to try today.
Works!
Client type reported as Node.js Driver, and label by default set to VSCode SQLTools Vertica driver. It is as good as it can be.
Audit fields populated properly.
I can see client_os_hostname is populated without domain name. It is strange because everybody else populates with domain. It can be a client OS settings. Quite possible some method in Node.js return hostname without domain.
I think we should circle back to developer and ask to confirm that hostname is populated in full with domain.
Thank you for the update. Sure I will check with engineering on hostname with full domain
The client_os_hostname is the hostname as reported by the os. It is configurable with the right permissions. What client_os_hostname reports is the equivalent to what you get when you run the "hostname" command in your terminal.
That is not hard to check, I will ask user to use VSCode and DbVis at same time, will see what they will report.
Confirming, vsql report same client OS hostname as Node.js driver.
Thank you for help!
awesome. good to know that it works for you.