【Reference】Azure PVA — Power Virtual Agents 上架至 Teams 程序

Kellen
10 min readApr 15, 2024

--

參考官方複雜的說明,記錄一下在 Power Virtual Agent 上線至 Teams 的流程與對應工具,及 Azure 這邊的 Roles 設定與 App Registration 資訊,與 Developer Portal 可以處理那些事情,剛好與前幾篇使用微軟的 Bot 權限處理有一些共同的作業。

預計上架會有以下流程要留意

👣Step01. 建置你的副手(Agent)

👣Step02. 發佈

👣Step03. 移至管道(Channel)

這邊可以選擇所需要發佈的 Channel

可以選擇共用及提交給管理員核準

在組織的 Teams 應用程式的商店顯示,並留意應用程式識別碼,亦會是管理員在 Teams Admin Center 看到的 App ID

接續會秀出要佈署至應用程式商店的資訊,並留意應用程式識別碼才是唯一值,建議在 Bot Agent 取名時候要有 naming rule,避免名稱混洧造成後續管理困難,這邊亦是會登錄在 Azure 應用程式註冊(App Registration)之上。

使用 MS Bot Framework 上架程序的參考:【How-to Guides】Azure Apps — Build Your First EchoBot with Python

👣Step04. 檢查 Azure 應用程式註冊(App Registration)

同樣的在發佈後亦可以至 Azure 應用程式註冊(App Registration),在 Microsoft Entra ID(AAD)亦要有應用程式 Role 的權限,permission 上有些差異,需配合組織適切的 Role

  • 應用程式系統管理員:能夠建立及管理應用程式註冊與企業應用程式的所有層面
  • 應用程式開發人員:可建立與「使用者可註冊應用程式」設定不相關的應用程式註冊
微軟官方 Roles 說明:應用程式開發人員
微軟官方 Roles 說明:應用程式系統管理員

使用 Developer Portal 將 PVA 新增至 Teams 方式

如果您的 Teams 實例中啟用了上傳自訂應用程序,您可以使用 Teams 開發人員入口網站直接上傳您的聊天機器人並立即開始使用。要分享您的聊天機器人,您可以請求管理員在租用戶應用程式目錄中提供您的機器人,或者您可以將您的應用程式套件發送給其他人並要求他們獨立上傳。

👣Step01. 引入 Developer Portal

  1. 在 Teams 中安裝 Developer Portal
  2. 從 Teams Store 安裝 Developer Portal,簡化在 Teams 中建立和註冊機器人的過程

👣Step02. 設定

  1. Developer Portal 中建立應用程式清單(以前為 Teams App Studio)
  2. Teams 中的機器人由應用程式清單 JSON 檔案定義,該檔案提供有關機器人及其功能的基本資訊。在開發者入口網站中,選擇「應用程式」,然後選擇「新應用程式」

Reference:📝Add Power Virtual Agents chatbot

👣Step03. 管理員審核

在「關於」標籤上,您可以查看有關應用程式的詳細信息,包括描述、狀態和應用程式的 App ID。

Types of Teams Apps

由於 Teams 應用商店中有數百個應用程序,管理員很難確定哪些應用程式對其組織有益並需要引入進來,幸運的是,Microsoft Teams Admin Center 提供了每個應用程式的資訊,並進行分門別類的管理或制定 Policy。

Teams App 分成以下三種

  • Microsoft Apps:這些由 Microsoft 創建和發布,包括熟悉的應用程序,如 Forms、OneNote、Stream 以及其他應用程序,如 Bing News、Power Automate、Dynamics 365 等
  • Third Party Apps:許多 ISV 發布了 Teams 應用程序,您可以在 Teams 應用商店中找到其中的絕大多數,例如常見 Incoming Webhook
    註:獨立軟體供應商認證 Independent software vendor,簡稱 ISV
  • Custom Apps:自訂應用程式特定於您的組織;專為使用者的業務需求而建置使用

管理員可以在「管理應用程式」部分中選擇應用程序,然後查看說明、使用條款、權限、認證,甚至計劃和定價

權限策略中,可以為整個組織僅允許信任特定應用程式(或稱阻止所有未經任信任的應用程式)

👣Step04. 管理員核準

在 Teams app 的 Manage apps 提交至管理員以供批准,選擇應用程式名稱,進入應用程式詳情頁面。

由於客戶端需要刷新緩存,經驗上應用程式可能需要幾個小時或到幾天才能出現,等待的時間滿不友善的!

管理員視角畫面 1. Status 為 Blocked
管理員視角畫面 2. 點選 Allowed
管理員視角畫面 3. 回到主頁面 Status 為 Allowed

Developer Portal & App Studio 資訊補充

Microsoft Teams App Studio 已於 2022 年進行棄用下架,改使用 Developer Portal。

Developer Portal 已於 2021 年 5 月發布,包含與 App Studio 相同的功能集,以及一些額外功能。但不同之處在於,Developer Portal 可以作為 Teams 應用程式或獨立網站進行存取。許多核心功能將是熟悉的並且大部分保持不變。開發人員應該會發現 App Studio 中的現有應用程式顯示在開發人員入口網站中,並且會識別可協助他們建立有效清單檔案的應用程式建置功能。

如何取得 Microsoft Teams Developer Portal

若要開始在 Microsoft Teams 中使用 Developer Portal,請在 Teams 應用程式商店中搜尋「Developer Portal」。它是 App Studio 的一個單獨的應用程序,因此如果您的環境受到限制,需要請求 Teams 管理員批准它。

過去 App Studio 也有對應 Dashbaord 可查看 PVA 使用資訊,這次也有移到 Developer Portal。

權限開立

一般個人使用基本上應該都具管理員身份或 Application Admin,如果是在組織內部使用,需要 Azure 管理員討論要開具那個 Roles

Application AdministratorApplication Developer 對應項下的 permission 不太一樣

註:有兩個許可權可用來授與建立應用程式註冊的能力,每個許可權都有不同的行為

microsoft.directory/applications/createAsOwner
指派此權限會使建立者新增為已建立之應用程式註冊的第一個擁有者,且已建立的應用程式註冊將計入建立者 250 個的物件建立配額中。

microsoft.directory/applications/create
指派此許可權會導致建立者未新增為所建立應用程式註冊的第一個擁有者,而建立的應用程式註冊不會計入建立者的 250 個建立物件配額。 請小心使用此許可權,因為沒有任何阻礙被指派者建立應用程式註冊,直到達到目錄層級配額為止。

有兩個許可權可用來授與刪除應用程式註冊的能力:

microsoft.directory/applications/delete
授與刪除應用程式註冊的能力,不論子類型為何;也就是說,單一租使用者和多租用戶應用程式。

microsoft.directory/applications.myOrganization/delete
授與刪除僅限貴組織帳戶或單一租使用者應用程式之帳戶存取的應用程式註冊的能力(myOrganization 子類型)。

--

--

Kellen

Backend(Python)/K8s and Container eco-system/Technical&Product Manager/host Developer Experience/早期投入資料創新與 ETL 工作,近期研究 GCP/Azure/AWS 相關的解決方案的 implementation