在未使用 AWS KMS 金鑰加密 Amazon Kinesis 資料火軟管資源時識別並發出警示 - AWS Prescriptive Guidance

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

在未使用 AWS KMS 金鑰加密 Amazon Kinesis 資料火軟管資源時識別並發出警示

由拉姆坎達斯瓦米(AWS)創建

環境:Envents 生產

技術:管理與治理;分析;巨量資料;原生雲端;基礎架構;安全性、身分識別、合規性

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

Summary

為了符合規定,某些組織必須在資料交付資源 (例如 Amazon Kinesis Data Firehose) 上啟用加密功能。此病毒碼顯示在資源不符合規定時監控、偵測及通知的方法。

為了維持加密需求,您可以在 Amazon Web Services (AWS) 上使用此模式,對未使用 AWS Key Management Service (AWS KMS) 金鑰加密的 KKinesis Data Firehose 管交付資源進行自動監控和偵測。解決方案會傳送警示通知,並且可以延伸以執行自動修復。此解決方案可套用至個別帳戶或多帳戶環境,例如使用 AWS 登陸區域或 AWS Control Tower 的環境。

先決條件和限制

先決條件

  • 消防軟管傳送流

  • 在此基礎設施自動化中使用的 AWS CloudFormation 具有足夠的權限和熟悉度

限制

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

Architecture

目標技術堆疊

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

  • AWS CloudTrail

  • Amazon CloudWatch

  • AWS 命令列界面 (AWS CLI)

  • AWS Identity and Access Management (IAM)

  • Amazon Kinesis Data Firehose

  • AWS Lambda

  • Amazon Simple Notification Service (Amazon SNS)

目標架構

  1. 使用者建立或修改 Kinesis Data Firehose。

  2. 系統會偵測到並符合 CloudTrail 事件。

  3. 會叫用 Lambda。

  4. 識別不符合標準的資源。

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

自動化和擴充

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

Tools

  • AWS CloudTrail— AWS CloudTrail 是一種 AWS 服務,可協助您啟用 AWS 帳戶的監管、合規、操作稽核和風險稽核。使用者、角色或 AWS 服務所執行的動作會在 CloudTrail 中記錄為事件。事件包括 AWS 管理主控台、AWS 命令列界面以及 AWS 開發套件和 API 操作中採取的動作。

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

  • AWS CLI— AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具,可讓您在命令列 shell 中使用命令與 AWS 服務互動。 

  • IAM— AWS Identity and Access Management (IAM) 是一種 Web 服務,可協助您安全地控制 AWS 資源的存取。您可以使用 IAM 來控制 (已登入) 的身分驗證和授權使用資源的 (許可)。 

  • Amazon Kinesis Data Firehose— Amazon Kinesis Data Firehose 是一種全受管服務,可交付即時串流資料。使用 Kinesis Data Firehose,您不再需要編寫應用程式或管理資源。您設定您的資料產生來源將資料傳送至 Kinesis Data Firehose,它就會將資料自動交付至您指定的目的地。

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

  • Amazon SNS— Amazon Simple Notification Service (Amazon SNS) 是一種受管服務,可將訊息交付從發佈商到訂閱者 (也稱為生產者和消費者)。

Epics

任務描述所需技能
部署 AWS CloudFormation StackSets。

在 AWS CLI 中,使用螢火軟管加密檢查器 .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 交付串流資源類型,因此無法在解決方案中使用 AWS Config 規則。

Attachments

attachment.zip