AWS コンソールでこのコマンドを実行しようとしています:
aws route53 list-hosted-zones
アクセス キー/シークレットを使用しており、デモ アカウントでは問題なく動作しました。チームに確認したところ、権限があることがわかりましたAmazongRoute53FullAccess
。
完全なエラーメッセージは次のとおりです。
PS C:\Users...> aws route53 list-hosted-zones --no-paginate
ListHostedZones オペレーションを呼び出すときにエラーが発生しました (AccessDenied): ユーザー: 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"
}
}
}
AWS CLI で MFA を使用するには、いくつかのオプションがあります。
- https://stackoverflow.com/a/41965046/2454476— これは最も簡単なオプションのように思えますが、私は自分で使用したことがなく、CLIの古いバージョンでは利用できない可能性があります。
- https://stackoverflow.com/a/34796136/2454476— これは CLI のどのバージョンでも機能するはずですが、いくつか追加の手順が必要です。