簡體   English   中英

如何保護AWS CloudFormation堆棧不被刪除?

[英]How to protect an AWS CloudFormation stack from deletion?

我有一個堆棧,它創建了一個三層應用程序。 我想保護我的堆棧免於意外刪除。 有沒有辦法保護AWS CloudFormation堆棧?

此外,我想知道,即使我的堆棧被刪除,我如何能夠停止與被刪除的堆棧相關的資源。

有幾種方法可以保護AWS CloudFormation創建的資源。

保護堆棧

AWS CloudFormation采用描述所需資源的模板,並將其部署為一堆資源。 刪除堆棧時,也會刪除資源。

因此,第一種方法是控制哪些用戶有權刪除堆棧。 這可以通過身份和訪問管理(IAM)分配。

以下是使用AWS Identity and Access Management文檔控制訪問的示例:

拒絕刪除和更新MyProductionStack的堆棧操作的示例策略:

{
    "Version":"2012-10-17",
    "Statement":[{
        "Effect":"Deny",
        "Action":[
            "cloudformation:DeleteStack",
            "cloudformation:UpdateStack"
        ],
        "Resource":"arn:aws:cloudformation:us-east-1:123456789012:stack/MyProductionStack/*"
    }]
}

在執行敏感操作(例如刪除堆棧之前,策略還可能需要使用多重身份驗證(MFA)代碼

保護資源

CloudFormation創建的資源仍然可以由具有適當權限的任何用戶刪除/修改。 因此,保護​​重要資源免受未經授權用戶的影響非常重要。 AWS建議授予最小權限,以便用戶只能控制所需的資源,而不再需要。

CloudFormation刪除政策

刪除策略定義在堆棧被刪除不應刪除的資源。

來自CloudFormation文檔

使用DeletionPolicy屬性,您可以保留或(在某些情況下)在刪除堆棧時備份資源。 您為要控制的每個資源指定DeletionPolicy屬性。 如果資源沒有DeletionPolicy屬性,AWS CloudFormation將默認刪除該資源。

要在刪除堆棧時Retain資源,請為該資源指定“ Retain ”。 您可以將retain用於任何資源。 例如,您可以保留Amazon S3存儲桶或Amazon EC2實例,以便在刪除堆棧后繼續使用或修改這些資源。

這通常用於在故意堆棧刪除后保留資源。 例如,保留Amazon S3存儲桶或Amazon RDS數據庫。 但是,即使堆棧被意外刪除,它也可用於保留資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM