AWS Secrets Manger - всегда ошибка, даже если политика верна
У меня есть следующая политика ресурсов для моего AWS Secrets Manager
{
"Version" : "2012-10-17",
"Statement" : [ {
"Sid" : "policyForSomething",
"Effect" : "Deny",
"Condition": {
"StringNotEquals": {
"aws:PrincipalArn": [ "arn:aws:sts::**********:assumed-role/####/USERG",
"arn:aws:sts::**********:assumed-role/####/USER1",
"arn:aws:sts::**********:assumed-role/####/USER2",
"arn:aws:sts::**********:assumed-role/####/USER3",
"arn:aws:sts::**********:assumed-role/####/USER4" ]
}
},
"Action" : "secretsmanager:*",
"Resource" : "arn:aws:secretsmanager:us-west-2:*******:secret:/*"
}]
}
Когда я пытаюсь проверить с помощью мастера новой политики, я не вижу ошибок. Но когда я помещаю его в область политики ресурсов для диспетчера секретов, он всегда жалуется: «Эта политика ресурсов содержит синтаксическую ошибку».
Помимо того факта, что «Пользовательский интерфейс AWS и сообщения об ошибках не всегда полезны» - может ли кто-нибудь помочь мне понять, почему это проблема?
1 ответ
Вы должны иметь один из и в своей политике, основанной на ресурсах. Попробуйте использовать with или with.
Кроме того, поскольку вы используете политику на основе ресурсов,
Resource
автоматически и неявно становится секретом вашей политики. (Так что вы можете смело использовать
'*'
там)
Principal
с участиемAllow
:{ "Version": "2012-10-17", "Statement": [{ "Sid": "policyForSomething", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:sts::**********:assumed-role/####/USERG", "arn:aws:sts::**********:assumed-role/####/USER1", "arn:aws:sts::**********:assumed-role/####/USER2", "arn:aws:sts::**********:assumed-role/####/USER3", "arn:aws:sts::**********:assumed-role/####/USER4" ] }, "Action": "secretsmanager:*", "Resource": "*" }] }
NotPrincipal
с участиемDeny
:{ "Version": "2012-10-17", "Statement": [{ "Sid": "policyForSomething", "Effect": "Deny", "NotPrincipal": { "AWS": [ "arn:aws:sts::**********:assumed-role/####/USERG", "arn:aws:sts::**********:assumed-role/####/USER1", "arn:aws:sts::**********:assumed-role/####/USER2", "arn:aws:sts::**********:assumed-role/####/USER3", "arn:aws:sts::**********:assumed-role/####/USER4" ] }, "Action": "secretsmanager:*", "Resource": "*" }] }
Справка: