AWS 安全認證 - AWS Identity and Access Management

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

AWS 安全認證

與之互動時 AWS,您可以指定 AWS 安全登入資料以驗證您的身分,以及您是否有權存取要求的資源。 AWS 使用安全認證來驗證和授權您的請求。

例如,如果要從 Amazon Simple Storage Service (Amazon S3) 儲存貯體下載受保護的檔案,您的憑證必須允許此存取動作。如果您的認證未顯示您獲得下載檔案的授權,請 AWS 拒絕您的要求。不過,您不需要您的 AWS 安全登入資料即可在公開共用的 Amazon S3 儲存貯體中下載檔案。

中有不同類型的使用者 AWS。所有 AWS 使用者都有安全認證。有帳戶擁有者 (root 使用者) AWS IAM Identity Center 的使用者、聯合身分使用者和 IAM 使用者。

使用者擁有長期或暫時安全憑證。根使用者、IAM 使用者和存取金鑰具有不會過期的長期安全憑證。若要保護長期憑證,您應有現成的程序以管理存取金鑰變更密碼啟用 MFA

IAM 角色和聯合身分使用者具有臨時安全登入資料。 AWS IAM Identity Center 的使用者暫時安全憑證會在定義的一段時間或使用者結束工作階段後過期。暫時憑證的作用幾乎與長期憑證完全相同,而其差異如下:

  • 暫時安全憑證是「短期」的,如其名稱所暗示。其可設定為在任何地方持續幾分鐘到幾小時不等。憑據過期後, AWS 不再識別它們或允許從它們發出的 API 請求中進行任何類型的訪問。

  • 暫時性安全憑證不會與使用者一起儲存,但會動態產生並在請求時提供給使用者。當暫時性安全憑證到期時 (或者即使在此之前),使用者可以請求新的憑證,只要使用者的請求仍具有可這麼做的許可。

因此,相較於長期憑證,暫時性憑證具有下列優點:

  • 您不需要在應用程式中散佈或內嵌長期 AWS 安全性登入資料。

  • 您可以為使用者提供對資 AWS 源的存取權,而不必為使用者定義 AWS 身分。暫時憑證是角色和聯合身分的基礎。

  • 臨時安全憑證的存留期有限,因此當不再需要時,您不需要更新它們或明確予以撤銷。暫時性安全憑證到期之後,就無法重複使用。您可以指定憑證的有效期,達到最長限制。

安全考量

建議您在決定適用於 AWS 帳戶的安全規定時,考量下列資訊:

  • 當您建立時 AWS 帳戶,我們會建立帳戶 root 使用者。根使用者 (帳戶擁有者) 的憑證可以完整存取帳戶中的所有資源。您對 root 使用者執行的第一項工作是授與您的其他使用者管理權限, AWS 帳戶 以便將 root 使用者的使用量降到最低。

  • 您無法使用 IAM 政策來明確拒絕根使用者存取權。您只能使用 AWS Organizations 服務控制原則 (SCP) 來限制根使用者的權限。

  • 如果您忘記或遺失根使用者密碼,則必須擁有與您帳戶相關聯之電子郵件地址的存取權,才能重設密碼。

  • 如果遺失根使用者存取金鑰,則您必須能夠以根使用者身分登入您的帳戶,才能建立新的金鑰。

  • 請勿將您的根使用者用於日常任務。請將其用來執行只能由根使用者執行的任務。如需檢視需要您以根使用者身分登入的任務完整清單,請參閱 需要根使用者憑證的任務

  • 安全登入資料是帳戶專屬的資料。如果您可以存取多個 AWS 帳戶,則每個帳戶都有單獨憑證。

  • 策略會決定使用者、角色或使用者群組成員可以執行的動作、對哪些 AWS 資源以及在何種情況下可執行的動作。使用政策,您可以安全地控制 AWS 帳戶. AWS 服務 如果您必須修改或撤銷許可以回應安全性事件,則您可以刪除或修改政策,而不是直接變更身分。

  • 請務必將緊急存取 IAM 使用者的登入憑證,以及為程式設計存取而建立的任何存取金鑰儲存在安全的位置。如果您遺失存取金鑰,則必須登入帳戶建立新金鑰。

  • 強烈建議您使用 IAM 角色和聯合身分使用者提供的暫時憑證,而不要使用 IAM 使用者和存取金鑰提供的長期憑證。

聯合身分

同盟身分識別是具有外部身分識別的使用者,這些身分被授與可用來存取安全 AWS 帳戶 資源的臨時 AWS 認證。外部身分可以是來自公司身分存放區 (例如 LDAP 或 Windows Active Directory) 或來自第三方 (例如 Login with Amazon, Facebook, or Google)。同盟身分識別不會使用 AWS Management Console 或 AWS 存取入口網站登入。

若要啟用聯合身分登入 AWS,您必須建立包含 https://signin.aws.amazon.com/federation 的自訂 URL。如需詳細資訊,請參閱 啟用自訂身分識別代理存取主 AWS 控台

如需聯合身分的詳細資訊,請參閱 身分提供者與聯合

多重要素驗證 (MFA)

多重要素驗證 (MFA) 為可以存取 AWS 帳戶的使用者提供多一層級的安全防護。若要提升安全性,我們建議您要求對 AWS 帳戶根使用者 憑證和所有 IAM 使用者進行 MFA。如需詳細資訊,請參閱 在中使用多因素身份驗證(MFA) AWS

當您啟用 MFA 並登入時 AWS 帳戶,系統會提示您輸入登入憑證,以及 MFA 裝置產生的回應,例如代碼、觸控或輕觸或生物識別掃描。當您新增 MFA 時,您的 AWS 帳戶 設定和資源會更加安全。

預設情況下,MFA 未激活。您可以前往安全憑證頁面或 AWS Management Console中的 IAM 儀表板,針對 AWS 帳戶根使用者 啟用並管理 MFA 裝置。如需針對 IAM 使用者啟用 MFA 的詳細資訊,請參閱 為中的使用者啟用 MFA 裝置 AWS

如需有關使用多重要素驗證 (MFA) 裝置登入的詳細資訊,請參閱 透過您的 IAM 登入頁面來使用 MFA 裝置

程式設計存取權

您可以提供 AWS 存取金鑰,以便對 AWS 或進行程式設計呼叫 AWS Command Line Interface 或 AWS Tools for PowerShell。建議盡可能使用短期存取金鑰。

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

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

開頭為的存取金鑰 ID AKIA 是 IAM 使用者或 AWS 帳戶 根使用者的長期存取金鑰。以開頭的存取金鑰 ID ASIA 是您使用 AWS STS 作業建立的暫時認證存取金鑰。

如果使用者想要與 AWS 之外的 AWS Management Console. 授與程式設計存 AWS取權的方式取決於正在存取的使用者類型。

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

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

人力身分

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

使用臨時登入資料來簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。

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

IAM 使用臨時登入資料來簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。 遵循《IAM 使用者指南》中的〈將臨時登入資料搭配 AWS 資源使用〉中的指
IAM

(不建議使用)

使用長期認證來簽署對 AWS CLI、 AWS SDK 或 AWS API 的程式設計要求。

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

長期存取金鑰的替代方案

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

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

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

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

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

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

AWS 使用您的 AWS 認證存取

AWS 需要不同類型的安全登入資料,具體取決於您存取的方式 AWS 和 AWS 使用者類型。例如,在使用存取金鑰對 AWS進行程式設計呼叫時,使用 AWS Management Console 的登入憑證。此外,您使用的每個身分,無論是帳戶根使用者、 AWS Identity and Access Management (IAM) 使用者、使用者或聯合身分,都在其中 AWS都有唯一的登入資料。 AWS IAM Identity Center

如需如 step-by-step 何 AWS 根據您的使用者類型登入的指示,請參閱AWS 登入使用者指南 AWS中的如何登入