Я пытаюсь выполнить эту команду в консоли AWS:
aws route53 list-hosted-zones
Я использую свой ключ доступа/секрет, и он отлично работает в демо-аккаунте. Я проверил со своей командой, и у меня есть разрешения AmazongRoute53FullAccess
:
Вот полное сообщение об ошибке:
PS C:\Users...> aws route53 list-hosted-zones --no-paginate
Произошла ошибка (AccessDenied) при вызове операции ListHostedZones: Пользователь: arn:aws:iam::362327418951:user/userName не имеет прав на выполнение: route53:ListHostedZones с явным запретом в политике на основе удостоверений
решение1
Проверьте политику CC-MFA-USER.
Судя по названиям политик, прикрепленных к вашей учетной записи, я подозреваю, что одна из них запрещает доступ без аутентификации с помощью MFA.
AWS предоставляет пример политики:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam_mfa-selfmanage.html
В приведенном выше примере последний оператор запрещает доступ, если вы не прошли аутентификацию с помощью MFA:
{
"Sid": "BlockMostAccessUnlessSignedInWithMFA",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ListUsers",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
Существует несколько вариантов использования MFA с AWS CLI:
- https://stackoverflow.com/a/41965046/2454476— это кажется самым простым вариантом, но я сам им не пользовался, и он может быть недоступен в старых версиях CLI
- https://stackoverflow.com/a/34796136/2454476— это должно работать с любой версией CLI, но для этого потребуется выполнить несколько дополнительных шагов.