Share via


將 Microsoft Sentinel 連線至 Amazon Web Services 以內嵌 AWS 服務記錄資料

使用 Amazon Web Services (AWS) 連接器將 AWS 服務記錄提取至 Microsoft Sentinel。 這些連接器的運作方式是將 AWS 資源記錄的存取權授與 Microsoft Sentinel。 設定連接器會建立 Amazon Web Services 與 Microsoft Sentinel 之間的信任關係。 這會在 AWS 上完成,方法是建立一個角色,授與 Microsoft Sentinel 存取 AWS 記錄的許可權。

此連接器提供兩種版本:適用於 CloudTrail 管理和數據記錄的舊版連接器,以及可從下列 AWS 服務擷取記錄的新版本,方法是從 S3 貯體提取記錄(連結為 AWS 檔):

此索引標籤說明如何設定 AWS S3 連接器。 設定程式有兩個部分:AWS 端和 Microsoft Sentinel 端。 每一端的進程都會產生另一端所使用的資訊。 此雙向驗證會建立安全的通訊。

必要條件

  • 請確定所選 AWS 服務的記錄會使用 Microsoft Sentinel 所接受的格式:

    • AmazonVP:以 GZIP 格式搭配標頭.csv檔案;分隔符:空格。
    • Amazon GuardDuty:json-line 和 GZIP 格式。
    • AWS CloudTrail:以 GZIP 格式.json檔案。
    • CloudWatch:.csv沒有標頭的 GZIP 格式檔案。 如果您需要將記錄轉換成此格式,您可以使用此 CloudWatch Lambda 函式
  • 您必須擁有 Microsoft Sentinel 工作區的寫入許可權。

  • Microsoft Sentinel 中的內容中樞 安裝 Amazon Web Services 解決方案。 如需詳細資訊,請參閱 探索及管理現用的 Microsoft Sentinel 內容

架構概觀

此圖形和下列文字顯示此連接器解決方案的各個部分如何互動。

W S S 3 連接器架構的螢幕快照。

  • AWS 服務已設定為將其記錄傳送至 S3(簡單 儲存體 服務)記憶體貯體。

  • 每當收到新記錄時,S3 貯體會將通知訊息傳送至 SQS (簡單佇列服務) 消息佇列。

  • Microsoft Sentinel AWS S3 連接器會定期、頻繁地輪詢 SQS 佇列。 如果佇列中有訊息,則會包含記錄檔的路徑。

  • 連接器會使用路徑讀取訊息,然後從 S3 貯體擷取檔案。

  • 為了連線到 SQS 佇列和 S3 貯體,Microsoft Sentinel 會使用同盟 Web 識別提供者 (Microsoft Entra ID) 透過 OpenID 連線 (OIDC) 向 AWS 進行驗證,並假設 AWS IAM 角色。 角色是使用許可權原則來設定,以授與這些資源的存取權。

連線 S3 連接器

  • 在您的 AWS 環境中:

    • 設定 AWS 服務將記錄傳送至 S3 貯體

    • 建立 簡單的佇列服務 (SQS) 佇列 以提供通知。

    • 建立 Web 身分識別提供者,透過 OpenID 連線 (OIDC) 向 AWS 驗證使用者。

    • 建立 假設的角色 ,將許可權授與由 OIDC Web 身分識別提供者驗證的使用者,以存取 AWS 資源。

    • 附加適當的 IAM 許可權原則 ,以將所擔任的角色存取權授與適當的資源(S3 貯體、SQS)。

    我們已在 GitHub 存放庫中提供腳本,以 自動化此程式的 AWS 端。 請參閱本檔稍後的自動安裝指示

  • 在 Microsoft Sentinel 中:

    • 在 Microsoft Sentinel 入口網站中啟用及設定 AWS S3 連線 or請參閱下列指示。

自動設定

為了簡化上線程式,Microsoft Sentinel 提供了 PowerShell 腳本,以自動化連接器的 AWS 端設定 - 必要的 AWS 資源、認證和許可權。

文稿會採取下列動作:

  • 建立 OIDC Web 識別提供者,向 AWS 驗證 Microsoft Entra ID 使用者。

  • 建立具有最低必要許可權的 IAM 假設角色,以授與 OIDC 驗證的使用者對指定 S3 貯體和 SQS 佇列中記錄的存取權。

  • 可讓指定的 AWS 服務將記錄傳送至該 S3 貯體,並將通知訊息傳送至該 SQS 佇列。

  • 如有必要,請為此建立 S3 貯體和該 SQS 佇列。

  • 設定任何必要的 IAM 許可權原則,並將其套用至上面建立的 IAM 角色。

針對 Azure Government 雲端,特製化腳本會建立不同的 OIDC Web 身分識別提供者,併為其指派 IAM 所擔任的角色。

自動設定的必要條件

指示

若要執行腳本來設定連接器,請使用下列步驟:

  1. 從 Microsoft Sentinel 導覽功能表中,選取 [數據連接器]。

  2. 從數據連接器資源庫選取 [Amazon Web Services S3 ]。

    如果您沒有看到連接器,請從 Microsoft Sentinel 中的內容中樞 安裝 Amazon Web Services 解決方案。

  3. 在連接器的詳細資料窗格中,選取 [ 開啟連接器] 頁面

  4. 在 [組態]段中,低於 1。設定 AWS 環境,展開 [使用 PowerShell 腳本設定] [建議]

  5. 請遵循螢幕上的指示,從連接器頁面下載並解壓縮 AWS S3 安裝腳本 (鏈接下載包含主要安裝腳本和協助程式腳本的 ZIP 檔案)。

    注意

    若要將 AWS 記錄擷取至 Azure Government 雲端,請改為下載並擷取 此特製化的 AWS S3 Gov 設定腳本

  6. 在執行腳本之前,請從您的 PowerShell 命令行執行 aws configure 命令,然後輸入相關信息,如提示。 請參閱 AWS 命令行介面 |設定基本概念 (來自 AWS 檔)以取得詳細數據。

  7. 現在執行腳本。 從連接器頁面複製命令(在 [執行腳本以設定環境] 底下),並將它貼到命令行中。

  8. 文稿會提示您輸入工作區標識碼。 此標識碼會出現在連接器頁面上。 複製它,並在腳本的提示處貼上它。

    執行安裝腳本和工作區標識碼的命令螢幕快照。

  9. 當腳本完成執行時,請從腳本的輸出複製 角色 ARNSQS URL (請參閱下方第一個螢幕快照中的範例),並將其貼到連接器頁面的 [2] 下方 的個別欄位中。新增連線 (請參閱下方的第二個螢幕快照)。

    W S 連接器安裝文稿輸出的螢幕快照。

    將 A W S 角色資訊從文稿貼到 S3 連接器的螢幕快照。

  10. 從 [ 目的地數據表 ] 下拉式清單中選取資料類型。 這會告訴連接器要建立此連線的 AWS 服務記錄,以及其將儲存內嵌數據的 Log Analytics 資料表。 然後選取 [ 新增連線]。

注意

腳本最多可能需要 30 分鐘才能完成執行。

手動設定

Microsoft 建議使用自動安裝腳本來部署此連接器。 如果您基於任何不想利用這項便利性的原因,請遵循下列步驟手動設定連接器。

準備 AWS 資源

  1. 建立 S3 貯體 ,您將從 AWS 服務寄送記錄檔 - DHCP、GuardDuty、CloudTrail 或 CloudWatch。

  2. 建立標準 簡單佇列服務 (SQS) 消息佇列 ,S3 貯體將發佈通知。

  3. 將 S3 貯體設定為將通知訊息傳送至 SQS 佇列。

安裝 AWS 資料連接器並準備環境

  1. 在 Microsoft Sentinel 中,從導覽功能表選取 [資料連接器]

  2. 從數據連接器資源庫選取 [Amazon Web Services S3 ]。

    如果您沒有看到連接器,請從 Microsoft Sentinel 中的內容中樞 安裝 Amazon Web Services 解決方案。 如需詳細資訊,請參閱 探索及管理現用的 Microsoft Sentinel 內容

  3. 在連接器的詳細資料窗格中,選取 [ 開啟連接器] 頁面

  4. 在 [設定] 底下,展開 [使用 PowerShell 腳本設定] [建議],然後將 [外部標識符] [工作區標識符] 複製到剪貼簿。

建立 Open ID 連線 (OIDC) Web 身分識別提供者和 AWS 擔任的角色

  1. 在不同的瀏覽器視窗或索引標籤中,開啟 AWS 控制台。

  2. 建立 Web 識別提供者。 請遵循 AWS 檔中的下列指示:
    建立 OpenID 連線 (OIDC) 識別提供者

    參數 選取/值 註解
    用戶端識別碼 - 忽略這個,您已經擁有它。 請參閱 下面的物件 行。
    提供者類型 OpenID Connect 而不是預設 的 SAML
    提供者 URL 商業:
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    政府:
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    指紋 626d44e704d1ceabe3bf0d53397464ac8080142c 如果在 IAM 控制台中建立,選取 [取得指紋 ] 應該會提供此結果。
    適用對象 商業:
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    政府:
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
  3. 建立 IAM 承擔的角色。 請遵循 AWS 檔中的下列指示:
    建立 Web 身分識別或 OpenID 連線 同盟的角色。

    參數 選取/值 註解
    信任的實體類型 Web 身分識別 而不是預設 AWS 服務
    識別提供者 商業:
    sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d/

    政府:
    sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/
    您在上一個步驟中建立的提供者。
    適用對象 商業:
    api://1462b192-27f7-4cb9-8523-0f4ecb54b47e

    政府:
    api://d4230588-5f84-4281-a9c7-2c15194b28f7
    您在上一個步驟中為識別提供者定義的物件。
    指派的許可權
    • AmazonSQSReadOnlyAccess
    • AWSLambdaSQSQueueExecutionRole
    • AmazonS3ReadOnlyAccess
    • ROSAKMSProviderPolicy
    • 擷取不同類型的 AWS 服務記錄的其他原則
    如需這些原則的相關信息,請參閱 Microsoft Sentinel GitHub 存放庫中的相關 AWS S3 連接器許可權原則頁面。
    名稱 “OIDC_MicrosoftSentinelRole 選擇有意義的名稱,其中包含 Microsoft Sentinel 的參考。

    名稱必須包含確切的前置詞 OIDC_,否則連接器將無法正常運作。
  4. 編輯新角色的信任原則,並新增另一個條件:
    "sts:RoleSessionName": "MicrosoftSentinel_{WORKSPACE_ID)"

    重要

    參數的值必須具有確切的 sts:RoleSessionName 前置詞 MicrosoftSentinel_,否則連接器將無法正常運作。

    完成的信任原則看起來應該像這樣:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Federated": "arn:aws:iam::XXXXXXXXXXXX:oidc-provider/sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/"
          },
          "Action": "sts:AssumeRoleWithWebIdentity",
          "Condition": {
            "StringEquals": {
              "sts.windows.net/cab8a31a-1906-4287-a0d8-4eef66b95f6e/:aud": "api://d4230588-5f84-4281-a9c7-2c15194b28f7",
              "sts:RoleSessionName": "MicrosoftSentinel_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
            }
          }
        }
      ]
    }
    
    • XXXXXXXXXXXX 是您的 AWS 帳戶識別碼。
    • XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 是您的 Microsoft Sentinel 工作區識別碼。

    當您完成編輯時,請更新 (save) 原則。

將 AWS 角色和佇列資訊新增至 S3 數據連接器

  1. 在開啟至 AWS 控制台的瀏覽器索引標籤中,輸入身分識別與存取管理 (IAM) 服務,然後流覽至 [角色] 清單。 選取您在上面建立的角色。

  2. ARN 複製到剪貼簿。

  3. 輸入簡單佇列服務,選取您建立的 SQS 佇列,然後將佇列的 URL 複製到剪貼簿。

  4. 返回您的 Microsoft Sentinel 瀏覽器索引標籤,該索引標籤應該開啟至 Amazon Web Services S3 (預覽) 資料連接器頁面。 在2歲以下 。新增連線

    1. 將您兩個步驟前複製的 IAM 角色 ARN 貼到 [角色以新增 ] 字段中。
    2. 將您在最後一個步驟中複製之 SQS 佇列的 URL 貼到 [SQS URL] 字段中。
    3. 從 [ 目的地數據表 ] 下拉式清單中選取資料類型。 這會告訴連接器要建立此連線的 AWS 服務記錄,以及其將儲存內嵌數據的 Log Analytics 資料表。
    4. 請選取新增連線

    將 A W S 角色連線新增至 S3 連接器的螢幕快照。

設定 AWS 服務將記錄匯出至 S3 貯體

如需將每種記錄類型傳送至 S3 貯體的指示,請參閱 Amazon Web Services 檔(連結如下) :

已知問題與疑難排解

已知問題

  • 不同類型的記錄可以儲存在相同的 S3 貯體中,但不應該儲存在相同的路徑中。

  • 每個 SQS 佇列都應該指向一種類型的訊息,因此如果您想要內嵌 GuardDuty 結果 DHCP 流量記錄,您應該為每個類型設定個別的佇列。

  • 同樣地,單一 SQS 佇列只能在 S3 貯體中提供一個路徑,因此,如果您基於任何理由將記錄儲存在多個路徑中,每個路徑都需要自己的專用 SQS 佇列。

疑難排解

瞭解如何 針對 Amazon Web Services S3 連接器問題進行疑難解答。

下一步

在本檔中,您已瞭解如何連線到 AWS 資源,以將其記錄內嵌至 Microsoft Sentinel。 若要深入了解 Microsoft Sentinel,請參閱下列文章: