Microsoft Defender for Cloud 會產生一個 CloudFormation 範本,包含啟動 Amazon Web Services(AWS)帳號所需的資源。 Microsoft Defender for Cloud 和 Microsoft Sentinel 都能匯入 AWS CloudTrail 事件。 預設情況下,Microsoft Sentinel 連接器會直接透過 Amazon SQS 隊列接收來自 Amazon S3 的 CloudTrail 通知。 由於 Amazon SQS 佇列只支援一個消費者,啟用 Defender for Cloud 的 CloudTrail 擷取需要設定 Amazon SNS 的 fan-out 模式,讓兩個服務能同時接收 CloudTrail 事件。
本文說明了當你的 AWS 帳號已經連接到 Microsoft Sentinel 時,如何啟用 Defender for Cloud 的 CloudTrail 擷取功能。
先決條件
若要完成本文中的程序,您需要:
Microsoft Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,您可以免費註冊一個。
已在您的 Azure 訂用帳戶上設定的適用於雲端的 Microsoft Defender。
AWS 帳戶的存取權。
相關 Azure 訂用帳戶的參與者等級權限。
僅適用於 SNS 展開傳送方法:
- AWS CloudTrail 設定為將日誌傳送到 Amazon S3 儲存桶。
- 一個現有的 Microsoft Sentinel AWS 連接器,會從那個 bucket 中匯入 CloudTrail 日誌。
使用 SNS 展開傳送方法啟用 CloudTrail 擷取
如果您的 AWS CloudTrail 記錄已串流至 Microsoft Sentinel,您可以使用 Amazon SNS 做為展開傳送機制,為適用於雲端的 Defender 啟用 CloudTrail 擷取。 此配置允許兩個服務同時接收 CloudTrail 事件。
這很重要
這些步驟是為了配置 AWS 資源以進行共享 CloudTrail 的擷取。 要完成 Defender for Cloud 設定,請 將 AWS CloudTrail 日誌與 Microsoft Defender for Cloud 整合。
為 CloudTrail 建立一個 Amazon SNS 主題
在 AWS 管理主控台中,開啟 Amazon SNS。
選擇 建立主題 並選擇 標準。
輸入描述性名稱(例如,
CloudTrail-SNS),並選擇 建立主題。複製 主題 ARN 以備後用。
在主題詳情頁面,選擇 編輯,然後展開 存取政策。
新增一個原則陳述式,允許 CloudTrail S3 貯體將事件發佈至主題。
將
<region>、<accountid>和<S3_BUCKET_ARN>替換為你的值:{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ToPublish", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:<region>:<accountid>:CloudTrail-SNS", "Condition": { "StringEquals": { "aws:SourceArn": "<S3_BUCKET_ARN>" } } } ] }
為 Defender for Cloud 建立 SQS 佇列
在 Amazon SQS 中,選擇 建立隊列 並選擇 標準。
輸入名稱(例如,
DefenderForCloud-SQS),並建立佇列。更新 SQS 佇列的存取政策,允許 SNS 主題 ARN 執行此佇列上的
SQS:SendMessage動作。將此政策套用於訂閱 CloudTrail SNS 主題的每個 SQS 佇列。 這通常包括:
- Microsoft Sentinel 使用的 SQS 佇列
- Defender for Cloud 建立的 SQS 佇列
{ "Sid": "AllowCloudTrailSnsToSendMessage", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:<region>:<accountid>:<QUEUE_NAME>", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sns:<region>:<accountid>:CloudTrail-SNS" } } }
同時為兩個 SQS 佇列訂閱至該 SNS 主題
在 Amazon 社交帳號中,打開你建立的主題。
為這兩個 SNS 主題建立訂閱:
建立每個訂閱時:
- 選擇 Amazon SQS 作為協定。
- 貼上 佇列 ARN。
- 啟用 Raw 訊息傳遞。
更新 Microsoft Sentinel SQS 佇列存取政策
如果你的 AWS 帳號已經連結到 Microsoft Sentinel,你還必須更新現有的 Sentinel SQS 佇列,讓 SNS 主題能夠發送訊息。
在 Amazon SQS 中,打開 Microsoft Sentinel 使用的 SQS 佇列。
編輯 存取政策。
新增與適用於雲端的 Defender 佇列相同的
SQS:SendMessage陳述式,並參考 CloudTrail SNS 主題 ARN。儲存原則。
如果跳過此步驟,Microsoft Sentinel 在切換到 SNS 扇出配置後將停止接收 CloudTrail 通知。
更新 S3 事件通知以發布 CloudTrail 日誌到 SNS
在 Amazon S3 中,打開你的 CloudTrail 儲存桶,進入 事件通知。
刪除 Microsoft Sentinel 使用的現有 S3 → SQS 事件通知。
建立一個新的事件通知,發佈到 SNS 主題。
將事件類型設為 Object created (PUT)。
設定 一個前綴過濾器 ,讓只有 CloudTrail 日誌檔案會產生通知。
請使用完整的 CloudTrail 日誌路徑格式:
AWSLogs/<AccountID>/CloudTrail/儲存設定。
在這些變更之後,Microsoft Sentinel 和 Defender for Cloud 都會透過 SNS 的 fan-out 模式接收 CloudTrail 事件通知。
解決 OIDC 身份提供者衝突
請依照「 Connect AWS accounts to Microsoft Defender for Cloud 」中的步驟,直到 「Connect your AWS Account 」區塊的第8步。
請選取複製。
將範本貼到本地文字編輯工具中。
搜尋模板中的 「ASCDefendersOIDCIdentityProvider」:{ 區段,並另行複製整個 ClientIdList。
在範本中搜尋 ASCDefendersOIDCIdentityProvider 區段並加以刪除。
將檔案儲存在本機。
在不同的瀏覽器視窗中,登入您的 AWS 帳戶。
流覽至 [ 身分識別與存取管理] [IAM][>識別提供者]。
搜尋並選取 33e01921-4d64-4f8c-a055-5bdaffd5e33d。
選取 動作>新增受眾。
貼上你在步驟 4 複製的 ClientIdList 區塊。
瀏覽至適用於雲端的 Defender 中的 [設定存取權] 頁面。
遵循在 AWS 中建立堆疊指示,並使用您在本機儲存的範本。
選取 下一步。
選取 ,創建。
後續步驟
- 將 AWS CloudTrail 日誌整合到 Microsoft Defender for Cloud。
- 將存取權指派給工作負載擁有者。
- 使用適用於雲端的 Defender 保護所有資源 (部分機器翻譯)。
- 設置你的 本地機器 和 Google Cloud Platform (GCP) 環境。
- 取得有關將 AWS 帳戶上線之常見問題 (部分機器翻譯) 的解答。
- 針對多雲端連接器進行疑難排解 (部分內容可能是機器或 AI 翻譯)。