要编写政策以仅允许在EC2实例上进行DeleteOnTermination,您可以使用AWS Identity and Access Management(IAM)策略来限制用户的权限。以下是一个代码示例,展示了如何编写一个IAM策略,以仅允许用户对EC2实例进行DeleteOnTermination操作。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:ModifyInstanceAttribute"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:InstanceInitiatedShutdownBehavior": "delete"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:TerminateInstances"
],
"Resource": "*"
}
]
}
上述策略包含两个声明(Statement):
ec2:ModifyInstanceAttribute
操作,但是要求ec2:InstanceInitiatedShutdownBehavior
的值为delete
。这将确保只有对实例设置DeleteOnTermination属性的用户才能修改实例属性。ec2:TerminateInstances
操作,以允许删除实例。请注意,上述代码示例中的策略仅限制用户对EC2实例执行DeleteOnTermination操作。如果您需要进一步限制用户对EC2实例的其他操作,您可以根据需要添加其他声明。
要将此策略应用于IAM用户,您可以将其附加到用户的IAM策略中。请确保用户具有执行相关操作的权限,并且没有执行其他不需要的操作的权限。
下一篇:编写正确的单元测试