加密網路流量
建議您加密 Looker 應用程式與資料庫之間的網路流量。請考慮「啟用安全資料庫存取權」說明文件頁面所述的其中一個選項。
如要使用 SSL 加密,請參閱 Microsoft 說明文件。
設定伺服器驗證
Looker 需要 MSSQL 伺服器上的「SQL Server 驗證」。如果 MSSQL 伺服器僅設定為「Windows 整合式驗證」,請將伺服器設定變更為「Windows 整合式驗證和 SQL Server 驗證」。
如果伺服器設定不正確,Looker 就無法連線。這會顯示在 SQL Server 記錄訊息中,例如:「An attempt to log in using SQL authentication failed. 伺服器已設定為僅進行 Windows 驗證。
如需變更,請完成下列步驟:
- 在 SQL Server Management Studio 物件總管中,以滑鼠右鍵按一下伺服器,然後按一下「內容」。
- 在「安全性」頁面的「伺服器驗證」下方,選取新的伺服器驗證模式,然後按一下「確定」。
- 在「SQL Server Management Studio」對話方塊中,按一下「確定」,確認需要重新啟動 SQL Server。
- 在「物件總管」中,以滑鼠右鍵按一下伺服器,然後點選「重新啟動」。如果 SQL Server 代理程式正在執行,也必須重新啟動。
詳情請參閱 Microsoft 說明文件。
建立 Looker 使用者
Looker 會使用 SQL Server 驗證機制向資料庫進行驗證。系統不支援使用網域帳戶。
如要建立帳戶,請執行下列指令。將 some_password_here 變更為安全且不重複的密碼:
CREATE LOGIN looker
WITH PASSWORD = 'some_password_here';
USE MyDatabase;
CREATE USER looker FOR LOGIN looker;
GO
授予 Looker 使用者從資料表 SELECT 的權限
如要查詢資料表或結構定義,Looker 必須具備 SELECT 權限。您可以透過多種方式指派 SELECT 權限:
如要將
SELECT權限授予個別結構定義,請針對每個結構定義執行下列指令:GRANT SELECT on SCHEMA :: 'schema_name' to looker;如要將
SELECT權限授予個別資料表,請對每個資料表執行下列指令:GRANT SELECT on OBJECT :: 'schema_name'.'table_name' to looker;如果是 MSSQL 2012 以上版本,您也可以使用下列指令,將
db_datareader角色指派給 Looker 使用者:USE MyDatabase; ALTER ROLE db_datareader ADD MEMBER looker; GO
授予 Looker 使用者權限,可查看及停止執行查詢
Looker 必須獲得授權,才能偵測及停止執行查詢,這需要下列權限:
ALTER ANY CONNECTIONVIEW SERVER STATE
如要授予這些權限,請執行下列指令:
USE Master;
GRANT ALTER ANY CONNECTION TO looker;
GRANT VIEW SERVER STATE to looker;
GO
授予 Looker 使用者建立資料表的權限
如要授予 Looker 使用者建立 PDT 的權限,請執行下列指令:
USE MyDatabase;
GRANT CREATE TABLE to looker;
GO
設定臨時結構定義
如要建立 Looker 使用者擁有的結構定義,並授予 Looker 使用者必要權限,請執行下列指令:
CREATE SCHEMA looker_scratch AUTHORIZATION looker;
設定 Kerberos 驗證
如果您使用 Kerberos 驗證搭配 MSSQL 資料庫,請按照下列步驟設定 Looker,透過 Kerberos 連線。
設定 Kerberos 用戶端設定
首先,您必須確保 Looker 電腦上已安裝多項軟體,並存在多個檔案。
Kerberos 用戶端
執行 kinit,確認 Kerberos 用戶端已安裝在 Looker 電腦上。如果未安裝 Kerberos 用戶端,請安裝 Kerberos 用戶端的二進位檔。
舉例來說,在 Redhat 或 CentOS 上,這會是下列項目:
sudo yum install krb5-workstation krb5-libs krb5-auth-dialog
Java 8
Java 8 必須安裝在 Looker 電腦和 Looker 使用者的 PATH 和 JAVA_HOME 中。如有需要,請在本機的 looker 目錄中安裝。
Java Cryptography Extension
從這個 Oracle 下載頁面,下載並安裝 Java 8 的 Java Cryptography Extension (JCE)。
- 找出 Java 安裝的
jre/lib/security目錄。 - 從這個目錄移除下列 JAR 檔案:
local_policy.jar和US_export_policy.jar。 - 將這兩個檔案替換為 JCE 無限制強度管轄區政策檔案下載內容中的 JAR 檔案。
您或許可以搭配安裝的 JCE 使用 Java 8 之前的版本,但我們不建議這麼做。
- 找出 Java 安裝的
更新
~looker/.bash_profile中的JAVA_HOME和PATH,指向正確的 Java 安裝位置和source ~/.bash_profile,或登出後重新登入。使用
java -version驗證 Java 版本。使用
echo $JAVA_HOME驗證JAVA_HOME環境變數。
gss-jaas.conf
在 looker 目錄中建立 gss-jaas.conf 檔案,並加入以下內容:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true;
};
如有測試需要,可以將 debug=true 新增至這個檔案,如下所示:
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
useTicketCache=true
doNotPrompt=true
debug=true;
};
krb5.conf
執行 Looker 的伺服器也應具備有效的 krb5.conf 檔案。根據預設,這個檔案位於 /etc/krb5.conf。如果位於其他位置,則必須在環境中指出 (殼層環境中的 KRB5_CONFIG)。
您可能需要從其他 Kerberos 用戶端電腦複製這個檔案。
lookerstart.cfg
在 looker 目錄 (含有 looker 啟動指令碼的目錄) 中建立名為 lookerstart.cfg 的檔案,並加入下列幾行,藉此指向 gss-jaas.conf 和 krb5.conf 檔案:
JAVAARGS="-Djava.security.auth.login.config=/path/to/gss-jaas.conf -Djavax.security.auth.useSubjectCredsOnly=false -Djava.security.krb5.conf=/etc/krb5.conf"
LOOKERARGS=""
如果 krb5.conf 檔案不在 /etc/krb5.conf,也必須新增這個變數:
-Djava.security.krb5.conf=/path/to/krb5.conf
如要進行偵錯,請新增下列變數:
-Dsun.security.jgss.debug=true -Dsun.security.krb5.debug=true
然後使用 ./looker restart 重新啟動 Looker。
使用 Kerberos 進行驗證
使用者驗證
如果
krb5.conf不在/etc/中,請使用環境變數KRB5_CONFIG指出其位置。執行
klist指令,確認 Kerberos 票證快取中是否有有效票證。如果沒有票證,請執行
kinit username@REALM或kinit username來建立票證。與 Looker 搭配使用的帳戶可能沒有使用者介面,因此您可以從 Kerberos 取得 keytab 檔案,儲存長期使用的憑證。使用
kinit -k -t looker_user.keytab username@REALM等指令取得 Kerberos 票證。
自動更新票證
設定定期執行的 Cron 工作,在 Kerberos 票證快取中保留有效票證。執行頻率取決於叢集設定。klist 應顯示票證的到期時間。
建立 Looker 資料庫連線
如要建立從 Looker 到資料庫的連線,請按照下列步驟操作:
- 在 Looker 的「管理」部分中,選取「連線」,然後按一下「新增連線」。
在「Dialect」(方言) 下拉式選單中,選取 Microsoft SQL Server 版本。
在「Remote Host」(遠端主機) 和「Port」(通訊埠) 中,輸入主機名稱和通訊埠 (預設通訊埠為 1433)。
如果需要指定 1433 以外的非預設通訊埠,且資料庫需要使用半形逗號而非半形冒號,您可以在連線設定中,於下方的「Additional JDBC parameters」(額外 JDBC 參數) 欄位新增
useCommaHostPortSeparator=true,這樣就能在「Remote Host:Port」(遠端主機:通訊埠) 欄位使用半形逗號。例如:jdbc:sqlserver://hostname,1434填寫其餘連線詳細資料。在這些設定中,有絕大部分都是多數資料庫方言的常用設定。詳情請參閱「將 Looker 連線至資料庫」說明文件頁面。
如要確認連線是否成功,請按一下「測試」。如需疑難排解資訊,請參閱「測試資料庫連線」說明文件頁面。
如要儲存這些設定,請按一下「連結」。
設定 Looker 連線
按照「將 Looker 連線至資料庫」說明文件頁面的指示,建立與 MSSQL 資料庫的連線。在「連線設定」頁面的「其他 JDBC 參數」部分,新增下列項目:
;integratedSecurity=true;authenticationScheme=JavaKerberos
部分網路設定了兩個 Kerberos 領域,一個用於 Windows Active Directory,另一個用於 Linux 和其他非 Windows 系統。在這種情況下,如果以 Linux 為主的 Realm 和 Active Directory Realm 設定為互相信任,就稱為「跨 Realm 驗證」。
如果您的網路使用跨領域驗證,就必須明確指定 MSSQL Server 的 Kerberos 主體。在「Additional JDBC parameters」(其他 JDBC 參數) 欄位中,新增下列項目:
;serverSpn=service_name/FQDN\:PORT@REALM
將 FQDN 和 PORT@REALM 替換為您的網路資訊。例如:
;serverSpn=MSSQLSvc/dbserver.internal.example.com:1433@AD.EXAMPLE.COM
此外,Looker 的「連線設定」頁面需要「使用者名稱」和「密碼」欄位中的項目,但這些項目並非 Kerberos 的必要條件。在這些欄位中輸入虛擬值。
測試連線,確認設定正確無誤。
功能支援
如要讓 Looker 支援某些功能,資料庫方言也必須支援這些功能。
自 Looker 25.18 版起,Microsoft SQL Server 2008 以上版本支援下列功能:
| 功能 | 是否支援? |
|---|---|
| 支援級別 | 整合 |
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 以 SQL 為基礎的永久衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的樞紐 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 其他參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 名單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner 說明資料表 | |
| SQL Runner 顯示索引 | |
| SQL Runner Select 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 內容註解 | |
| 連線集區 | |
| HLL 素描 | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| 具體化檢視表 | |
| 與前一段時期相比的指標 | |
| 不重複值的概略計數 |
自 Looker 25.18 起,Microsoft SQL Server 2016 支援下列功能:
| 功能 | 是否支援? |
|---|---|
| 支援級別 | 支援 |
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 以 SQL 為基礎的永久衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的樞紐 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 其他參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 名單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner 說明資料表 | |
| SQL Runner 顯示索引 | |
| SQL Runner Select 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 內容註解 | |
| 連線集區 | |
| HLL 素描 | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| 具體化檢視表 | |
| 與前一段時期相比的指標 | |
| 不重複值的概略計數 |
自 Looker 25.18 起,Microsoft SQL Server 2017 以上版本支援下列功能:
| 功能 | 是否支援? |
|---|---|
| 支援級別 | 支援 |
| Looker (Google Cloud Core) | |
| 對稱式匯總函式 | |
| 衍生資料表 | |
| 以 SQL 為基礎的永久衍生資料表 | |
| 永久原生衍生資料表 | |
| 穩定檢視畫面 | |
| 終止查詢 | |
| 以 SQL 為基礎的樞紐 | |
| 時區 | |
| SSL | |
| 小計 | |
| JDBC 其他參數 | |
| 區分大小寫 | |
| 位置類型 | |
| 名單類型 | |
| 百分位數 | |
| 不重複值的百分位數 | |
| SQL Runner 顯示程序 | |
| SQL Runner 說明資料表 | |
| SQL Runner 顯示索引 | |
| SQL Runner Select 10 | |
| SQL Runner 計數 | |
| SQL 說明 | |
| OAuth 2.0 憑證 | |
| 內容註解 | |
| 連線集區 | |
| HLL 素描 | |
| 匯總感知 | |
| 增量 PDT | |
| 毫秒 | |
| 微秒 | |
| 具體化檢視表 | |
| 與前一段時期相比的指標 | |
| 不重複值的概略計數 |