使用用戶端憑證進行驗證
適用於:所有 APIM 層
使用 authentication-certificate
原則來透過用戶端憑證向後端服務進行驗證。 首先將憑證安裝至 APIM 時,先透過其指紋或憑證識別碼 (資源名稱) 來識別它。
警告
設定此原則時,將認證暴露的風險降至最低。 Microsoft 建議您使用更安全的驗證方法 (如果您的後端支援的話),例如受控識別驗證或認證管理員。 如果您在原則定義中設定敏感性資訊,建議您使用具名值,並將祕密儲存在 Azure Key Vault 中。
警告
如果憑證參考 Azure Key Vault 中儲存的憑證,請使用憑證識別碼來識別。 當金鑰保存庫憑證輪替時,其指紋在 API 管理中會變更,如果是由指紋識別新憑證,原則不會解析新憑證。
注意
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
原則陳述式
<authentication-certificate thumbprint="thumbprint" certificate-id="resource name" body="certificate byte array" password="optional password"/>
屬性
屬性 | 描述 | 是必要欄位 | 預設 |
---|---|---|---|
thumbprint | 用戶端憑證的指紋。 允許使用原則運算式。 | thumbprint 或 certificate-id 可以存在。 |
N/A |
certificate-id | 憑證資源名稱。 允許使用原則運算式。 | thumbprint 或 certificate-id 可以存在。 |
N/A |
本文 | 用戶端憑證為位元組陣列。 未從內建憑證存放區擷取憑證時使用。 允許使用原則運算式。 | No | N/A |
password | 用戶端憑證的密碼。 允許使用原則運算式。 | body 中指定的憑證受到密碼保護時使用。 |
N/A |
使用方式
使用注意事項
範例
透過憑證識別碼識別的用戶端憑證
<authentication-certificate certificate-id="544fe9ddf3b8f30fb490d90f" />
透過指紋識別的用戶端憑證
<authentication-certificate thumbprint="CA06F56B258B7A0D4F2B05470939478651151984" />
用戶端憑證是設定於原則中,而不是從內建憑證存放區擷取
<authentication-certificate body="@(context.Variables.GetValueOrDefault<byte[]>("byteCertificate"))" password="optional-certificate-password" />
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則運算式
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- 使用 Microsoft Azure Copilot 撰寫原則