確保 IAM 描述檔與 EC2 執行個體建立關聯 - AWS Prescriptive Guidance

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

確保 IAM 描述檔與 EC2 執行個體建立關聯

由曼西蘇拉特瓦拉 (AWS) 創作

環境:生產

技術:基礎架構;安全、身份、合規

AWS 服務:Amazon EC2; AWS Identity and Access Management; Amazon CloudWatch; Amazon SNS

Summary

此模式提供 AWS CloudFormation 安全控制範本,可在 Amazon 彈性運算雲端 (Amazon EC2) 執行個體發生 AWS Identity and Access Management (IAM) 設定檔違規時設定自動通知。 

執行個體描述檔是適用於 IAM 角色的容器,可讓您在執行個體啟動時將角色資訊傳遞至 EC2 執行個體。

當 AWS CloudTrail 記錄 Amazon EC2 API 呼叫時,亞馬遜雲端觀察事件會啟動此檢查RunInstancesAssociateIamInstanceProfile,以及ReplaceIamInstanceProfileAssociation動作。觸發程序會呼叫 AWS Lambda 函數,該函數使用 Amazon CloudWatch Events 件事件來檢查 IAM 設定檔。

如果 IAM 設定檔不存在,則 Lambda 函數會啟動包含 Amazon Web 服務 (AWS) 帳戶 ID 和 AWS 區域的 Amazon 簡易通知服務 (Amazon SNS) 電子郵件通知。 

如果 IAM 設定檔確實存在,Lambda 函數會檢查政策文件中是否有任何萬用字元項目。如果存在萬用字元項目,請啟動 Amazon SNS 違規通知,以協助您實作增強的安全性。通知包含 IAM 設定檔的名稱、事件、EC2 執行個體 ID、受管理政策的名稱、違規、帳戶 ID 和區域。

先決條件和限制

先決條件

  • 有效帳戶

  • 適用於 Lambda 程式碼 .zip 檔案的 Simple Storage Service (Amazon S3) 貯體

限制

  • 必須針對 AWS CloudFormation 範本部署適用於RunInstancesAssociateIamInstanceProfile,以及ReplaceIamInstanceProfileAssociation動作。

  • 安全性控制不會監控 IAM 設定檔的卸除。

  • 安全控制不會檢查附加至 EC2 執行個體 IAM 設定檔的 IAM 政策的修改。

  • 安全性控制項不會考慮不支援的資源層級許可需要使用「資源:*」。

Architecture

目標技術堆疊

  • Amazon EC2

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS Lambda

  • Amazon S3

  • Amazon SNS

目標架構

自動化和擴展

您可以針對不同的 AWS 區域和帳戶多次使用 AWS CloudFormation 範本。您只需要針對每個帳戶或區域啟動一次範本。

Tools

工具

  • Amazon EC2— Amazon EC2 在 AWS 雲端中提供可擴展的運算容量 (虛擬伺服器)。 

  • AWS CloudTrail— AWS CloudTrail 可協助您針對 AWS 帳戶啟用監管、合規、操作和風險稽核。使用者、角色或 AWS 服務所執行的動作會在 CloudTrail 中記錄為事件。 

  • Amazon CloudWatch Events— Amazon CloudWatch Events 會提供近乎即時的系統事件串流,說明 AWS 資源中的變動情形。 

  • AWS Lambda— AWS Lambda 是一項運算服務,可供您用來執行程式碼,無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。 

  • Amazon S3— Amazon S3 提供可高度擴展的物件儲存,您可以用於各種儲存解決方案,包括網站、行動應用程式、備份和資料湖。

  • Amazon SNS— Amazon SNS 可讓應用程式和裝置傳送和接收來自雲端的通知。 

Code

  • 專案的 .zip 檔案可作為附件使用。

Epics

任務描述所需技能
定義 S3 儲存貯體。

若要裝載 Lambda 程式碼 .zip 檔案,請選擇或建立具有不包含前置斜線的唯一名稱的 S3 儲存貯體。S3 儲存貯體名稱應為全域唯一,且命名空間會由所有 AWS 帳戶共享。您的 S3 儲存貯體必須位於與正在評估的 EC2 執行個體位在同一區域。

雲端架構師
任務描述所需技能
將 Lambda 程式碼上傳至 S3 儲存貯體。

將「附件」區段中提供的 Lambda 程式碼上傳至 S3 儲存貯體。S3 儲存貯體必須位於與正在評估的 EC2 執行個體位在同一區域。

雲端架構師
任務描述所需技能
部署 AWS CloudFormation 範本。

部署作為此模式附件提供的 AWS CloudFormation 範本。在下一個史詩中,提供參數的值。

雲端架構師
任務描述所需技能
命名 S3 儲存貯體。

輸入您在第一部史詩中建立的 S3 儲存貯體名稱。

雲端架構師
提供 S3 金鑰。

在 S3 儲存貯體中提供 Lambda 程式碼 .zip 檔案的位置,不含前導斜線 (例如 /.zip)。

雲端架構師
請提供電子郵件地址。

提供有效的電子郵件地址以接收 Amazon SNS 通知。

雲端架構師
定義記錄層級。

定義 Lambda 函數的記錄層級和頻率。「資訊」指定有關應用程式進度的詳細資訊訊息。「錯誤」指定仍可允許應用程式繼續執行的錯誤事件。警告」指出潛在有害的狀況。

雲端架構師
任務描述所需技能
確認訂閱。

成功部署範本後,會將訂閱電子郵件訊息傳送至提供的電子郵件地址。您必須確認此電子郵件訂閱才能接收違規通知。

雲端架構師

Attachments

attachment.zip