當 Amazon Data Firehose 資源未以 AWSKMS金鑰加密時,識別和提醒 - AWS 方案指引

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

當 Amazon Data Firehose 資源未以 AWSKMS金鑰加密時,識別和提醒

由 Ram Kandaswamy 建立 (AWS)

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 命令列界面 (AWSCLI)

  • 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 Events 規則、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