我如何在使用 AWS CLI 連線至 Amazon 服務時修正「無法找到憑證」的錯誤?

2 分的閱讀內容
0

當我嘗試使用 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 角色[。

AWS 官方
AWS 官方已更新 6 個月前