Я работаю над настройкой, в которой мне нужно завершить работу экземпляров AWS из-за неактивности (то есть, ничего нового в журналах доступа веб-сервера с определенного периода времени).Эти экземпляры являются тестовыми и автоматически создаются программным обеспечением CI / CD.
Я хотел бы, чтобы эти случаи идентифицировали себя, что они покинули себя и прекратили себя.Я хочу назначить общую роль iam каждой из них, которая позволит экземпляру только самому завершению, а не одноранговым экземплярам.
Пока я здесь: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-wheretouse https://www.reddit.com/r/aws/comments/4gglxk/iam_policy_to_allow_ec2_instance_to_only_query/ https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html
И выяснил, что в политиках доступны 2 переменные:
ec2-instance-id
ec2:SourceInstanceARN
Я пришелс несколькими вариантами моей ролевой политики, но ни одна из них не работает:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": "*",
"Condition": {
"ArnEquals": {
"ec2:SourceInstanceARN": "arn:aws:ec2:*:*:instance/${ec2-instance-id}"
}
}
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": "arn:aws:ec2:*:*:instance/${ec2-instance-id}"
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "ec2:TerminateInstances",
"Resource": "${ec2:SourceInstanceARN}"
}
]
}
Возможно ли достичь желаемого поведения, то есть разрешить экземпляру выполнять только определенные действия над собой (например прекращение)?
ОБНОВЛЕНИЕ:
Я знаю, что могу работать с тегами, это то, чем я занимаюсь, но это означает, что все тегированные экземпляры могут завершить работу своих пиров.Это слишком слабое ограничение, я бы хотел ограничить его экземпляром
AWS IAM: разрешить экземпляру EC2 останавливать себя
Политика IAM дляразрешить доступ к API экземпляра EC2 только для изменения самого себя