

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

# AWS 安全登入資料
<a name="security-creds"></a>

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

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

中有不同類型的使用者 AWS，每個使用者都有自己的安全登入資料：
+ **帳戶擁有者 （根使用者）** — 建立 AWS 帳戶 且具有完整存取權的使用者。
+ **AWS IAM Identity Center 使用者** — 在 中管理的使用者 AWS IAM Identity Center。
+ **聯合主體** — 來自外部身分提供者的使用者，他們 AWS 透過聯合獲得對 的臨時存取權。如需聯合身分的詳細資訊，請參閱 [身分提供者和聯合身分 AWS](id_roles_providers.md)。
+ **IAM 使用者** — 在 AWS Identity and Access Management (IAM) 服務中建立的個別使用者。

使用者擁有長期或暫時安全憑證。根使用者、IAM 使用者和存取金鑰具有不會過期的長期安全憑證。若要保護長期憑證，您應有現成的程序以[管理存取金鑰](id_credentials_access-keys.md)、[變更密碼](id_credentials_passwords.md)和[啟用 MFA](id_credentials_mfa.md)。

若要簡化 中跨成員帳戶的根使用者憑證管理 AWS Organizations，您可以使用 集中保護 AWS 帳戶 受管 的根使用者憑證 AWS Organizations。 [集中管理成員帳戶的根存取權](id_root-user.md#id_root-user-access-management)可讓您集中移除和防止長期根使用者憑證復原，防止大規模的意外根存取。

IAM AWS STS 角色 AWS IAM Identity Center 的使用者和聯合身分使用者主體具有臨時安全登入資料。暫時安全憑證會在定義的一段時間或使用者結束工作階段後過期。暫時憑證的作用幾乎與長期憑證完全相同，而其差異如下：
+ 暫時安全憑證是「短期」**的，如其名稱所暗示。其可設定為在任何地方持續幾分鐘到幾小時不等。登入資料過期後， AWS 就無法再辨識這些登入資料，也無法允許從使用它們提出的 API 請求進行任何類型的存取。
+ 暫時性安全憑證不會與使用者一起儲存，但會動態產生並在請求時提供給使用者。當暫時性安全憑證到期時 (或者即使在此之前)，使用者可以請求新的憑證，只要使用者的請求仍具有可這麼做的許可。

因此，相較於長期憑證，暫時性憑證具有下列優點：
+ 您不需要向應用程式分發或嵌入長期 AWS 安全登入資料。
+ 您可以為使用者提供 AWS 資源的存取權，而不必為其定義 AWS 身分。暫時憑證是[角色和聯合身分](id_roles.md)的基礎。
+ 臨時安全憑證的存留期有限，因此當不再需要時，您不需要更新它們或明確予以撤銷。暫時性安全憑證到期之後，就無法重複使用。您可以指定憑證的有效期，達到最長限制。

## 安全考量
<a name="security-considerations-ref"></a>

建議您在決定適用於 AWS 帳戶的安全規定時，考量下列資訊：
+  當您建立 時 AWS 帳戶，我們會建立 帳戶根使用者。根使用者 (帳戶擁有者) 的憑證可以完整存取帳戶中的所有資源。您使用根使用者執行的第一個任務是將另一個使用者管理許可授予 ， AWS 帳戶 以便將根使用者的用量降至最低。
+ 多重要素驗證 (MFA) 為可以存取 AWS 帳戶的使用者提供多一層級的安全防護。為了提高安全性，我們建議您對 AWS 帳戶根使用者 登入資料和所有 IAM 使用者要求 MFA。如需詳細資訊，請參閱[AWS IAM 中的多重要素驗證](id_credentials_mfa.md)。
+ AWS 需要不同類型的安全登入資料，取決於您的存取方式 AWS 和 AWS 使用者類型。例如，您在使用存取金鑰進行程式設計呼叫 AWS 管理主控台 時使用 的登入憑證 AWS。如需判斷使用者類型和登入頁面的說明，請參閱*AWS 登入 《 使用者指南*》中的[什麼是 AWS 登入](https://docs.aws.amazon.com/signin/latest/userguide/what-is-sign-in.html)。
+ 您無法使用 IAM 政策來明確拒絕根使用者存取權。您只能使用 AWS Organizations [服務控制政策 (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_type-auth.html) 來限制根使用者的許可。
+ 如果您忘記或遺失根使用者密碼，則必須擁有與您帳戶相關聯之電子郵件地址的存取權，才能重設密碼。
+ 如果遺失根使用者存取金鑰，則您必須能夠以根使用者身分登入您的帳戶，才能建立新的金鑰。
+ 請勿將您的根使用者用於日常任務。請將其用來執行只能由根使用者執行的任務。如需檢視需要您以根使用者身分登入的任務完整清單，請參閱 [需要根使用者憑證的任務](id_root-user.md#root-user-tasks)。
+ 安全登入資料是帳戶專屬的資料。如果您可以存取多個 AWS 帳戶，則每個帳戶都有單獨憑證。
+ [政策](access_policies.md)會決定使用者、角色或使用者群組成員可以對哪些 AWS 資源執行的動作，以及在哪些條件下執行的動作。使用 政策，您可以安全地控制對 中 AWS 服務 和資源的存取 AWS 帳戶。如果您必須修改或撤銷許可以回應安全性事件，則您可以刪除或修改政策，而不是直接變更身分。
+ 請務必將*緊急存取* IAM 使用者的登入憑證，以及為程式設計存取而建立的任何存取金鑰儲存在安全的位置。如果您遺失存取金鑰，則必須登入帳戶建立新金鑰。
+ 強烈建議您使用 IAM 角色和聯合身分主體提供的臨時憑證，而不要使用 IAM 使用者和存取金鑰提供的長期憑證。

# 使用 AWS 安全登入資料進行程式設計存取
<a name="security-creds-programmatic-access"></a>

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

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

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

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

如果使用者想要與 AWS 外部互動，則需要程式設計存取 AWS 管理主控台。授予程式設計存取權的方式取決於正在存取的使用者類型 AWS。

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


****  

| 哪個使用者需要程式設計存取權？ | 到 | 根據 | 
| --- | --- | --- | 
| IAM | （建議） 使用主控台登入資料做為臨時登入資料，以簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/security-creds-programmatic-access.html)  | 
|  人力資源身分 (IAM Identity Center 中管理的使用者)  | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/security-creds-programmatic-access.html)  | 
| IAM | 使用暫時登入資料簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs | 遵循《IAM 使用者指南》中[將臨時登入資料與 AWS 資源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)搭配使用的指示。 | 
| IAM | (不建議使用)使用長期憑證簽署對 AWS CLI、 AWS SDKs程式設計請求。 AWS APIs |  請依照您要使用的介面所提供的指示操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/IAM/latest/UserGuide/security-creds-programmatic-access.html)  | 

## 長期存取金鑰的替代方案
<a name="security-creds-alternatives-to-long-term-access-keys"></a>

對於許多常見使用案例，有可以替代長期存取金鑰的方案。為了提高帳戶安全性，請考慮以下事項。
+ **請勿在應用程式程式碼或程式碼儲存庫中嵌入長期存取金鑰和私密存取金鑰 – **反之，使用 AWS Secrets Manager或其他私密管理解決方案，因此您不必以純文字硬式編碼金鑰。然後，應用程式或用戶端可以在需要時擷取密碼。如需詳細資訊，請參閱*AWS Secrets Manager 《 使用者指南*》中的[什麼是 AWS Secrets Manager？](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)。
+ **盡可能使用 IAM 角色產生暫時安全憑證** - 務必盡可能使用機制頒發暫時安全憑證，而非長期存取金鑰。暫時安全憑證更加安全，因為它們不會與使用者一起儲存，但會動態產生並在請求時提供給使用者。臨時安全憑證的生命週期有限，因此您不必對其進行管理或更新。提供暫時存取金鑰的機制包含 IAM 角色或 IAM Identity Center 使用者的身分驗證。對於在 外部執行的機器 AWS ，您可以使用 [AWS Identity and Access Management Roles Anywhere](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/introduction.html)。
+ **針對 AWS Command Line Interface (AWS CLI) 或 `aws-shell` 使用長期存取金鑰的替代方案 –** 替代方案包含以下內容。
  + **使用主控台登入資料登入進行 AWS 本機開發**。您可以使用 第 2 AWS CLI 版和 `aws login`命令來產生短期登入資料，以使用您的主控台登入資料執行 AWS CLI 命令。若要進一步了解，請參閱*AWS Command Line Interface 《 使用者指南*》中的[登入以進行 AWS 本機開發](https://docs.aws.amazon.com//cli/latest/userguide/cli-authentication-user.html)。
  + **AWS CloudShell** 是以瀏覽器為基礎的預先驗證 Shell，您可以直接從 啟動 AWS 管理主控台。您可以透過 AWS 服務 您偏好的 shell (Bash、Powershell 或 Z shell) 對 執行 AWS CLI 命令。當您這樣做時，無需下載或安裝命令列工具。如需詳細資訊，請參閱《 AWS CloudShell使用者指南**》中的[什麼是AWS CloudShell ？](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html)。
+ **請勿為需要存取應用程式的人類使用者建立長期存取金鑰，或 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](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)、[連接至外部身分提供者](https://docs.aws.amazon.com/singlesignon/latest/userguide/manage-your-identity-source-idp.html)和[許可集](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html)。
+ **請勿在 AWS 運算服務中存放長期存取金鑰 –** 請改為指派 IAM 角色來運算資源。這會自動提供暫時憑證以授予存取權。例如，當您建立連接至 Amazon EC2 執行個體的執行個體描述檔時，您可以將 AWS 角色指派給執行個體，並將其提供給其所有應用程式。執行個體設定檔包含該角色，並且可讓 Amazon EC2 執行個體上執行的程式取得臨時憑證。若要進一步了解，請參閱[利用 IAM 角色來授予許可給 Amazon EC2 執行個體上執行的應用程式](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。