共用方式為


Bot Framework 驗證基本概念

適用于: SDK v4

Bot 通常必須代表使用者存取受保護的資源,例如電子郵件帳戶。 若要這樣做,Bot 必須 根據使用者的認證獲得授權 。 在此之前,使用者必須先 進行 驗證。 Bot 必須是已知的實體,也就是必須在 Azure AI Bot Service 內容內進行驗證。 在 Bot 獲得授權代表使用者操作之前,就會發生這種情況。

讓我們看看我們是否可以從 Bot Framework 驗證內容的鳥眼檢視開始,來解開此套件組合。

Bot authentication context

  • 當您透過 Azure Bot 資源在 Azure 中註冊 Bot 時,Azure 會建立 Microsoft Entra ID 註冊應用程式。 此應用程式具有應用程式識別碼 ( MicrosoftAppId ) 和用戶端密碼 ( MicrosoftAppPassword )。 您可以在 Bot 組態檔中使用這些值,如下所述。

  • Microsoft Entra ID 是雲端身分識別服務,可讓您建置使用 OAuth 2.0 等業界標準通訊協定安全地登入 使用者 的應用程式。 您可以建立 Active Directory 應用程式,並使用其 應用程式識別碼 密碼 來選取 識別提供者 並產生 驗證 連線。 您會將此連線新增至 Bot 資源。 您也可以在 Bot 組態檔中新增連線名稱,如下所示。

  • Bot 會透過其 Azure Bot 資源 應用程式識別碼 密碼 來識別。 您可以將 Bot 組態檔中的相關值或新增至秘密或金鑰管理員。 您也會新增連線名稱。 Bot 會根據應用程式識別碼和密碼使用權杖來存取受保護的資源。 Bot 會根據驗證連線使用不同的權杖來存取使用者的受保護資源。

Bot 驗證和授權

以下是驗證 Bot 並授權其存取使用者受保護資源的主要步驟:

  1. 建立 Bot 通道註冊應用程式。
  2. 將註冊應用程式識別碼和密碼新增至 Bot 組態檔。 這可讓 Bot 驗證以存取受保護的資源。
  3. 建立 Microsoft Entra ID 應用程式,以選取識別提供者來驗證使用者。
  4. 建立驗證連線,並將它新增至通道註冊設定。
  5. 將連線名稱新增至 Bot 的組態檔。 這可讓 Bot 獲得存取使用者受保護資源的授權。

如需完整的範例,請參閱 將驗證新增至 Bot

最佳作法

  • 將 Microsoft Entra ID 應用程式註冊限制為其服務對服務應用程式的原始用途。
  • 為任何使用者建立額外的 Microsoft Entra ID 應用程式來服務驗證,以更有限地控制停用驗證連線、滾動秘密,或與其他應用程式重複使用 Microsoft Entra ID 應用程式。

如果您也使用 Microsoft Entra ID 註冊應用程式進行驗證,您可能會遇到的一些問題如下:

  • 如果附加至 Microsoft Entra ID 應用程式註冊的憑證需要更新,則會影響已使用憑證向其他 Microsoft Entra ID 服務驗證的使用者。
  • 一般而言,它會為 Bot 的所有驗證相關活動建立單一失敗點和控制。

下列文章提供 Bot Framework 內驗證的深入資訊和範例。 從查看驗證類型 ,然後 查看 識別提供者 開始。

文章 描述
驗證類型 描述兩種 Bot Framework 驗證類型和所使用的權杖。
識別提供者 描述識別提供者的使用。 其可讓您建置應用程式,以使用 OAuth2.0 等業界標準通訊協定安全地登入使用者。
使用者驗證 描述使用者的驗證和相關權杖,以授權 Bot 代表使用者執行工作。
單一登入 描述多個受保護資源存取的單一使用者驗證。
向 Azure 註冊 Bot 示範如何向 Azure AI Bot 服務註冊 Bot。
Bot Framework 安全性指導方針 描述一般的安全性,以及它套用至 Bot Framework 時。
將驗證新增至 Bot 示範如何建立 Bot 通道註冊、建立驗證連線,以及準備程式碼。
將單一登入新增至 Bot 示範如何將單一登入驗證新增至 Bot。