gpt4 book ai didi

amazon-web-services - 防止 AWS CloudFormation 使用 IAM 删除 DynamoDB

转载 作者:行者123 更新时间:2023-12-03 07:28:40 24 4
gpt4 key购买 nike

我正在尝试创建一个 AWS 角色来阻止 CloudFormation 删除表。例如,我创建的表如下:

UsersDynamoDBTable:
Type: AWS::DynamoDB::Table
Description: Users DynamoDB Table
Properties:
AttributeDefinitions:
- AttributeName: hashKey
AttributeType: S
- AttributeName: rangeKey
AttributeType: S
KeySchema:
- AttributeName: hashKey
KeyType: HASH
- AttributeName: rangeKey
KeyType: RANGE
BillingMode: PAY_PER_REQUEST
GlobalSecondaryIndexes:
- IndexName: index-rangeKey
KeySchema:
- AttributeName: rangeKey
KeyType: HASH
- AttributeName: hashKey
KeyType: RANGE
Projection:
ProjectionType: ALL

现在假设开发人员意外删除了此行并更新了堆栈。这样,表及其所有数据都将被删除。因此,我想创建一个角色来阻止 CloudFormation 删除 DynamoDB 表。我的第一次尝试是创建下面的角色,但没有成功。

PreventCloudFormationDeleteTableIAMRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service:
- cloudformation.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: PreventTableDeletePolicy
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Deny
Action:
- dynamodb:DeleteTable
Resource:
- !Join
- '/'
- - !Join [':', ['arn:aws:dynamodb', !Sub '${AWS::Region}', '*', 'table']]
- !Join ['', [!Sub '${StackName}', '*']]

我是否缺少一些角色配置?

谢谢。

最佳答案

您可以使用 RETAINDeletionPolicy 来防止在移除堆栈或从模板中移除表时删除表。此外,新的 UpdateReplacePolicy 将阻止 CloudFormation 在由于主键更改而需要删除表时删除表。

关于amazon-web-services - 防止 AWS CloudFormation 使用 IAM 删除 DynamoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54462191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com