本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
搭配 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 工具設定之資源的完整擁有權,請依照列出的順序執行下列步驟:
-
建立 VPC。若要允許輸入許可,請將端點與安全群組關聯 GuardDuty VPC至此 VPC。
-
為您的資源類型啟用 GuardDuty 自動代理程式組態
完成上述步驟後, GuardDuty 將不會建立自己的VPC端點,並將重複使用您使用 IaC 工具建立的端點。
如需建立您自己的 的相關資訊VPC,請參閱 Amazon Transit Gateways 中的VPC僅建立 。 VPC 如需建立VPC端點的相關資訊,請參閱下列有關資源類型的章節:
-
對於 Amazon EC2,請參閱 先決條件 – 手動建立 Amazon VPC端點。
-
對於 Amazon EKS,請參閱 先決條件 – 建立 Amazon VPC端點。