驗證機制
重要
此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight 上提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群上取得更多更新。
在 AKS 上使用 HDInsight 的 Trino 提供 CLI 用戶端、JDBC 驅動程式等工具,以存取與 Microsoft Entra ID 整合的叢集,以簡化使用者的驗證。 支援的工具或客戶端必須使用 Microsoft Entra ID OAuth2 標準進行驗證,Microsoft Entra ID 所簽發的 JWT 存取令牌必須提供給叢集端點。
本節說明工具支持的常見驗證流程。
驗證流程概觀
支援下列驗證流程。
注意
名稱是保留的,應該用來指定特定流程。
名稱 | 必要參數 | 選擇性參數 | 描述 |
---|---|---|---|
AzureDefault | 無 | 租使用者標識碼、用戶端標識碼 | 意在互動式環境中開發期間使用。 在大部分情況下,使用者會使用瀏覽器登入。 請參閱詳細資料。 |
AzureInteractive | 無 | 租使用者標識碼、用戶端標識碼 | 使用者會使用瀏覽器進行驗證。 請參閱詳細資料。 |
AzureDeviceCode | 無 | 租使用者標識碼、用戶端標識碼 | 適用於瀏覽器無法使用的環境。 提供給使用者的裝置程式代碼需要動作才能使用程式代碼和瀏覽器登入另一個裝置。 |
AzureClientSecret | 租使用者標識碼、用戶端標識碼、客戶端密碼 | 無 | 使用服務主體身分識別、認證必要、非互動式。 |
AzureClientCertificate | 租使用者標識碼、用戶端標識碼、憑證檔案路徑 | 秘密/密碼。 如果提供,則用來解密 PFX 憑證。 否則會預期 PEM 格式。 | 使用服務主體身分識別、憑證必要、非互動式。 請參閱詳細資料。 |
AzureManagedIdentity | 租使用者標識碼、用戶端標識碼 | 無 | 使用環境的受控識別,例如,在 Azure VM 或 AKS Pod 上。 |
AzureDefault 流程
如果未 auth
指定 參數,則此流程是 Trino CLI 和 JDBC 的預設模式。 在此模式中,用戶端工具會嘗試使用數種方法取得令牌,直到取得令牌為止。
在下列鏈結執行中,如果找不到令牌或驗證失敗,進程將會繼續進行下一個方法:
DefaultAzureCredential ->AzureInteractive -> AzureDeviceCode (如果沒有瀏覽器)
AzureInteractive 流程
當 提供 或 做為鏈結執行的一部分AzureDefault
時auth=AzureInteractive
,會使用此模式。
注意
如果瀏覽器可供使用,則會顯示驗證提示,並等候用戶動作。 如果瀏覽器無法使用,則會回復為 AzureDeviceCode
流程。
AzureClientCertificate 流程
允許使用 PEM/PFX(PKCS #12) 檔案進行服務主體驗證。 如果提供秘密/密碼,則預期使用 PFX(PKCS #12) 格式的檔案,並使用秘密來解密檔案。 如果未提供秘密,則預期 PEM 格式的檔案會包含私鑰和公鑰。
環境變數
所有必要的參數都可以直接在自變數或 連接字串 中提供給 CLI/JDBC。 如果未提供,則會在環境變數中查閱某些選擇性參數。
注意
如果您遇到驗證問題,請務必檢查環境變數。 它們可能會影響流程。
下表描述可在環境變數中針對不同驗證流程設定的參數。
只有在命令行或 連接字串 中未提供對應的參數時,才會使用這些參數。
變數名稱 | 適用的驗證流程 | 描述 |
---|---|---|
AZURE_TENANT_ID | 全部 | Microsoft Entra 租用戶 ID。 |
AZURE_CLIENT_ID | AzureClientSecret、AzureClientCertificate、AzureManagedIdentity | 應用程式/主體用戶端識別碼。 |
AZURE_CLIENT_SECRET | AzureClientSecret、AzureClientCertificate | 服務主體或憑證檔案的秘密或密碼。 |
AZURE_CLIENT_CERTIFICATE_PATH | AzureClientCertificate | 憑證檔案的路徑。 |