當 Amazon Data Firehose 資源未以AWSKMS金鑰加密時,識別並發出警示 - AWS 方案指引

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

當 Amazon Data Firehose 資源未以AWSKMS金鑰加密時,識別並發出警示

由 Ram Kandaswamy 建立 (AWS)

環境:生產

技術:管理與治理;分析;大數據 CloudNative;基礎設施;安全、身分、合規

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

Summary

為了合規,某些組織必須在 Amazon Data Firehose 等資料交付資源上啟用加密。此模式顯示一種在資源不合規時監控、偵測和通知的方法。

為了維持加密需求,此模式可用於 Amazon Web Services (AWS),以自動監控和偵測未使用 AWS Key Management Service (AWS KMS) 金鑰加密的 Firehose 交付資源。解決方案會傳送提醒通知,並可將其擴展以執行自動修復。此解決方案可套用至個別帳戶或多帳戶環境,例如使用AWS登陸區域或 AWS Control Tower 的環境。

先決條件和限制

先決條件

  • Firehose 交付串流

  • 具有足夠的許可和熟悉度AWS CloudFormation,用於此基礎設施自動化

限制

解決方案不是即時的,因為它使用AWS CloudTrail 事件進行偵測,而且在建立未加密資源和傳送通知之間存在延遲。

架構

目標技術堆疊

解決方案使用無伺服器技術和下列服務:

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS 命令列介面 (AWS CLI)

  • AWS Identity and Access Management (IAM)

  • Amazon Data Firehose

  • AWS Lambda

  • Amazon Simple Notification Service (Amazon SNS)

目標架構

顯示程序五個步驟的圖表。
  1. 使用者建立或修改 Firehose。

  2. 偵測到並比對 CloudTrail 事件。

  3. 叫用 Lambda。

  4. 識別不合規的資源。

  5. 電子郵件通知已傳送。

自動化和擴展

使用 AWS CloudFormation StackSets,您可以使用單一命令將此解決方案套用至多個AWS區域或帳戶。

工具

  • AWS CloudTrail – AWS CloudTrail 是一項AWS服務,可協助您啟用AWS帳戶的管理、合規和操作和風險稽核。使用者、角色AWS或服務所採取的動作會在 中記錄為事件 CloudTrail。事件包括在AWS管理主控台、AWS命令列介面和 AWS SDKs 和 API操作中採取的動作。

  • Amazon CloudWatch Events – Amazon CloudWatch Events 提供 near-real-time描述AWS資源變更的系統事件串流。

  • AWS CLI – AWS 命令列介面 (AWS CLI) 是一種開放原始碼工具,可讓您使用命令列 Shell 中的命令與 AWS服務互動。 

  • IAM – AWS Identity and Access Management (IAM) 是一種 Web 服務,可協助您安全地控制對 AWS 資源的存取。您可以使用 IAM 來控制誰經過驗證 (登入) 和授權 (具有許可) 來使用 資源。 

  • Amazon Data Firehose – Amazon Data Firehose 是提供即時串流資料的完全受管服務。使用 Firehose,您不需要撰寫應用程式或管理資源。您可以設定資料生產者將資料傳送至 Firehose,並自動將資料傳送至您指定的目的地。

  • AWS Lambda – AWS Lambda 是一種運算服務,支援執行程式碼,無需佈建或管理伺服器。Lambda 只有在需要時才會執行程式碼,可自動從每天數項請求擴展成每秒數千項請求。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。 

  • Amazon SNS – Amazon Simple Notification Service (Amazon SNS) 是一項受管服務,提供從發佈者到訂閱者 (也稱為生產者和消費者) 的訊息傳遞。

史詩

任務描述所需的技能

部署 AWS CloudFormation StackSets。

在 AWS 中CLI,使用 firehose-encryption-checker.yaml 範本 (已連接) 執行下列命令來建立堆疊集。 為 參數提供有效的 Amazon SNS主題 Amazon Resource Name (ARN)。部署應成功建立 CloudWatch 事件規則、Lambda 函數,以及具有必要許可IAM的角色,如範本中所述。

aws cloudformation create-stack-set    --stack-set-name my-stack-set   --template-body file://firehose-encryption-checker.yaml 

雲端架構師、系統管理員

建立堆疊執行個體。

堆疊需要在您選擇的AWS區域以及一個或多個帳戶中建立。 若要建立堆疊執行個體,請執行下列命令,將堆疊名稱、帳戶號碼和區域取代為您自己的 。

aws cloudformation create-stack-instances     --stack-set-name my-stack-set    --accounts 123456789012 223456789012   --regions us-east-1 us-east-2 us-west-1 us-west-2     --operation-preferences FailureToleranceCount=1 

雲端架構師、系統管理員

相關資源

其他資訊

AWS Config 不支援 Firehose 交付串流資源類型,因此 Config AWS 規則無法在 解決方案中使用。

附件

若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip