![](/img/trans.png)
[英]Allow AWS resources deletion only by delete CloudFormation stack
[英]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.