保護 Azure 金鑰保存庫中的驗證秘密
設定自訂驗證提供者時,您可能會想要將連線密碼儲存在 Azure 金鑰保存庫中。 本文示範如何使用受控識別,將 Azure Static Web Apps 存取權授與自訂驗證秘密金鑰保存庫。
注意
Azure 無伺服器函式不支援直接金鑰保存庫整合。 如果您需要金鑰保存庫與受控函式應用程式的整合,您必須實作金鑰保存庫應用程式程式碼的存取權。
安全性秘密需要有下列專案。
- 在靜態 Web Apps 實例中建立系統指派的身分識別。
- 授與金鑰保存庫秘密的身分識別存取權。
- 從靜態 Web Apps 應用程式設定參考金鑰保存庫秘密。
本文示範如何在生產環境中設定每個專案,以 攜帶您自己的函式應用程式 。
金鑰保存庫整合不適用於:
- 靜態 Web 應用程式的 預備版本。 只有在生產環境中才支援金鑰保存庫整合。
- 使用受控函 式的靜態 Web 應用程式。
注意
使用受控識別僅適用于 Azure Static Web Apps Standard 方案。
必要條件
- 使用自備函 式 的現有 Azure Static Web Apps 網站。
- 具有秘密值的現有金鑰保存庫資源。
建立身分識別
在Azure 入口網站中開啟靜態 Web Apps 網站。
在 [設定 ] 功能表下,選取 [ 身分 識別]。
選取 [ 系統指派] 索引卷 標。
在 [ 狀態] 標籤底下,選取 [開啟 ]。
選取 [儲存]。
當確認對話方塊出現時,請選取 [ 是 ]。
您現在可以新增存取原則,以允許靜態 Web 應用程式讀取金鑰保存庫秘密。
新增金鑰保存庫存取原則
在Azure 入口網站中開啟您的金鑰保存庫資源。
在 [設定] 功能表下,選取 [ 存取原則 ]。
選取連結[ 新增存取原則 ]。
從 [ 秘密許可權] 下拉式清單中,選取 [ 取得 ]。
在 [ 選取主體卷 標] 旁,選取 [ 無] 選取 的連結。
在搜尋方塊中,搜尋靜態 Web Apps 應用程式名稱。
選取符合應用程式名稱的清單專案。
選取選取。
選取新增。
選取 [儲存]。
存取原則現在會儲存至金鑰保存庫。 接下來,存取將靜態 Web 應用程式關聯至金鑰保存庫資源時要使用的秘密 URI。
在 [設定 ] 功能表下,選取 [ 秘密 ]。
從清單中選取您想要的秘密。
從清單中選取您想要的秘密版本。
選取 [秘密識別碼 ] 文字方塊結尾的 [複製 ],將秘密 URI 值複製到剪貼簿。
將此值貼到文字編輯器中,以供稍後使用。
新增應用程式設定
在Azure 入口網站中開啟靜態 Web Apps 網站。
在 [設定 ] 功能表下,選取 [ 組態 ]。
在 [ 應用程式設定] 區段底下,選取 [ 新增 ]。
在 [名稱] 欄位的文字方塊中 輸入名稱 。
在 [值 ] 欄位的文字方塊中 判斷秘密值。
秘密值是幾個不同值的複合。 下列範本示範如何建置最終字串。
@Microsoft.KeyVault(SecretUri=<YOUR-KEY-VAULT-SECRET-URI>)
例如,最終字串看起來會像下列範例:
@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
或者:
@Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
使用下列步驟來建置完整的秘密值。
複製上述範本,並將其貼到文字編輯器中。
將 取代
<YOUR-KEY-VAULT-SECRET-URI>
為您稍早設定的 金鑰保存庫 URI 值。複製新的完整字串值。
將值貼到 [值 ] 欄位的 文字方塊中。
選取 [確定]。
選取 應用程式設定 工具列頂端的 [儲存 ]。
現在,當您的自訂驗證組態參考新建立的應用程式設定時,會使用靜態 Web 應用程式的身分識別,從 Azure 金鑰保存庫擷取此值。