Bot Framework 驗證基本概念
適用于: SDK v4
Bot 通常必須代表使用者存取受保護的資源,例如電子郵件帳戶。 若要這樣做,Bot 必須 根據使用者的認證獲得授權 。 在此之前,使用者必須先 進行 驗證。 Bot 必須是已知的實體,也就是必須在 Azure AI Bot Service 內容內進行驗證。 在 Bot 獲得授權代表使用者操作之前,就會發生這種情況。
讓我們看看我們是否可以從 Bot Framework 驗證內容的鳥眼檢視開始,來解開此套件組合。
當您透過 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 並授權其存取使用者受保護資源的主要步驟:
- 建立 Bot 通道註冊應用程式。
- 將註冊應用程式識別碼和密碼新增至 Bot 組態檔。 這可讓 Bot 驗證以存取受保護的資源。
- 建立 Microsoft Entra ID 應用程式,以選取識別提供者來驗證使用者。
- 建立驗證連線,並將它新增至通道註冊設定。
- 將連線名稱新增至 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。 |