iDRAC HTTP 基本驗證變更
Summary: 從 iDRAC9 7.30.10.50 和 iDRAC10 1.30.10.50 開始,HTTP 基本驗證預設設定已變更為未播發 (先前的預設設定已啟用)。進行這些更改是為了提高憑據安全性,並減少 Redfish 服務中 HTTP 基本身份驗證的意外暴露。
Symptoms
從通用用戶端存取 Redfish 資源,且原始要求未提供驗證 (例如網頁瀏覽器),會傳回下列錯誤,而且不會自動提示輸入認證。
{
"error": {
"code": "Base.1.8.GeneralError",
"message": "A general error has occurred. See ExtendedInfo for more information.",
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_0.Message",
"MessageId": "Base.1.8.AccessDenied",
"Message": "The authentication credentials included with this request are missing or invalid.",
"MessageArgs": [],
"MessageArgs@odata.count": 0,
"RelatedProperties":[],
"RelatedProperties@odata.count": 0,
"Severity": "Critical",
"Resolution": "Attempt to ensure that the URI is correct and that the service has the appropriate credentials."
}
]
}
}
Cause
新行為
HTTPBasicAuth 預設值設置為 「未通告」。如果在沒有身份驗證標頭的情況下發送初始 HTTP 請求,則服務不會在 WWW 身份驗證回應標頭中播發基本身份驗證。這可以防止通用用戶端(例如瀏覽器)自動提示或訪問。
< HTTP/1.1 401 Unauthorized < Date: Mon, 09 Mar 2026 17:21:26 GMT < Server: Apache
舊版行為
可使用 HTTPBasicAuth 預設值設為 Enabled (已啟用)。如果初始 HTTP 請求在沒有身份驗證標頭的情況下發送,則服務會在 WWW 身份驗證回應標頭中播發基本身份驗證。這允許自動提示或由通用用戶端(例如,瀏覽器)訪問。
< HTTP/1.1 401 Unauthorized < Date: Mon, 09 Mar 2026 17:21:57 GMT < Server: Apache < WWW-Authenticate: Basic realm="RedfishService"
Resolution
從 iDRAC9 7.30.10.50 和 iDRAC10 1.30.10.50 開始,HTTP 基本驗證預設設定已變更為未播發 (先前的預設設定已啟用)。進行這些更改是為了提高憑據安全性,並減少 Redfish 服務中 HTTP 基本身份驗證的意外暴露。
Redfish AccountService 中已導入 HTTP 基本驗證處理的新可設定控制項,DMTF 屬性名稱 HTTPBasicAuth。此新屬性支援三個可能的值:
未播發 (新的預設設定):
- 該服務不會在 WWW-Authenticate 回應標頭中播發基本內容,這可以防止自動提示或通用用戶端(例如瀏覽器)的訪問。
已啟用:
啟用 HTTP 基本身份驗證,並使用 401 未經授權的回應上的 WWW-Authenticate: 基本標頭顯式播發。
已停用:
Redfish 服務的 HTTP 基本驗證已完全停用,執行 Redfish 作業時需要其他方法,例如 X-auth 權杖工作階段 (建議)。
可從 Redfish、Web UI 和 RACADM iDRAC 介面設定 HTTP 基本驗證設定。
Redfish: - PATCH DMTF property HTTPBasicAuth under AccountService - PATCH OEM attribute Redfish.BasicAuthState under DellAttributes RACADM: - Set OEM attribute iDRAC.Redfish.BasicAuthState GUI: - iDRAC Settings -> Services -> Redfish -> HTTP Basic Authentication
Additional Information
當 BasicAuthState 設置為「未通告」時,客戶端必須在初始請求中顯式發送身份驗證標頭。例如, ansible.builtin.uri 模組必須指定
force_basic_auth: true 為了在第一個請求上發送基本身份驗證標頭。