當我嘗試使用 AWS Command Line Interface (AWS CLI) 來存取我的 Amazon Simple Storage Service (Amazon S3) 儲存貯體時,發生錯誤。
解決方法
「無法找到憑證」的錯誤表示您與其互動的 AWS 服務無法找到驗證 AWS API 呼叫的憑證。例如,這可能是例如 Amazon S3 的 AWS 服務。若要解決這項問題,請確認 AWS CLI 中是否正確設定 AWS 憑證。
**注意事項:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確認您使用的是最新的 AWS CLI 版本。
若要檢查 AWS CLI 是否透過憑證進行設定,請執行下列命令:
$ aws configure list
如果憑證是在組態檔或憑證檔中進行設定,則命令會傳回類似於下列內容的回應:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************ABCD config_file ~/.aws/config
secret_key ****************ABCD config_file ~/.aws/config
region us-west-2 env AWS_DEFAULT_REGION
如果憑證是透過環境變數進行設定,則命令會傳回類似於下列內容的回應:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************N36N env
secret_key ****************cxxy env
region <not set> None None
如果憑證是在執行個體設定檔中進行設定,則命令會傳回類似於下列內容的回應:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key ****************YVEQ iam-role
secret_key ****************2a9N iam-role
region <not set> None None
如果沒有設定任何憑證,則命令會傳回下列輸出:
Name Value Type Location
---- ----- ---- --------
profile <not set> None None
access_key <not set> None None
secret_key <not set> None None
region <not set> None None
檢閱回應以檢查憑證是否遺漏或儲存的憑證不正確。
執行個體設定檔可能會連接至 Amazon EC2 執行個體,但是因為設定的信任政策中的 AssumeRole 問題,仍然無法載入憑證。如需詳細資訊,請參閱擷取執行個體中繼資料。
如果命令在擷取執行個體中繼資料時傳回下列輸出,則會限制信任政策中的 AssumeRole:
{
"Code" : "AssumeRoleUnauthorizedAccess",
"Message" : "EC2 cannot assume the role EXAMPLEROLE. Please see documentation at https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_errors-info-doc.",
"LastUpdated" : "2024-04-03T09:49:40Z"
}
檢閱回應以檢查憑證是否遺漏、IAM 信任政策是否未適當設定,或者儲存的憑證是否不正確。如需詳細資訊,請參閱 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html)Amazon EC2 的 IAM 角色[。