> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livingsecurity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Teams 整合

> 將 Living Security 連接至 Microsoft Teams，以傳送訓練通知、安全警示及頻道公告。

Microsoft Teams 整合會透過 Living Security Teams 應用程式，將 Living Security 通知傳送給使用者與頻道。可用於訓練指派、人員風險警示、推行訊息，以及資安團隊公告。

此整合僅提供通知功能。使用者無法在 Microsoft Teams 中向機器人傳送指令。安裝應用程式後，機器人會儲存 Teams 對話參照，以便日後主動傳送通知。安裝訊息為單向訊息，可依企業推行需求自訂或停用。

<Warning>
  Microsoft Teams 管理員仍須上傳、核准並散布
  Living Security Teams 應用程式。Microsoft Entra `User.Read.All` 管理員同意
  為選用項目，僅用於啟用電子郵件或使用者主體名稱 (UPN) 查詢備援機制。
</Warning>

<Note>
  若要設定提醒與手冊的傳送，請前往 **設定 → 通訊 →
  頻道**，然後按一下 **Microsoft Teams** 卡片。本頁說明
  底層 Teams 應用程式的設定。
</Note>

## 先決條件

在設定 Microsoft Teams 之前，請確認您具備下列條件：

* 一位可上傳並核准組織應用程式的 Microsoft Teams 管理員。同一人可同時擔任這兩種管理員角色。
* 僅在您要透過租用戶範圍的 `User.Read.All` 應用程式同意來啟用選用的電子郵件/UPN 查詢備援機制時，才需要 Microsoft Entra 管理員
* Living Security 管理員權限
* 有效的 Living Security 組織
* 若已啟用頻道公告，則需準備要傳送資安公告的團隊與頻道名稱
* 您的 Microsoft Entra 租用戶 ID，可在 **Microsoft Entra 管理中心 → 身份 → 概述** 下找到

## 職責分工

| 角色 | 職責 |
| - | - |
| **Living Security 管理員** | 連接 Microsoft 租用戶、下載區域套件、設定安裝訊息、驗證設定並傳送測試 |
| **Microsoft Teams 管理員** | 上傳並允許應用程式、將其散布給指定的使用者或群組，並指派應用程式設定原則 |
| **Microsoft Entra 管理員**（選用） | 在需要電子郵件/UPN 查詢備援機制時，對區域 Bot 應用程式 ID 授予 `User.Read.All` 應用程式同意 |
| **Teams 擁有者**（使用頻道傳送時） | 為指定的團隊與頻道安裝或核准應用程式 |

這些角色可由不同人員擔任。請將套件檢查碼、Teams 應用程式 ID、**Bot 應用程式 ID** 以及預定的推行對象提供給 Microsoft Teams 管理員。僅在啟用選用的電子郵件/UPN 查詢備援機制時，才需將產生的同意 URL 提供給 Microsoft Entra 管理員。請勿分享與此無關的 Living Security 憑證。

## 設定

<Steps>
  <Step title="開啟 Microsoft Teams 設定面板">
    在 Living Security 中，前往 **設定 → 通訊 → 頻道**，然後選取 **Microsoft Teams**。

    此面板會顯示您的組織區域、套件檔名、Teams 應用程式 ID、Bot 應用程式 ID、SHA256 檢查碼、Microsoft 租用戶設定狀態、安裝說明、安裝訊息控制項、驗證工具及測試通知工具。

    <Check>
      Living Security 中顯示的區域與貴組織的代管區域相符。
    </Check>
  </Step>

  <Step title="連接您的 Microsoft 租用戶">
    在 **連接您的租用戶** 中，輸入擁有接收通知之使用者與 Teams 頻道的 Microsoft Entra 租用戶 ID，然後按一下 **儲存 Microsoft 租用戶**。一個 Microsoft 租用戶只能隸屬於一個 Living Security 組織。

    若無法使用租用戶控制項，請在安裝應用程式之前，與您的 Living Security 實作負責人或支援聯絡人聯繫，以連接或變更租用戶。

    <Check>
      在繼續之前，Living Security 會顯示 **Microsoft 租用戶已連接**。
    </Check>

    <Note>
      建議盡可能在安裝 Teams 應用程式之前先連接租用戶。若應用程式已安裝，請先儲存租用戶，然後選取 **驗證安裝**。Living Security 會嘗試自動關聯現有的安裝；僅當驗證無法偵測到時，才需重新安裝。
    </Note>
  </Step>

  <Step title="下載區域 Teams 套件">
    按一下 **下載 Teams 套件**。Living Security 會為您的組織提供特定區域的 ZIP 套件。

    在進行任何變更之前，請先對照 Living Security 中顯示的 SHA256 檢查碼驗證下載的檔案。若要為應用程式設定您自己的名稱與圖示，請在此項檢查之後、上傳套件之前，依照[重新設定區域套件品牌](#%E9%87%8D%E6%96%B0%E8%A8%AD%E5%AE%9A%E5%8D%80%E5%9F%9F%E5%A5%97%E4%BB%B6%E5%93%81%E7%89%8C)進行。

    <Check>
      下載檔案的檢查碼與 Living Security 中顯示的 SHA256 檢查碼相符。
    </Check>
  </Step>

  <Step title="在 Teams 管理中心上傳並安裝套件">
    在 Microsoft Teams 管理中心，前往 **Teams 應用程式 → 管理應用程式 → 操作 → 上傳新應用程式**，然後上傳從 Living Security 下載的 ZIP 檔案。

    請確認：

    * Teams 應用程式 ID 與 Bot 應用程式 ID 和 Living Security 中顯示的值相符
    * 應用程式名稱為區域的 Living Security 名稱，或是您重新設定品牌後所設定的名稱
    * 發行者為 **Living Security**。重新設定套件品牌不會變更發行者
    * 應用程式未遭封鎖
    * 應用程式可供指定的使用者或群組使用
    * 已透過應用程式設定原則或指定對象安裝，為應該接收通知的使用者及團隊/頻道安裝應用程式

    Microsoft 可能需要一些時間來傳播應用程式可用性與設定原則的變更。

    <Note>
      若在變更應用程式原則後，驗證或測試立即失敗，請在 Microsoft Teams 管理中心確認原則指派，並在 Microsoft 完成傳播後重試。
    </Note>
  </Step>

  <Step title="安裝或開啟應用程式">
    將個人應用程式散布給指定的使用者。在 Living Security 能向偵測到的安裝傳送個人測試之前，至少須有一位使用者
    在 Microsoft Teams 中安裝或開啟 Living Security 個人應用程式。這
    能讓機器人擷取使用者的受信任身份與個人
    對話參照。僅有頻道安裝無法用於
    個人偵測安裝測試。

    若要使用頻道傳送，請在指定的團隊與頻道中安裝應用程式，讓
    機器人能擷取該頻道的對話參照。

    <Check>
      目標使用者已安裝或開啟個人應用程式，或應用程式
      已安裝在指定的頻道中。
    </Check>
  </Step>

  <Step title="設定安裝訊息">
    在 **安裝訊息控制項** 區段中，選擇是否傳送 Teams 安裝訊息，並為貴組織自訂單向訊息內容。

    可用的控制項：

    * 傳送安裝訊息
    * 傳送個人安裝訊息
    * 傳送頻道安裝訊息
    * 預設訊息
    * 個人訊息
    * 頻道訊息

    訊息欄位支援 `{{installerName}}`，該變數會解析為安裝應用程式之使用者的顯示名稱。將個人或頻道訊息留白，即可使用您設定的預設訊息。若預設訊息也留白，Living Security 會使用該範圍的內建訊息。
  </Step>

  <Step title="驗證設定">
    在 Living Security 中按一下 **驗證安裝**。驗證會檢查區域套件是否可用、Microsoft 租用戶設定是否存在且僅屬於此 Living Security 組織、區域機器人憑證是否已設定，以及是否已針對所連接的租用戶偵測到有效的應用程式安裝。

    <Check>
      在傳送正式通知之前，驗證會顯示 **驗證通過**。
    </Check>
  </Step>

  <Step title="傳送測試通知">
    若要執行預設的個人測試，請按一下 **傳送測試至偵測到的安裝**。
    Living Security 會選取偵測到的有效個人安裝，並使用其
    儲存的受信任身份與對話參照。此測試不會呼叫
    Microsoft Graph，也不需要 `User.Read.All` 同意。

    若未偵測到任何個人安裝，請要求使用者安裝或開啟
    Living Security 個人應用程式，再次選取 **驗證安裝**，然後
    重新傳送測試。僅在已啟用選用的查詢備援機制時，才使用進階的指定電子郵件/UPN 測試。

    <Check>單向測試通知會顯示在 Microsoft Teams 中。</Check>

    需要傳送診斷資訊時，請查看[通訊記錄](/zh-Hant/features/communications/log)中對應的嘗試記錄。
  </Step>
</Steps>

## 重新設定區域套件品牌

區域套件是包含三個檔案的 ZIP 封存檔：`manifest.json`、`color.png` 及 `outline.png`。您可在上傳之前，於該套件中設定自己的應用程式名稱與圖示。對於由 Teams 管理員直接上傳的區域套件，Living Security 支援此做法。

請在下載並驗證套件之後、在 Teams 管理中心上傳之前執行此操作。

<Steps>
  <Step title="解壓縮套件">
    解壓縮 ZIP 檔案。封存檔的根目錄中恰好包含三個檔案：
    `manifest.json`、`color.png` 及 `outline.png`。
  </Step>

  <Step title="取代圖示">
    將 `color.png` 與 `outline.png` 取代為您自己的圖示。請保留相同的兩個
    檔名。

    | 檔案 | 需求 |
    | - | - |
    | `color.png` | 全彩 PNG，192 × 192 像素，無透明度 |
    | `outline.png` | 透明 PNG，32 × 32 像素 |
  </Step>

  <Step title="設定您的應用程式名稱">
    在 `manifest.json` 中，編輯下列兩個欄位：

    * `name.short` — 顯示於 Teams 應用程式標頭及其他空間有限區域的名稱。最多 30 個字元。
    * `name.full` — 顯示於應用程式目錄及應用程式詳細資料中的名稱。最多 100 個字元。

          <Note>
            若 Teams 管理中心已上傳 Living Security 應用程式，請將
            `version` 設定為高於該處已安裝的版本。Microsoft Teams 會拒絕
            未提高版本的更新，而重新下載的套件可能與您已安裝的套件
            版本相同，甚至更低。

            請在 Teams 管理中心的 **Teams 應用程式 → 管理
            應用程式** 下，於應用程式詳細資料頁面讀取已安裝的版本。將其與您剛下載的
            `manifest.json` 中的 `version` 值比較，然後設定一個高於兩者的值。請保持
            三段數字的 `MAJOR.MINOR.PATCH` 格式。

            例如，若已安裝的應用程式為 `1.1.1`，而您新下載的套件為 `1.1.0`，
            請設定為 `1.1.2`。若僅將下載的 `1.1.0` 提高為 `1.1.1`，
            會與已安裝的版本重複，Teams 將拒絕該上傳。
          </Note>
  </Step>

  <Step title="保持身份欄位不變">
    請勿變更這些欄位。每個欄位都承載應用程式、機器人或單一登入的
    身份：

    * `id`
    * `bots` 中的 `botId`
    * `webApplicationInfo`
    * `validDomains`
    * `staticTabs` 中的 `contentUrl` 與 `websiteUrl`

          <Warning>
            變更身份欄位可能導致應用程式仍可安裝，但無法
            傳送通知或完成單一登入。**驗證安裝** 會檢查
            租用戶、機器人憑證及偵測到的安裝。它不會將您的資訊清單與
            Living Security 建置的套件進行比對。
          </Warning>
  </Step>

  <Step title="重新壓縮這三個檔案">
    使用這三個檔案建立新的 ZIP 封存檔。請將它們放在
    封存檔的根目錄，不要包含外層資料夾。若套件的
    `manifest.json` 位於資料夾內，Microsoft Teams 會拒絕該套件。
  </Step>

  <Step title="上傳並驗證">
    在 Teams 管理中心上傳重新設定品牌的 ZIP 檔案，然後返回 Living
    Security 並按一下 **驗證安裝**。傳送測試通知。

    <Check>
      驗證顯示 **驗證通過**，且測試通知會以您的應用程式名稱與圖示
      送達 Microsoft Teams。
    </Check>
  </Step>
</Steps>

### 發行者與檢查碼

重新設定品牌只會設定應用程式名稱與圖示，不會變更下列兩項：

* **發行者仍為 Living Security。** 資訊清單中的 `developer` 欄位會指明 Living Security，並連結至 Living Security 網站、隱私權政策及服務條款。這些資訊共同識別營運該服務的公司，因此 Teams 會持續在應用程式詳細資料頁面、權限同意對話方塊及應用程式使用情況報告中將 **Living Security** 顯示為發行者。使用者在應用程式標頭、應用程式目錄及通知中看到的，則是您的名稱與圖示。
* **SHA256 檢查碼不再相符。** Living Security 中顯示的檢查碼描述的是下載時的套件。請在編輯檔案之前先行驗證，然後為您的推行記錄留存重新設定品牌後套件的檢查碼。

## 選用：啟用電子郵件/UPN 查詢備援機制

一般的個人傳送方式，會使用 Living Security 已知的受信任 Microsoft Entra 物件 ID，
以及使用者安裝或開啟應用程式時擷取的機器人對話參照。頻道傳送則使用其儲存的頻道
對話參照。這兩種途徑都不需要 Microsoft Graph。

若收件者沒有受信任的 Entra 物件 ID，Living Security 可選擇使用 Microsoft Graph，
透過電子郵件地址或 UPN 解析收件者。
若要啟用該備援機制，請要求 Microsoft Entra 管理員在 Teams 設定面板中按一下 **授予
選用的 User.Read.All 同意**，並為區域 Living
Security Teams 應用程式核准 Microsoft Graph `User.Read.All` 應用程式權限。

管理員同意流程遵循下列 Microsoft Entra 模式：

```text theme={null}
https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id={bot-app-id}
```

Living Security 會根據所連接的租用戶 ID 與設定面板中顯示的 **Bot
應用程式 ID** 產生此 URL。這些 ID 的用途不同：

* **Teams 應用程式 ID** 用於在 Microsoft Teams
  管理中心識別可安裝的應用程式套件。
* **Bot 應用程式 ID** 用於識別區域機器人的 Microsoft Entra 應用程式，
  也是選用管理員同意流程所使用的用戶端 ID。

請勿在同意 URL 中改用 Teams 應用程式 ID。已連接整合下的 **Microsoft Entra ID
(Client Credentials)** 整合是另一個獨立的通用整合。其憑證或同意無法由區域
Teams 機器人重複使用，而授予不相關 Entra 應用程式的同意也不會啟用
此備援機制。

<Note>
  將同意設為選用，並不會從現有的區域
  Living Security 應用程式註冊中移除 `User.Read.All`。已授予同意的客戶
  可繼續使用電子郵件/UPN 備援機制，無需重新設定。
</Note>

## 通知類型

視貴組織的授權與已設定的手冊而定，Living Security 可傳送：

| 通知 | 說明 |
| - | - |
| 訓練指派 | 在訓練被指派、到期或可供完成時通知使用者 |
| 訓練提醒 | 提醒使用者即將到來的期限 |
| 人員風險警示 | 傳送個人化的人員風險指數更新及建議的後續步驟 |
| 推行訊息 | 在部署期間傳送單向的新進或推行通知 |
| 頻道公告 | 將資安計畫通訊張貼到已設定的 Teams 頻道 |

## 自訂

Teams 通知使用您的 Living Security 組織設定。支援的欄位包括客戶顯示名稱、支援的標誌與品牌欄位、訊息內容、行動呼籲、目的地連結、推行文字，以及支援/聯絡文字。

安裝訊息可在 **設定 → 通訊 → 頻道 → Microsoft Teams → 安裝訊息控制項** 中設定。您可以完全停用安裝訊息、僅停用個人或頻道安裝訊息，並設定預設、個人或頻道專屬的內容。

Teams 應用程式名稱與圖示來自區域套件。若要設定您自己的名稱與圖示，請參閱[重新設定區域套件品牌](#%E9%87%8D%E6%96%B0%E8%A8%AD%E5%AE%9A%E5%8D%80%E5%9F%9F%E5%A5%97%E4%BB%B6%E5%93%81%E7%89%8C)。

## 更新或移除應用程式

* 當 Living Security 提供更新的區域套件時，請從 Microsoft Teams 頻道面板下載，並透過 Teams 管理中心上傳該套件。推行前請驗證顯示的應用程式 ID、Bot ID 及檢查碼。
* 品牌編輯內容不會在套件更新後保留。每個新的區域套件都會再次帶有 Living Security 的應用程式名稱與圖示。請在上傳新套件之前，依照[重新設定區域套件品牌](#%E9%87%8D%E6%96%B0%E8%A8%AD%E5%AE%9A%E5%8D%80%E5%9F%9F%E5%A5%97%E4%BB%B6%E5%93%81%E7%89%8C)重新套用您的編輯。請妥善保存您的圖示、兩個名稱值，以及您上次上傳的版本，讓每次升級只需簡短重複相同的步驟。新套件的版本不一定高於您已安裝的版本，因此請依 Teams 顯示的已安裝版本來設定版本。
* 在應用程式或原則更新後，請重新執行 **驗證安裝** 並再傳送一次測試。
* 移除或封鎖應用程式會使該使用者或頻道無法接收主動通知。請重新安裝應用程式並傳送新的測試，讓 Living Security 收到最新的 Teams 安裝事件。
* 若您要停止使用 Teams 傳送，請先從相關手冊中移除 Teams，再從 Microsoft Teams 移除應用程式。

## 疑難排解

<AccordionGroup>
  <Accordion title="使用者未收到個人通知">
    * 確認已安裝 Living Security Teams 個人應用程式，且使用者已開啟過該應用程式，使 Living Security 擁有最新的對話參照
    * 確認所設定的 Microsoft 租用戶 ID 是使用者所在的租用戶
    * 若診斷顯示曾嘗試電子郵件/UPN 備援機制，請確認已針對正確的租用戶，對顯示的 Bot 應用程式 ID 授予 `User.Read.All` 管理員同意
    * 使用電子郵件/UPN 備援機制時，請確認使用者在 Living Security 中的電子郵件或 UPN 與 Microsoft Entra ID 相符
    * 若使用者先前已移除或封鎖應用程式，請請其解除封鎖或重新安裝應用程式
  </Accordion>

  <Accordion title="頻道公告未出現">
    <ul>
      <li>
        確認 Living Security Teams 應用程式已安裝在目標團隊或
        頻道中。
      </li>

      <li>
        確認 Living Security 中的頻道對應使用了正確的團隊與
        頻道。
      </li>

      <li>
        檢查該頻道是否已被移除、重新命名、封存或受到限制。
      </li>

      <li>
        在目標團隊或頻道中重新安裝應用程式，並再傳送一次測試
        通知。
      </li>
    </ul>
  </Accordion>

  <Accordion title="選用的電子郵件/UPN 查詢或同意失敗">
    <ul>
      <li>
        確認 Microsoft Entra 管理員已針對顯示的 Bot 應用程式 ID，授予
        Microsoft Graph `User.Read.All` 的租用戶範圍同意。
      </li>

      <li>
        確認所設定的租用戶 ID 是使用者與 Teams
        所在的租用戶。
      </li>

      <li>
        確認使用者存在於 Microsoft Entra ID 中，且不是來自
        其他租用戶的訪客。
      </li>
    </ul>
  </Accordion>

  <Accordion title="通訊記錄顯示需要 Microsoft 管理員同意">
    錯誤類別 `TEAMS_ADMIN_CONSENT_REQUIRED` 或 Microsoft 錯誤 `AADSTS7000229`，表示電子郵件/UPN 收件者查詢嘗試使用了選用的 Microsoft Graph 備援機制，但區域 Living Security Teams 應用程式在所連接的 Microsoft Entra 租用戶中沒有服務主體（企業應用程式）。預設的受信任 ID 與儲存對話的途徑不需要此同意。這並非 Living Security 密碼已過期。

    1. 開啟 **設定 → 通訊 → 頻道 → Microsoft Teams**。您也可以使用通訊記錄錯誤中的 **開啟 Microsoft Teams 設定**。
    2. 確認已連接正確的 Microsoft Entra 租用戶 ID。
    3. 若需要電子郵件/UPN 備援機制，請要求 Microsoft Entra 管理員按一下 **授予選用的 User.Read.All 同意**，並針對顯示的 **Bot 應用程式 ID** 核准 `User.Read.All`。否則，請確保收件者已開啟個人應用程式，且 Living Security 擁有其受信任的 Entra 物件 ID。
    4. 在 Microsoft 完成處理同意後，從 Microsoft Teams 設定傳送進階的指定電子郵件/UPN 測試。通訊記錄會顯示傳送歷程記錄與診斷資訊；它不會重新傳送失敗的訊息。

    重新設定 **Microsoft Entra ID (Client Credentials)** 無法解決此錯誤，因為 Teams 通知傳送並未使用該整合。
  </Accordion>

  <Accordion title="應用程式已安裝但通知失敗">
    * 檢查機器人是否已被封鎖、移除或解除安裝
    * 若應用程式是在 Living Security 連接租用戶之前安裝的，請儲存租用戶並選取 **驗證安裝**，讓 Living Security 能關聯現有的安裝
    * 僅在驗證無法偵測到現有安裝時才重新安裝
    * 確認目標使用者或頻道已收到最新的應用程式安裝事件
    * 重新安裝應用程式後，請傳送新的測試通知

    用於疑難排解的安裝事件欄位範例：

    ```json theme={null}
    {
      "type": "installationUpdate",
      "action": "add",
      "channelData": {
        "tenant": { "id": "278750d2-8df7-4262-a34d-08d79ad671d8" },
        "team": { "id": "19:team-id@thread.tacv2" },
        "channel": { "id": "19:channel-id@thread.tacv2" }
      },
      "conversation": {
        "id": "19:channel-id@thread.tacv2",
        "conversationType": "channel",
        "tenantId": "278750d2-8df7-4262-a34d-08d79ad671d8"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## 安全性

Living Security 僅在選用的電子郵件/UPN 收件者查詢備援機制中使用 Microsoft Graph `User.Read.All`。依預設，個人通知的路由會使用來自 Living Security 實體資料的受信任 Entra 物件 ID，以及從 Microsoft Teams 擷取的機器人對話參照。呼叫端提供的物件 ID 與對話參照不屬於受信任的路由資料。Microsoft Teams 訊息是透過 Living Security 僅限通知的 Teams 機器人，使用 Microsoft Teams 主動訊息功能傳送。

標準的 Teams 應用程式設定不需要客戶自行建立 Microsoft Entra 應用程式註冊，或提供客戶自有的用戶端密碼。

特定區域的 Teams 套件會使應用程式 ID、機器人 ID 與訊息端點，與貴組織所在的 Living Security 區域保持一致。

## 相關內容

<CardGroup cols={2}>
  <Card title="電子郵件整合" icon="envelope" href="/zh-Hant/integrations/outbound/email">
    將電子郵件設定為傳送頻道。
  </Card>

  <Card title="Slack 整合" icon="slack" href="/zh-Hant/integrations/outbound/slack">
    將 Slack 設定為傳送頻道。
  </Card>

  <Card title="通訊記錄" icon="clock-rotate-left" href="/zh-Hant/features/communications/log">
    追蹤 Teams 傳送狀態與歷程記錄。
  </Card>

  <Card title="驗證" icon="shield-halved" href="/zh-Hant/features/settings/sso">
    Microsoft Entra ID 與 SSO 設定。
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.