透過SSH Tunnel連線PostgreSQL
若要透過SSH tunnel
將您的PostgreSQL資料庫連線至Commerce Intelligence,您必須執行下列幾個動作:
正在擷取Commerce Intelligence public key retrieve
public key
用於授權Commerce Intelligence Linux使用者。 現在,您將建立使用者並匯入金鑰。
- 移至 Manage Data > Connections 並按一下 Add a Data Source。
- 按一下PostgreSQL圖示。
- 在
PostgreSQL credentials
頁面開啟後,將Encrypted
切換設定為Yes
。 這會顯示SSH
設定表單。 public key
位於此表單下方。
在本教學課程中保持此頁面開啟 — 您需要在下一節及結尾使用它。
以下示範如何瀏覽Commerce Intelligence以擷取金鑰:
允許存取Commerce Intelligence IP位址 allowlist
為了連線成功,您必須將防火牆設定為允許從IP位址存取。 它是54.88.76.97/32
,但它也在PostgreSQL
認證頁面上。 請參閱上方GIF中的藍色方塊。
正在建立Commerce Intelligence的Linux使用者 linux
只要包含即時(或經常更新)資料,這可以是生產或次要機器。 您可以用任何您喜歡的方式限制此使用者,只要它保留連線至PostgreSQL伺服器的權利。
- 若要新增使用者,請以root身分在Linux伺服器上執行下列命令:
adduser rjmetric -p<password>
mkdir /home/rjmetric
mkdir /home/rjmetric/.ssh
-
還記得在第一節中擷取的
public key
嗎? 若要確保使用者可以存取資料庫,您必須將金鑰匯入authorized\_keys
。將整個金鑰複製到
authorized\_keys
檔案,如下所示:
touch /home/rjmetric/.ssh/authorized_keys
"<PASTE KEY HERE>" >> /home/rjmetric/.ssh/authorized_keys
- 若要完成建立使用者,請變更
/home/rjmetric
目錄上的許可權,以允許透過SSH
存取:
chown -R rjmetric:rjmetric /home/rjmetric
chmod -R 700 /home/rjmetric/.ssh
sshd\_config
檔案未設定為預設選項,則只有特定使用者具有伺服器存取權 — 這會防止成功連線到Commerce Intelligence。 在這些情況下,必須執行AllowUsers
之類的命令,才能允許rjmetric使用者存取伺服器。正在建立Commerce Intelligence Postgres使用者 postgres
您的組織可能需要不同的流程,但建立此使用者最簡單的方法是在以有權授予許可權的使用者身分登入Postgres時執行以下查詢。 使用者也應擁有Commerce Intelligence被授予存取權的結構描述。
GRANT CONNECT ON DATABASE <database name> TO rjmetric WITH PASSWORD <secure password>;GRANT USAGE ON SCHEMA <schema name> TO rjmetric;GRANT SELECT ON ALL TABLES IN SCHEMA <schema name> TO rjmetric;ALTER DEFAULT PRIVILEGES IN SCHEMA <schema name> GRANT SELECT ON TABLES TO rjmetric;
以您自己的安全密碼取代secure password
,此密碼可能與SSH密碼不同。 此外,請確定您用資料庫中適當的名稱取代database name
和schema name
。
如果要連線多個資料庫或結構描述,請視需要重複此程式。
正在將連線和使用者資訊輸入Commerce Intelligence finish
若要完成工作,您必須在Commerce Intelligence中輸入連線和使用者資訊。 您是否讓PostgreSQL認證頁面保持開啟狀態? 如果沒有,請移至 Manage Data > Connections 並按一下 Add a Data Source,然後按一下PostgreSQL圖示。 別忘了將Encrypted
切換設為Yes
。
在此頁面中輸入下列資訊,從Database Connection
區段開始:
Username
: RJMetrics Postgres使用者名稱(應為rjmetric)Password
: RJMetrics Postgres密碼Port
:伺服器上的PostgreSQL連線埠(預設為5432)Host
: 127.0.0.1
在SSH Connection
下:
Remote Address
:您要SSH連線的伺服器IP位址或主機名稱Username
:您的SSH登入名稱(應為rjmetric)SSH Port
:伺服器上的SSH連線埠(預設為22)
完成時,按一下 儲存並測試 以完成設定。