我嘗試在 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"
}
}
}
將 MFA 與 AWS CLI 結合使用有幾個選項:
- https://stackoverflow.com/a/41965046/2454476— 這似乎是最簡單的選項,但我自己沒有使用過它,而且它可能在舊版的 CLI 上不可用
- https://stackoverflow.com/a/34796136/2454476— 這應該適用於任何版本的 CLI,但涉及一些額外的步驟。