透過SSH通道連線MongoDB

若要透過SSH通道將您的MongoDB資料庫連線至Commerce Intelligence,您必須執行下列幾項作業:

NOTE
由於此設定的技術性質,Adobe建議您找開發人員使用回圈,協助解決您以前未執行此設定的問題。

正在擷取Commerce Intelligence公開金鑰 retrieve

public key用於授權Commerce Intelligence Linux使用者。 下一節將引導您建立使用者和匯入金鑰。

  1. 移至​ Data > Connections ​並按一下​ Add New Data Source
  2. 按一下MONGODB圖示。
  3. 在MongoDB認證頁面開啟後,將Encrypted切換變更為Yes。 這會顯示SSH設定表單。
  4. public key位於此表單下方。

在本教學課程中保持此頁面開啟 — 您需要在下一節及結尾使用它。

如果您有點遺失,以下說明如何瀏覽Commerce Intelligence以擷取金鑰:

正在擷取RJMetrics公開金鑰

允許存取Commerce Intelligence IP位址 allowlist

為了連線成功,您必須將防火牆設定為允許從IP位址存取。 它們是54.88.76.9734.250.211.151,但它也位於MongoDB認證頁面上:

MBI_Allow_Access_IPs.png

正在建立Commerce Intelligence的Linux使用者 linux

IMPORTANT
如果與伺服器相關聯的sshd_config檔案未設定為預設選項,則只有特定使用者具有伺服器存取權 — 這會防止成功連線到Commerce Intelligence。 在這些情況下,必須執行AllowUsers之類的命令,才能允許rjmetric使用者存取伺服器。

只要包含即時(或經常更新)資料,這可以是生產或次要機器。 只要該使用者保留連線至MongoDB伺服器的權利,您就可以依您喜歡的方式限制該使用者。

若要新增使用者,請以root身分在Linux伺服器上執行下列命令:

    adduser rjmetric -p
    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

正在建立Commerce Intelligence MongoDB使用者 mongodb

MongoDB伺服器有兩個執行模式 — 一個具有「驗證」選項 (mongod -- auth),另一個沒有,是預設值。 建立MongoDB使用者的步驟依伺服器使用的模式而異。 繼續之前,請務必驗證模式。

如果您的伺服器使用Auth選項: auth

連線到多個資料庫時,您可以以管理員使用者身分登入MongoDB並執行下列命令來新增使用者。

NOTE
若要檢視所有可用的資料庫,Commerce Intelligence使用者需要執行listDatabases.的許可權

這個命令授予Commerce Intelligence使用者存取權to all databases

    use admin
    db.createUser('rjmetric', '< secure password here >', true)

使用此命令授予Commerce Intelligence使用者存取權to a single database

    use < database name >
    db.createUser('rjmetric', '< secure password here >', true)

這會列印如下所示的回應:

    {
    "id": ObjectId("< some object id here >"),
    "user": "rjmetric",
    "readOnly": true,
    "pwd": "< some hash here >"
    }

如果您的伺服器使用預設選項 default

如果您的伺服器未使用auth模式,即使沒有使用者名稱和密碼,也可以存取您的MongoDB伺服器。 不過,您應該確保mongodb.conf檔案(/etc/mongodb.conf)有下列行 — 如果沒有,請在新增伺服器後重新啟動伺服器。

    bind_ip = 127.0.0.1
    noauth = true

若要將MongoDB伺服器繫結到不同的位址,請在下一個步驟中相應地調整資料庫主機名稱。

正在將連線和使用者資訊輸入Commerce Intelligence finish

若要完成工作,您必須在Commerce Intelligence中輸入連線和使用者資訊。 您是否讓MongoDB認證頁面保持開啟狀態? 如果沒有,請移至​ Data > Connections ​並按一下​ Add New Data Source,然後按一下MongoDB圖示。 別忘了將Encrypted切換變更為Yes

在此頁面中輸入下列資訊,從Database Connection區段開始:

  • Host127.0.0.1
  • Username: Commerce Intelligence MongoDB使用者名稱(應為rjmetric
  • Password: Commerce Intelligence MongoDB密碼
  • Port:伺服器上的MongoDB連線埠(預設為27017
  • Database Name (選擇性):如果您只允許存取一個資料庫,請在此處指定該資料庫的名稱。

SSH Connection區段下:

  • Remote Address:您要SSH連線的伺服器IP位址或主機名稱
  • Username: Commerce Intelligence Linux (SSH)使用者名稱(應為rjmetric)
  • SSH Port:伺服器上的SSH連線埠(預設為22)

完成時,按一下​ Save Test ​以完成設定。

相關

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc