共用方式為


保護適用於 Azure Static Web Apps 的 Azure Key Vault 中的驗證祕密

設定自訂驗證提供者時,您可能會想要將連線密碼儲存在 Azure 金鑰保存庫中。 本文示範如何使用受控識別,將自訂驗證祕密金鑰保存庫存取權授與 Azure Static Web Apps。

注意

Azure 無伺服器函式不支援直接金鑰保存庫整合。 如果您需要金鑰保存庫與受控函式應用程式的整合,您必須實作金鑰保存庫應用程式的程式碼存取權。

安全性祕密需要具備下列項目。

  • 在您的靜態 Web 應用程式中,建立系統指派的身分識別。
  • 授與金鑰保存庫祕密的身分識別存取權
  • 從 Static Web Apps 應用程式設定參考金鑰保存庫祕密。

本文示範如何在生產環境中設定每個項目,以攜帶您自己的函式應用程式

金鑰保存庫整合不適用於:

注意

使用受控識別僅適用於 Azure Static Web Apps 標準方案。

必要條件

  • 使用自備函式的現有 Azure Static Web Apps 網站。
  • 具有祕密值的現有金鑰保存庫資源。

建立身分識別

  1. 在 Azure 入口網站中,開啟您的靜態 Web 應用程式。

  2. 在 [設定] 底下,選取 [身分識別]

  3. 選取 [系統指派] 索引標籤。

  4. 在 [狀態] 標籤下,選取 [開啟]

  5. 選取 [儲存]。

    新增系統指派的身分識別

  6. 在確認對話方塊出現時,選取 [是]

    確認身分識別指派。

您現在可以新增存取原則,以允許靜態 Web 應用程式讀取金鑰保存庫祕密。

新增金鑰保存庫存取原則

  1. 在 Azure 入口網站中開啟您的金鑰保存庫資源。

  2. 在 [設定] 功能表下,選取 [存取原則]

  3. 選取連結 [新增存取原則]

  4. 從 [祕密授權] 下拉式清單中,選取 [取得]

  5. 在 [選取主體] 標籤旁,選取 [未選取任何項目] 的連結。

  6. 在搜尋方塊中,搜尋靜態 Web 應用程式名稱。

  7. 選取符合應用程式名稱的清單項目。

  8. 選取選取

  9. 選取 [新增]。

  10. 選取 [儲存]。

    儲存金鑰保存庫存取原則

存取原則現在會儲存至金鑰保存庫。 接下來,存取將靜態 Web 應用程式與金鑰保存庫資源建立關聯時要使用的祕密 URI。

  1. 在 [設定] 功能表下,選取 [祕密]

  2. 從清單中選擇您所需的祕密。

  3. 從清單中選擇您所需的祕密版本。

  4. 選取 [祕密識別碼] 文字方塊結尾的 [複製],將祕密 URI 值複製到剪貼簿。

  5. 在文字編輯器中貼上值,以供後續使用。

新增應用程式設定

  1. 在 Azure 入口網站中開啟您的 Static Web Apps 網站。

  2. 在 [設定] 功能表下,選取 [設定]

  3. 在 [應用程式設定] 區段下,選取 [新增]

  4. 在 [名稱] 欄位的文字方塊中輸入名稱。

  5. 決定 [值] 欄位文字方塊中的祕密值。

    祕密值是幾個不同值的複合。 下列範本示範如何建立最終字串。

    @Microsoft.KeyVault(SecretUri=<YOUR_KEY_VAULT_SECRET_URI>)
    

    例如,最終字串會類似下列範例:

    @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
    

    或者:

    @Microsoft.KeyVault(VaultName=myvault;SecretName=mysecret)
    

    使用下列步驟來建立完整的祕密值。

  6. 複製上述的範本,並將其貼到文字編輯器中。

  7. <YOUR_KEY_VAULT_SECRET_URI> 取代為您稍早設定的金鑰保存庫 URI 值。

  8. 複製新的完整字串值。

  9. 將值貼到 [值] 欄位的文字方塊中。

  10. 選取 [確定]。

  11. 選取 [應用程式設定] 工具列頂端的 [儲存]

    儲存應用程式設定

現在,當您的自訂驗證設定參考新建立的應用程式設定時,會使用靜態 Web 應用程式的身分識別,從 Azure 金鑰保存庫擷取此值。

後續步驟