use*_*679 5 amazon-web-services aws-cloudformation
我有一个堆栈,它创建了一个三层应用程序.我想保护我的堆栈免于意外删除.有没有办法保护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/*"
}]
}
Run Code Online (Sandbox Code Playgroud)
在执行敏感操作(例如删除堆栈)之前,策略还可能需要使用多重身份验证(MFA)代码.
保护资源
CloudFormation创建的资源仍然可以由具有适当权限的任何用户删除/修改.因此,保护重要资源免受未经授权用户的影响非常重要.AWS建议授予最小权限,以便用户只能控制所需的资源,而不再需要.
CloudFormation删除政策
删除策略定义应该资源不能当堆栈被删除被删除.
使用
DeletionPolicy您可以保留的属性或(在某些情况下)删除其堆栈时的资源.您DeletionPolicy为要控制的每个资源指定一个属性.如果资源没有DeletionPolicy属性,AWS CloudFormation将默认删除该资源.要在删除堆栈时保留资源,请指定
Retain该资源.您可以将retain用于任何资源.例如,您可以保留Amazon S3存储桶或Amazon EC2实例,以便在删除堆栈后继续使用或修改这些资源.
这通常用于在故意堆栈删除后保留资源.例如,保留Amazon S3存储桶或Amazon RDS数据库.但是,即使堆栈被意外删除,它也可用于保留资源.
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |