AWS CLI 的驗證與存取憑證 - AWS Command Line Interface

AWS CLI 的驗證與存取憑證

使用 AWS 服務開發內容時,您必須建立 AWS CLI 使用 AWS 的驗證方式。若要設定 AWS CLI 的程式設計存取權憑證,請從下列選項擇一。選項是按照建議順序排列的。

驗證類型 用途 指示

IAM Identity Center 人力使用者短期憑證

(建議) 將短期憑證用於 IAM Identity Center 人力使用者。

安全最佳實務是搭配使用 AWS Organizations 和 IAM Identity Center。它結合了短期憑證與使用者目錄,例如內建的 IAM Identity Center 目錄或 Active Directory。

使用 AWS CLI 設定 IAM Identity Center 身分驗證
IAM 使用者短期憑證 使用比長期憑證更安全的 IAM 使用者短期憑證。如果憑證遭到入侵,憑證在過期前被利用的時間有限。 使用 AWS CLI 的短期憑證進行驗證
Amazon EC2 執行個體上的 IAM 或 IAM Identity Center 使用者 使用 Amazon EC2 執行個體中繼資料,以使用指派給 Amazon EC2 執行個體的角色來查詢臨時憑證。 在 AWS CLI 中使用 Amazon EC2 執行個體中繼資料做為憑證
擔任許可的角色 配對另一個憑證方法,並擔任可暫時存取您可能無法存取之 AWS 服務 的角色。 在 AWS CLI 中使用 IAM 角色
IAM 使用者長期憑證 (不建議) 使用不會過期的長期憑證。 使用 AWS CLI 的 IAM 使用者憑證來進行驗證
IAM 或 IAM Identity Center 人力使用者外部儲存裝置 (不建議) 配對其他憑證方法,但將憑證值存放於 AWS CLI 之外的位置。此方法的安全性僅與存放憑證的外部位置一樣安全。 在 AWS CLI 中透過外部程序取得憑證

組態和憑證優先順序

憑證和組態設定位於多個位置,例如系統或使用者環境變數、本機 AWS 組態檔案,或在命令列上明確宣告為參數。某些身分驗證優先於其他身分驗證。AWS CLI 身分驗證設定優先順序如下:

  1. 命令列選項 – 覆寫任何其他位置 (例如 --region--output--profile 參數) 的設定。

  2. 環境變數 – 您可以將數值存放在環境變數中。

  3. 擔任角色—透過組態或 assume-role 命令,獲得 IAM 角色許可。

  4. 擔任具有 Web 身分的角色—透過組態或 assume-role-with-web-identity 命令,使用 Web 身分獲得 IAM 角色許可。

  5. AWS IAM Identity Center – 存放在 config 檔案中的 IAM Identity Center 組態設定會在您執行 aws configure sso 命令時更新。之後當您執行 aws sso login 命令時,系統會驗證憑證。config 檔案在 Linux 或 macOS 上位於 ~/.aws/config,在 Windows 上位於 C:\Users\USERNAME\.aws\config

  6. 憑證檔案 – 當您執行 aws configure 命令時,會更新 credentialsconfig 檔案。credentials 檔案在 Linux 或 macOS 上位於 ~/.aws/credentials,在 Windows 上位於 C:\Users\USERNAME\.aws\credentials

  7. 自訂程序—從外部來源取得憑證。

  8. 組態檔 – 當您執行 aws configure 命令時,會更新 credentialsconfig 檔案。config 檔案在 Linux 或 macOS 上位於 ~/.aws/config,在 Windows 上位於 C:\Users\USERNAME\.aws\config

  9. 容器憑證 – 您可以將 IAM 角色與您的每一個 Amazon Elastic Container Service (Amazon ECS) 任務定義關聯起來。然後,該角色的臨時憑證就可供該任務的容器使用。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的任務 IAM 角色

  10. Amazon EC2 執行個體設定檔憑證 – 您可以將 IAM 角色與您的每一個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體關聯起來。然後,該角色的臨時憑證就可供執行個體中執行的程式碼使用。憑證是透過 Amazon EC2 中繼資料服務傳遞。如需詳細資料,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 IAM 角色,以及《IAM 使用者指南》中的使用執行個體設定檔

本區段的其他主題