使用 Azure Key Vault 密碼的環境變數

環境變數可參考儲存在 Azure Key Vault 中的密碼。 這些密碼可用於 Power Automate 流程和自訂連接器。 請注意,這些密碼不可用於其他自訂或透過 API 使用使用。

真實密碼只儲存在 Azure Key Vault 中,而環境變數會參考金鑰保存庫密碼位置。 使用 Azure Key Vault 包含環境變數的機密時,需要設定 Azure Key Vault,Power Platform 才能讀取您想要參照的特定機密。

參考密碼的環境變數目前無法從動態內容選擇器中用於流程。

設定 Azure Key Vault

若要將 Azure Key Vault 密碼與 Power Platform 搭配使用,則具有該保存庫的 Azure 訂閱必須註冊 PowerPlatform 資源提供者,且建立環境變數的使用者必須具有 Azure Key Vault 資源的適當權限。

備註

  • 我們最近已變更在 Azure 金鑰保管庫中用於判斷提示存取權限的資訊安全角色。 先前的指示包括指派 Key Vault 讀者角色。 如果您已使用 Key Vault 讀者角色設定金鑰保存庫,請確定您已新增 Key Vault 祕密使用者角色,確保使用者與 Dataverse 都有足夠的權限來擷取祕密。
  • 我們發現,我們的服務正在使用 Azure 角色型存取控制 API 來評估資料安全角色指派,即使您仍然將金鑰保存庫設定為使用保存庫存取原則權限模型,也是如此。 為了簡化設定起見,建議您將保存庫權限模型切換為 Azure 角色型存取控制。 您可以在存取設定索引標籤中執行此動作。
  1. 在您的 Azure 訂閱中註冊 Microsoft.PowerPlatform 資源提供者。 請遵循下列步驟來驗證和設定:資源提供者和資源類型

    在 Azure 中註冊 Power Platform 提供者

  2. 建立 Azure Key Vault 保存庫。 考慮針對每個 Power Platform 環境使用不同的保存庫,以最大程度地降低發生缺口時的威脅。 考慮將金鑰保存庫設定為針對權限模型使用 Azure 角色型存取控制。 其他資訊:使用 Azure Key Vault 的最佳做法快速入門 - 使用 Azure 入口網站建立 Azure Key Vault

  3. 建立或使用祕密類型之環境變數的使用者必須有擷取祕密內容的權限。 若要授與新使用者使用祕密的權限,請選取存取控制 (IAM) 區域、選取新增,然後從下拉式功能表選取新增角色指派。 其他資訊:使用 Azure 角色型存取控制,提供對 Key Vault 金鑰、憑證與祕密的存取權

    在 Azure 中查看我的存取權

  4. 新增角色指派精靈中,讓預設指派類型保留為工作功能角色,並繼續至角色索引標籤。尋找 Key Vault 祕密使用者角色並加以選取。 繼續前往成員索引標籤並選擇選取成員連結,然後在側邊面板中找出使用者。 當您選取使用者,而其顯示在成員區段中時,請繼續移至 [檢閱並指派] 索引標籤並完成精靈。

  5. Azure Key Vault 必須已將 Key Vault 祕密使用者角色授與 Dataverse 服務主體。 如果此保存庫不存在,請使用先前用於終端使用者權限的同樣方法新增新的存取原則,只是使用的身分識別是 Dataverse 應用程式而不是使用者。 如果您的租用戶有多個 Dataverse 服務主體,則建議您選取所有的服務主體並儲存角色指派。 指派角色之後,即複查角色指派清單中列出的每個 Dataverse 項目,並選取 Dataverse 名稱以檢視詳細資料。 如果應用程式識別碼不是 00000007-0000-0000-c000-000000000000,請選取該識別碼,然後選取移除,將其從清單中移除。

  6. 如果您已啟用 Azure Key Vault 防火牆,則您必須允許 Power Platform IP 位址存取您的金鑰保存庫。 Power Platform 不包含在「僅受信任的服務」選項中。 因此,請參閱 Power Platform URL 和 IP 位址範圍 一文,以了解服務中目前使用的 IP 位址。

  7. 如果尚未取得,請將密碼新增至新的保存庫。 其他資訊:Azure 快速入門 - 使用 Azure 入口網站設定並從 Key Vault 擷取密碼

為 Key Vault 密碼建立新的環境變數

設定 Azure Key Vault 並在您的保存庫中註冊了密碼後,就可以在 Power Apps 中使用環境變數來參考它。

備註

  • 密碼的使用者存取驗證會在背景執行。 如果使用者不具備最起碼的讀取權限,則會顯示此驗證錯誤:「此變數無法正確儲存。」 使用者無權從「Azure Key Vault 路徑」讀取密碼。”
  • 目前,Azure Key Vault 是環境變數唯一支援的密碼存放區。
  • Azure Key Vault 必須和您的 Power Platform 訂閱一樣,在相同的租用戶中。
  1. 登入 Power Apps,然後在解決方案區域中,打開要用來開發的未受管理解決方案。

  2. 選取新增 > 其他 > 環境變數

  3. 為環境變數輸入顯示名稱描述 (選擇性輸入)。

  4. 資料類型選取為密碼秘密存放區選取為 Azure Key Vault

  5. 從下列選項中選擇:

    • 選取新的 Azure Key Vault 值參考。 在下一個步驟新增資訊並儲存之後,就會建立環境變數記錄。
    • 展開顯示預設值以顯示欄位,建立預設 Azure Key Vault 密碼。 在下一個步驟新增資訊並儲存之後,將預設值分界新增至環境變數定義記錄中。
  6. 輸入下列資訊:

    • Azure 訂閱識別碼:與金鑰保存庫關聯的 Azure 訂閱識別碼。

    • 資源群組名稱:包含密碼的金鑰保存庫所在的 Azure 資源群組。

    • Azure Key Vault 名稱:包含密碼之金鑰保存庫的名稱。

    • 密碼名稱:位於 Azure Key Vault 中的密碼名稱。

      提示

      訂閱識別碼、資源群組名稱及金鑰保存庫名稱,可在金鑰保存庫的 Azure 入口網站概觀頁面中找到。 選取設定底下的密碼,可在 Azure 入口網站的金鑰存放庫頁面上找到金鑰名稱。

  7. 選取儲存

建立 Power Automate 流程以測試環境變數密碼

示範如何使用從 Azure Key Vault 取得的密碼簡單案例,就是建立 Power Automate 流程,以使用該密碼來對照 Web 服務進行驗證。

備註

此範例中 Web 服務的 URI 並非可正常運作的 Web 服務。

  1. 登入 PowerApps,選取解決方案,然後打開您要的未受管理解決方案。 If the item isn’t in the side panel pane, select …More and then select the item you want.

  2. 選取新增 > 自動化 > 雲端流程 > 即時

  3. 輸入流程的名稱,選取手動觸發流程,然後選取建立

  4. 選取新增步驟,選取 Microsoft Dataverse 連接器,然後按一下動作索引標籤上的執行未繫結動作

  5. 從下拉式清單中選取名為 RetrieveEnvironmentVariableSecretValue 的動作。

  6. 提供上一節中新增的環境變數唯一名稱 (不是顯示名稱),在此範例中是使用 new_TestSecret

  7. 選取 ... > 重新命名以重新命名動作,以便在下一個動作中能更輕鬆地參考它。 在下方的螢幕擷取畫面中,已將其重新命名為 GetSecret

    測試環境變數密碼的即時流程設定

  8. 選取 ... > 設定,以顯示 GetSecret 動作設定。

  9. 在 [設定] 中啟用安全輸出選項,然後選取完成。 這是為了防止動作輸出暴露在流程執行歷程記錄中。

    啟用動作的安全輸出設定

  10. 選取新增步驟,搜尋並選取 HTTP 連接器。

  11. 方法選取為取得,並輸入 Web 服務的 URI。 在此範例中,使用虛構的 Web 服務 httpbin.org

  12. 選取顯示進階選項,將驗證選取為基本,然後輸入使用者名稱

  13. 選取密碼欄位,然後在上述流程步驟名稱底下的動態內容索引標籤 (在此範例為 GetSecret) 選取 RetrieveEnvironmentVariableSecretValueResponse EnvironmentVariableSecretValue,然後將其新增為運算式 outputs('GetSecretTest')?['body/EnvironmentVariableSecretValue']body('GetSecretTest')['EnvironmentVariableSecretValue']

    使用 HTTP 連接器建立新的步驟

  14. 選取 ... > 設定,以顯示 HTTP 動作設定。

  15. 在 [設定] 中啟用安全輸入安全輸出選項,然後選取 完成。 啟用這些選項可防止動作的輸入和輸出暴露在流程執行歷史記錄中。

  16. 選取儲存以建立流程。

  17. 手動執行流程以測試它。

    使用流程的執行歷程記錄,可以驗證輸出。

    流程輸出

限制

  • 參考 Azure Key Vault 密碼的環境變數目前只能與 Power Automate 流程和自訂連接器搭配使用。

另請參閱

在畫布應用程式中使用資料來源環境變數
在 Power Automate 解決方案雲端流程中使用環境變數
環境變數概觀。