搭配 GuardDuty 自動安全代理程式使用基礎設施作為程式碼 IaC) - Amazon GuardDuty

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

搭配 GuardDuty 自動安全代理程式使用基礎設施作為程式碼 IaC)

只有在下列清單適用於您的使用案例時,才能使用本節:

  • 您可以使用基礎設施作為程式碼 IaC) 工具,例如 AWS Cloud Development Kit (AWS CDK) 和 Terraform,來管理您的 AWS 資源,以及

  • 您需要為一或多個資源類型 - Amazon EKS、Amazon EC2或 Amazon ECS-Fargate 啟用 GuardDuty 自動代理程式組態。

IaC 資源相依性圖表概觀

當您為資源類型啟用 GuardDuty 自動代理程式組態時, GuardDuty 會自動建立與此VPC端點相關聯的VPC端點和安全群組,並安裝此資源類型的安全代理程式。根據預設, 只會在您停用執行期監控後 GuardDuty 刪除VPC端點和相關聯的安全群組。如需詳細資訊,請參閱在執行期監控中停用、解除安裝和清除資源

當您使用 IaC 工具時,它會維護資源的相依性圖表。使用 IaC 工具刪除資源時,它只會刪除可作為資源相依性圖表一部分追蹤的資源。IaC 工具可能不知道在其指定組態之外建立的資源。例如,您可以使用 IaC VPC 工具建立 ,然後使用VPC AWS 主控台或 API操作將安全群組新增至此。在資源相依性圖表中,您建立VPC的資源取決於相關聯的安全群組。如果您使用 IaC 工具刪除此VPC資源,則會出現錯誤。解決此錯誤的方式是手動刪除相關聯的安全群組,或更新 IaC 組態以包含此新增資源。

常見問題 - 刪除 IaC 中的資源

使用 GuardDuty 自動代理程式組態時,您可能想要刪除使用 IaC 工具建立的資源 (Amazon EC2、EKSAmazon 或 Amazon ECS-Fargate)。不過,此資源取決於 GuardDuty 建立的VPC端點。這可防止 IaC 工具自行刪除資源,並要求您停用執行期監控,這會進一步自動刪除VPC端點。

例如,當您嘗試刪除代表您 GuardDuty 建立的VPC端點時,您會收到類似下列範例的錯誤。

使用 時的錯誤範例 CDK

The following resource(s) failed to delete: [mycdkvpcapplicationpublicsubnet1Subnet1SubnetEXAMPLE1, mycdkvpcapplicationprivatesubnet1Subnet2SubnetEXAMPLE2]. Resource handler returned message: "The subnet 'subnet-APKAEIVFHP46CEXAMPLE' has dependencies and cannot be deleted. (Service: Ec2, Status Code: 400, Request ID: e071c3c5-7442-4489-838c-0dfc6EXAMPLE)" (RequestToken: 4381cff8-6240-208a-8357-5557b7EXAMPLE, HandlerErrorCode: InvalidRequest)

使用 Terraform 時的錯誤範例

module.vpc.aws_subnet.private[1]: Still destroying... [id=subnet-APKAEIVFHP46CEXAMPLE, 19m50s elapsed] module.vpc.aws_subnet.private[1]: Still destroying... [id=subnet-APKAEIVFHP46CEXAMPLE, 20m0s elapsed] Error: deleting EC2 Subnet (subnet-APKAEIBAERJR2EXAMPLE): DependencyViolation: The subnet 'subnet-APKAEIBAERJR2EXAMPLE' has dependencies and cannot be deleted. status code: 400, request id: e071c3c5-7442-4489-838c-0dfc6EXAMPLE

解決方案 - 防止資源刪除問題

本節可協助您管理VPC端點和安全群組,而不受 影響 GuardDuty。

若要取得使用 IaC 工具設定之資源的完整擁有權,請依照列出的順序執行下列步驟:

  1. 建立 VPC。若要允許輸入許可,請將端點與安全群組關聯 GuardDuty VPC至此 VPC。

  2. 為您的資源類型啟用 GuardDuty 自動代理程式組態

完成上述步驟後, GuardDuty 將不會建立自己的VPC端點,並將重複使用您使用 IaC 工具建立的端點。

如需建立您自己的 的相關資訊VPC,請參閱 Amazon Transit Gateways 中的VPC僅建立 VPC 如需建立VPC端點的相關資訊,請參閱下列有關資源類型的章節: