驗證機制
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 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 | 沒有 | 租戶 ID、客戶端 ID | 使用者會使用瀏覽器進行驗證。 請參閱 詳細數據。 |
AzureDeviceCode | 沒有 | 租戶標識碼、客戶標識碼 | 適用於瀏覽器無法使用的環境。 提供給使用者的裝置程式代碼需要動作才能使用程式代碼和瀏覽器登入另一個裝置。 |
AzureClientSecret | 租使用者標識碼、用戶端標識碼、客戶端密碼 | 沒有 | 使用服務主體身分識別,需提供認證,為非互動式。 |
AzureClientCertificate | 租使用者標識碼、用戶端標識碼、憑證檔案路徑 | 秘密/密碼。 如果提供,則用來解密 PFX 憑證。 否則需要 PEM 格式。 | 使用服務主體身分識別、憑證必要、非互動式。 請參閱 的詳情。 |
AzureManagedIdentity | 租戶ID、客戶端ID | 沒有 | 使用環境的受控識別,例如,在 Azure VM 或 AKS Pod 上。 |
AzureDefault 流程
如果未指定 auth
參數,則此流程是 Trino CLI 和 JDBC 的預設模式。 在此模式中,用戶端工具會嘗試使用數種方法取得令牌,直到取得令牌為止。
在下列鏈結執行中,如果找不到令牌或驗證失敗,進程將會繼續進行下一個方法:
DefaultAzureCredential ->AzureInteractive -> AzureDeviceCode (如果沒有瀏覽器)
AzureInteractive 流程
當提供 auth=AzureInteractive
或作為 AzureDefault
鏈結執行的一部分時,會使用此模式。
注意
如果瀏覽器可供使用,則會顯示驗證提示,並等候用戶動作。 如果瀏覽器無法使用,它將回退至 AzureDeviceCode
模式。
Azure Client Certificate 流程
允許使用 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 | 憑證檔案的路徑。 |