使用 AWS 安全登入資料進行程式設計存取 - AWS Identity and Access Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS 安全登入資料進行程式設計存取

我們建議您盡可能使用短期存取金鑰,對 AWS 或 進行程式設計呼叫,以使用 AWS Command Line Interface 或 AWS Tools for PowerShell。不過,您也可以使用這些長期 AWS 存取金鑰。

當您建立長期存取金鑰時,會將存取金鑰 ID (例如 AKIAIOSFODNN7EXAMPLE) 和私密存取金鑰 (例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY) 建立為一個集合。只有在您建立的時候才可使用私密存取金鑰進行下載。如果您沒有下載私密存取金鑰,或者遺失,則必須重新建立。

在許多情況下,您不需要永遠不會過期的長期存取金鑰 (就像您為 IAM 使用者建立存取金鑰時一樣)。反之,您可以建立 IAM 角色並產生暫時安全憑證。暫時安全憑證包含存取金鑰 ID 和私密存取金鑰,但其中也包含指出憑證何時到期的安全權杖。臨時安全資料過期之後即不再有效。如需詳細資訊,請參閱 長期存取金鑰的替代方案

以 開頭的存取金鑰 IDs AKIA是 IAM 使用者或 AWS 帳戶 根使用者的長期存取金鑰。以 開頭的存取金鑰 IDs ASIA是您使用 AWS STS 操作建立的臨時憑證存取金鑰。

如果使用者想要與 AWS 外部互動,則需要程式設計存取 AWS Management Console。授予程式設計存取的方式取決於存取的使用者類型 AWS。

若要授與使用者程式設計存取權,請選擇下列其中一個選項。

哪個使用者需要程式設計存取權? 根據

人力資源身分

(IAM Identity Center 中管理的使用者)

使用臨時登入資料簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。

請依照您要使用的介面所提供的指示操作。

IAM 使用臨時登入資料簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。 請遵循 IAM 使用者指南中的將臨時登入資料與 AWS 資源搭配使用中的指示。
IAM

(不建議使用)

使用長期登入資料來簽署對 AWS CLI、 AWS SDKs 或 AWS APIs程式設計請求。

請依照您要使用的介面所提供的指示操作。

長期存取金鑰的替代方案

對於許多常見使用案例,有可以替代長期存取金鑰的方案。為了提高帳戶安全性,請考慮以下事項。

  • 請勿在應用程式程式碼或程式碼儲存庫中嵌入長期存取金鑰和秘密存取金鑰 – 反之,使用 AWS Secrets Manager或其他秘密管理解決方案,因此您不需要以純文字硬式編碼金鑰。然後,應用程式或用戶端可以在需要時擷取密碼。如需詳細資訊,請參閱AWS Secrets Manager 《 使用者指南》中的什麼是 AWS Secrets Manager?

  • 盡可能使用 IAM 角色產生暫時安全憑證 - 務必盡可能使用機制頒發暫時安全憑證,而非長期存取金鑰。暫時安全憑證更加安全,因為它們不會與使用者一起儲存,但會動態產生並在請求時提供給使用者。臨時安全憑證的生命週期有限,因此您不必對其進行管理或更新。提供暫時存取金鑰的機制包含 IAM 角色或 IAM Identity Center 使用者的身分驗證。對於在 外部執行的機器 AWS ,您可以使用 AWS Identity and Access Management Roles Anywhere

  • 針對 AWS Command Line Interface (AWS CLI) 或 aws-shell 使用長期存取金鑰的替代方案 – 替代方案包含以下內容。

    • AWS CloudShell 是一種以瀏覽器為基礎的預先驗證 Shell,您可以直接從 啟動 AWS Management Console。您可以透過 AWS 服務 您偏好的 shell (Bash、Powershell 或 Z shell) 對 執行 AWS CLI 命令。當您這樣做時,無需下載或安裝命令列工具。如需詳細資訊,請參閱《 AWS CloudShell使用者指南》中的什麼是AWS CloudShell ?

    • AWS CLI 2 版與 AWS IAM Identity Center (IAM Identity Center) 整合。您可以驗證使用者,並提供短期登入資料來執行 AWS CLI 命令。若要進一步了解,請參閱AWS IAM Identity Center 《 使用者指南》中的AWS CLI 與 IAM Identity Center 整合,以及》 AWS Command Line Interface 使用者指南》中的設定 AWS CLI 以使用 IAM Identity Center

  • 請勿為需要存取應用程式的人類使用者建立長期存取金鑰,或 AWS 服務 – IAM Identity Center 可以為您的外部 IdP 使用者產生臨時存取憑證以供存取 AWS 服務。這樣就不需要在 IAM 中建立和管理長期憑證。在 IAM Identity Center 中,建立可授予外部 IdP 使用者存取權的 IAM Identity Center 許可集。然後將 IAM Identity Center 中的群組指派給所選 中的許可集 AWS 帳戶。如需詳細資訊,請參閱AWS IAM Identity Center 《 使用者指南》中的什麼是 AWS IAM Identity Center連接至外部身分提供者許可集

  • 請勿在 AWS 運算服務中存放長期存取金鑰 – 請改為指派 IAM 角色來運算資源。這會自動提供暫時憑證以授予存取權。例如,當您建立連接至 Amazon EC2 執行個體的執行個體描述檔時,您可以將 AWS 角色指派給執行個體,並將其提供給其所有應用程式。執行個體設定檔包含該角色,並且可讓 Amazon EC2 執行個體上執行的程式取得臨時憑證。若要進一步了解,請參閱利用 IAM 角色來授予許可給 Amazon EC2 執行個體上執行的應用程式