共用方式為


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

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

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

環境引用金鑰的變數目前無法從動態內容選擇器中獲得,無法在 Power Automate 流程中使用。

設定 Azure Key Vault

若要使用 Power Platform Azure Key Vault 機密,具有保管庫的 Azure 訂閱必須註冊資源 PowerPlatform 提供程式,並且創建環境變數的用戶必須具有對 Azure Key Vault 資源的適當許可權。

重要

  • 用於在 Azure Key Vault 中斷言訪問許可權的資訊安全角色最近進行了更改。 先前的指示包括指派 Key Vault 讀者角色。 如果之前使用 Key Vault 讀者角色設置了 Key Vault,請確保添加 Key Vault 機密使用者角色,以確保您的使用者 Microsoft Dataverse 具有足夠的許可權來檢索機密。
  • 我們發現,我們的服務正在使用 Azure 角色型存取控制 API 來評估資料安全角色指派,即使您仍然將金鑰保存庫設定為使用保存庫存取原則權限模型,也是如此。 為了簡化設定起見,建議您將保存庫權限模型切換為 Azure 角色型存取控制。 您可以在 Access configuration(訪問配置 選項卡上執行此操作。
  1. Microsoft.PowerPlatform 在 Azure 訂閱中註冊資源提供程式。 跟隨以下步驟進行驗證和配置: 資源提供程式和資源類型

     Power Platform 在 Azure 中註冊提供者

  2. 建立 Azure Key Vault 保存庫。 考慮針對每個 Power Platform 環境使用不同的保存庫,以最大程度地降低發生缺口時的威脅。 請考慮將金鑰保管庫配置為對 Permission 模型使用 Azure 基於角色的訪問控制 詳細資訊: 使用 Azure Key Vault 的最佳實踐, 快速入門 - 使用 Azure 門戶創建 Azure Key Vault

  3. 建立或使用祕密類型之環境變數的使用者必須有擷取祕密內容的權限。 要授予新使用者使用密鑰的能力,請選擇 Access control(IAM) 區域,選擇 Add,然後從 下拉清單中選擇 Add role assignment 。 詳細資訊: 使用 Azure 基於角色的訪問控制提供對 Key Vault 金鑰、證書和機密的訪問許可權

    在 Azure 中查看我的訪問許可權

  4. 在 Add role assignment ( 添加角色分配 ) 嚮導中,將預設分配類型保留為 Job function roles ( 工作職能角色 ),然後繼續轉到 Role(角色 選項卡。找到 Key Vault Secrets User (密鑰保管庫機密使用者角色 ) 並選擇它。 繼續到 members 選項卡,選擇 Select members 連結然後在側面板中找到使用者。 當您選取使用者,而其顯示在成員區段中時,請繼續移至 [檢閱並指派] 索引標籤並完成精靈。

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

  6. 如果已啟用 Azure Key Vault Firewall,則必須允許 Power Platform IP 位址訪問密鑰保管庫。 Power Platform 不包含在「僅受信任的服務」選項中。 轉到 Power Platform 服務中使用的當前 IP 位址的 URL 和 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登錄並在 Solutions(解決方案 區域中,打開您用於開發的非託管解決方案。

  2. 選擇 New More 環境 variable (新建>更多>變數)。

  3. 輸入 a 顯示名稱 以及環境變數的 Description (可選 )。

  4. 選擇數據類型 作為 Secret 並選擇 Secret Store 作為 Azure Key Vault

  5. 從下列選項中選擇:

    • 選擇 New Azure Key Vault value reference (新建 # Key Vault 值引用)。 在下一步中添加並保存資訊后,將創建一個環境變數 記錄。
    • 展開 Show default value(顯示預設值)以顯示用於創建 Default Azure Key Vault secret ( 預設 # Key Vault 密鑰) 的欄位。 在下一步中添加並保存資訊后,預設值劃分將添加到環境變數 定義 記錄中。
  6. 輸入下列資訊:

    • Azure 訂閱 ID:與金鑰保管庫關聯的 Azure 訂閱 ID。

    • 資源組名稱:包含金鑰的金鑰保管庫所在的 Azure 資源組。

    • Azure Key Vault Name:包含密鑰的 Key Vault 的名稱。

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

      提示

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

  7. 選取儲存

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

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

注意

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

  1. 登錄 Power Apps,選擇 Solutions (解決方案),然後打開所需的非託管解決方案。 如果此項目不在側邊面板窗格中,請選取 ...其他 ,然後選取您想要的項目。

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

  3. 輸入流的名稱,選擇 Manually 發射鍵 a flow ( 手動流),然後選擇 Create (創建)。

  4. 選擇「新建步驟」,選擇 連接器,然後在「操作Microsoft Dataverse 選項卡上選擇 “執行未綁定操作 ”。

  5. 從下拉清單中選擇名為 RetrieveEnvironmentVariableSecretValue 的操作。

  6. 提供環境變數 unique name (不是顯示名稱) 在上一節中添加,此示例 使用 new_TestSecret

  7. 選擇 ...>Rename 重命名操作,以便在下一個操作中更容易引用它。 在此螢幕截圖中,它已重命名為 GetSecret

    用於測試環境變數金鑰的即時流配置

  8. 選擇 ...>Settings (設置 ) 以顯示 GetSecret 操作設置。

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

    為操作啟用安全輸出設置

  10. 選擇「新建步驟 ,搜索,然後選擇 HTTP 連接器。

  11. 選擇 Method 作為 GET 並輸入 Web 服務的 URI 。 在此示例中,使用了虛構的 Web 服務 httpbin.org

  12. 選擇 Show advanced options (顯示高級選項),選擇 Authentication(身份驗證 作為 Basic (基本),然後輸入 Username (使用者名)。

  13. 選擇 Password 字段,然後在上述 流程步驟名稱 (本例中為 GetSecret ) 下的 Dynamiccontent 選項卡上,選擇 RetrieveEnvironmentVariableSecretValueResponse EnvironmentVariableSecretValueValueValue,然後將其添加為表達式 outputs('GetSecretTest')?['body/EnvironmentVariableSecretValue'] or body('GetSecretTest')['EnvironmentVariableSecretValue']

    使用 HTTP 連接器創建新步驟

  14. 選擇 ...>Settings (設定 ) 以顯示 HTTP 操作設置。

  15. 在設置中啟用 Secure InputsSecure Outputs 選項,然後選擇 完成。 啟用這些選項可防止動作的輸入和輸出暴露在流程執行歷史記錄中。

  16. 選擇 Save (保存 ) 以創建流。

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

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

    流輸出

在中使用環境變數金鑰 Microsoft Copilot Studio

環境變數 secret 的工作方式 Microsoft Copilot Studio 略有不同。 您需要完成配置 Azure Key Vault 為 Key Vault 機密 創建新的環境變數部分中 的步驟,才能將機密與環境變數一起使用。

授予 Copilot Studio 對 Azure Key Vault 的訪問許可權

執行下列步驟:

  1. 返回到 Azure Key Vault。

  2. Copilot Studio 需要訪問 Key Vault。 要授予 Copilot Studio 使用密鑰的能力,請選擇左側導航欄中的 Access control (IAM), 選擇 Add (添加),然後選擇 Add role assignment (添加角色分配)。

    在 Azure 中查看我的訪問許可權

  3. 選擇 Key Vault Secrets User 角色,然後選擇 Next

  4. 選擇 Select Members (選擇成員),搜索 Power Virtual Agents Service (服務),選擇它,然後選擇 Select (選擇)。

  5. 選擇 螢幕底部的 Review + assign (查看 + 分配 )。 查看資訊,如果一切正確,請再次選擇 Review + assign (查看 + 分配 )。

添加標記以允許副手訪問 Azure Key Vault 中的機密

完成本部分中的前面步驟后, Copilot Studio 現在可以訪問 Azure Key Vault,但你還不能使用它。 要完成工作,跟隨以下步驟操作:

  1. 轉到 Microsoft Copilot Studio 並打開要用於環境變數 secret 的專員或創建一個新密鑰。

  2. 打開專員主題或創建一個新

  3. + 選擇圖示以添加節點,然後選擇 Send a message 發送消息)。

  4. 選擇 Insert variable {x} 選項。

  5. 選擇環境 選項卡。選擇您在為 Key Vault 金鑰 創建新的環境變數步驟中建立 的環境變數金鑰。

  6. 選擇 Save 以保存您的主題。

  7. 在測試窗格中,使用您剛剛添加 Send a message (發送消息)節點的主題的開始短語之一測試您的主題環境變數密鑰。 您應該遇到如下所示的錯誤:

    錯誤消息:不允許機器人使用環境變數。要將機器人添加到允許清單中,請添加帶有 value 的標籤 'AllowedBots'。

    這意味著您需要返回 Azure Key Vault 並編輯密鑰。 保持 Copilot Studio 打開狀態,因為您稍後會回到這裡。

  8. 轉到 Azure Key Vault。 在左側導航欄中,選擇 Objects (物件) 下的 Secrets(金鑰 。 通過選擇名稱來選擇要在其中使用的 Copilot Studio 金鑰。

  9. 選擇金鑰的版本。

  10. 選擇 Tags (標籤 ) 旁邊的 0 tags (0 標籤)。 添加 Tag name(標籤名稱和 Tag value (標籤值)。 中的 Copilot Studio 錯誤消息應為您提供這兩個屬性的確切值。 在 Tag Name (標籤名稱 ) 下 ,您需要添加 AllowedBots ,在 Tag Value ( 標籤值 ) 中,您需要添加錯誤消息中顯示的值。 這個值格式為 {envId}/{schemaName}。 如果需要允許多個 Copilot,請用逗號分隔值。 完成時,選取確定

  11. 選擇 Apply (應用 ) 以將標籤應用於金鑰。

  12. 返回。 Copilot Studio 在 Test your 副手 (測試你的 # 窗格中選擇 Refresh(刷新 )。

  13. 在測試窗格中,使用主題的開始短語之一再次測試主題。

金鑰的值應顯示在測試面板中。

添加標記以允許環境中的所有 Copilot 訪問 Azure Key Vault 中的機密

或者,可以允許環境中的所有 Copilot 訪問 Azure Key Vault 中的機密。 要完成工作,跟隨以下步驟操作:

  1. 轉到 Azure Key Vault。 在左側導航欄中,選擇 Objects (物件) 下的 Secrets(金鑰 。 通過選擇名稱來選擇要在其中使用的 Copilot Studio 金鑰。
  2. 選擇金鑰的版本。
  3. 選擇 Tags (標籤 ) 旁邊的 0 tags (0 標籤)。 添加 Tag name(標籤名稱和 Tag value (標籤值)。 在 Tag Name (標記名稱) 下 ,添加 AllowedEnvironments ,然後在 Tag Value (標記值 ) 下添加要允許的環境的環境 ID。 完成時,選擇 確定
  4. 選擇 Apply (應用 ) 以將標籤應用於金鑰。

限制

引用 Azure Key Vault 機密的環境變數目前僅限於與 Power Automate 流、 Copilot Studio 代理和自定義連接器一起使用。

另請參閱

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