

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

# 對 IAM 進行疑難排解
<a name="troubleshoot"></a>

使用此處的資訊，來協助您針對使用 AWS Identity and Access Management (IAM) 時的常見問題進行診斷與修正。

**Topics**
+ [我無法登入我的 AWS 帳戶](#troubleshoot_general_cant-sign-in)
+ [如果遺失存取金鑰](#troubleshoot_general_access-keys)
+ [政策變數無法運作](#troubleshoot_general_policy-variables-dont-work)
+ [我所做的變更不一定都會立刻生效](#troubleshoot_general_eventual-consistency)
+ [我未獲得授權，不得執行：iam:DeleteVirtualMFADevice](#troubleshoot_general_access-denied-delete-mfa)
+ [如何安全地建立 IAM 使用者？](#troubleshoot_general_securely-create-iam-users)
+ [其他資源](#troubleshoot_general_resources)
+ [對拒絕存取錯誤訊息進行疑難排解](troubleshoot_access-denied.md)
+ [使用根使用者來疑難排解問題](troubleshooting_root-user.md)
+ [IAM 政策疑難排解](troubleshoot_policies.md)
+ [對通行密鑰和 FIDO 安全金鑰進行疑難排解](troubleshoot_mfa-fido.md)
+ [IAM 角色疑難排解](troubleshoot_roles.md)
+ [對 IAM 和 Amazon EC2 進行疑難排解](troubleshoot_iam-ec2.md)
+ [對 IAM 和 Amazon S3 進行疑難排解](troubleshoot_iam-s3.md)
+ [使用 IAM 對 SAML 聯合進行疑難排解](troubleshoot_saml.md)

## 我無法登入我的 AWS 帳戶
<a name="troubleshoot_general_cant-sign-in"></a>

請驗證您有正確的憑證，並且正在使用正確的方法登入。如需詳細資訊，請參閱《AWS 登入 使用者指南》** 中的 [登入問題故障診斷](https://docs.aws.amazon.com/signin/latest/userguide/troubleshooting-sign-in-issues.html)。

## 如果遺失存取金鑰
<a name="troubleshoot_general_access-keys"></a>

存取金鑰包含兩個部分：
+ **存取金鑰識別符**。識別符是公開的，您可以在列出存取金鑰的任意 IAM 主控台中進行查看，例如使用者摘要頁面。
+ **私密存取金鑰**。該金鑰會在您最初建立存取金鑰對時提供。它與密碼一樣，***之後無法再擷取***。如果您遺失了私密存取金鑰，則必須建立新的存取金鑰對。如果您已擁有[最大數量的存取金鑰](reference_iam-quotas.md#reference_iam-quotas-entities)，則必須先刪除現有的金鑰對，才能建立另一個。

如果您遺失了私密存取金鑰，則必須刪除該存取金鑰並新建一個。如需更多說明，請參閱 [更新存取金鑰](id-credentials-access-keys-update.md)。

## 政策變數無法運作
<a name="troubleshoot_general_policy-variables-dont-work"></a>

如果政策變數不起作用，則已發生下列錯誤之一：

**版本政策元素中的日期出錯。**  
請確認包含變數的所有政策是否在政策中包含以下版本編號：`"Version": "2012-10-17"`。若沒有正確的版本編號，在評估期間不會替換這些變數。反之，只會從字面上評估這些變數。如果包含最新的版本編號，則不包含變數的政策仍將具有效用。  
`Version` 政策元素與政策版本不同。`Version` 政策元素是在政策內使用，並定義政策語言的版本。在 IAM 中修改客戶管理政策時會建立政策版本。變更的政策不會覆寫現有的政策。IAM 反而會建立新版本的受管政策。若要進一步了解 `Version` 政策元素，請參閱 [IAM JSON 政策元素：Version](reference_policies_elements_version.md)。若要進一步了解政策版本，請參閱 [版本控制 IAM 政策](access_policies_managed-versioning.md)。

**變數字元存在字母大小寫錯誤。**  
確認您的政策變數為正確的大小寫。如需詳細資訊，請參閱 [IAM 政策元素：變數與標籤](reference_policies_variables.md)。

## 我所做的變更不一定都會立刻生效
<a name="troubleshoot_general_eventual-consistency"></a>

作為可透過全球各地資料中心的電腦存取的服務，IAM 採用了稱為[最終一致性](https://wikipedia.org/wiki/Eventual_consistency)的分散式運算模式。您在 IAM （或其他 AWS 服務） 中所做的任何變更，包括[屬性型存取控制 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) 標籤，都需要時間才能從所有可能的端點中顯示。部分延遲是由於在伺服器之間、複寫區域之間和地區之間傳送資料所花費的時間所造成。IAM 也會使用快取以提升效能，但在某些情況下，這可能會增加時間。直到先前快取的資料逾時後，才能看到變更。

您設計的全域應用程式必須能夠處理這些可能的延遲問題。確保它們即使在某個位置所做的變更不會立即顯示在另一個位置時，仍能如預期般運作。此類變更包括建立或更新使用者、群組、角色或政策。在應用程式的關鍵、高可用性代碼路徑中，不建議進行此類 IAM 變更。而應在不常運作的、單獨的初始化或設定常式中進行 IAM 變更。另外，在生產工作流程套用這些變更之前，請務必確認變更已傳播完畢。

如需其他一些 AWS 服務如何受到此影響的詳細資訊，請參閱下列資源：
+ **Amazon DynamoDB**：《DynamoDB 開發人員指南》**中的[讀取一致性](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html)，以及《Amazon DynamoDB 開發人員指南》中的[讀取一致性](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html)。
+ **Amazon EC2**：*Amazon EC2 API 參考*中的 [EC2 最終一致性](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-api-troubleshooting.html#eventual-consistency)。
+ **Amazon EMR**： AWS 大數據部落格中的[在使用 Amazon S3 和適用於 ETL 工作流程的 Amazon EMR 時確保一致性](https://aws.amazon.com/blogs/big-data/ensuring-consistency-when-using-amazon-s3-and-amazon-elastic-mapreduce-for-etl-workflows/)
+ **Amazon Redshift**：* Amazon Redshift 資料庫開發人員指南*中的[管理資料一致性](https://docs.aws.amazon.com/redshift/latest/dg/managing-data-consistency.html)
+ **Amazon S3**：*Amazon Simple Storage Service 使用者指南*中的 [Amazon S3 資料一致性模式](https://docs.aws.amazon.com//AmazonS3/latest/userguide/Welcome.html#ConsistencyModel)

## 我未獲得授權，不得執行：iam:DeleteVirtualMFADevice
<a name="troubleshoot_general_access-denied-delete-mfa"></a>

當您嘗試為您自己或其他人指派或移除虛擬 MFA 裝置時，您可能會接收到下列錯誤：

```
User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny
```

如果有人先前在 IAM 主控台中開始將虛擬 MFA 裝置指派給使用者的程序又將其取消，就可能發生此錯誤。這會在 IAM 中為該使用者建立虛擬 MFA 裝置，但從未將此裝置指派給該使用者。先刪除現有的虛擬 MFA 裝置，才能使用相同的裝置名稱建立新的虛擬 MFA 裝置。

若要修正此問題，管理員**不應**編輯政策許可。反之，管理員必須使用 AWS CLI 或 AWS API 來刪除現有但未指派的虛擬 MFA 裝置。

**刪除現有但未指派的虛擬 MFA 裝置**

1. 檢視您帳戶中的虛擬 MFA 裝置。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html)
   + AWS API： [https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)

1. 在回應中，找到您嘗試修正的使用者虛擬 MFA 裝置 ARN。

1. 刪除虛擬 MFA 裝置。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html)
   + AWS API： [https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html)

## 如何安全地建立 IAM 使用者？
<a name="troubleshoot_general_securely-create-iam-users"></a>

如果您有員工需要存取 AWS，您可以選擇建立 IAM 使用者[或使用 IAM Identity Center 進行身分驗證](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)。如果您使用 IAM， AWS 建議您建立 IAM 使用者，並安全地將登入資料傳達給員工。如果您不在員工旁邊，請使用安全的工作流程將憑證傳達給員工。

使用下列安全工作流程，在 IAM 中建立新使用者：

1. 使用 AWS 管理主控台[建立新使用者](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)。選擇以使用產生的密碼授予 AWS 管理主控台 存取權。如有必要，請選取 **Users must create a new password at next sign-in** (使用者必須在下次登入時建立新密碼) 核取方塊。在使用者變更密碼之前，請勿將許可政策新增至使用者。

1. 新增使用者之後，複製新使用者的登入 URL、使用者名稱和密碼。若要檢視密碼，請選擇 **Show** (顯示)。

1. 使用公司內的安全通訊方法，例如電子郵件、聊天或票證系統，將密碼傳送給您的員工。另外，為使用者提供 IAM 使用者主控台連結及其使用者名稱。請員工確認他們可以成功登入，然後再授與他們許可。

1. 員工確認之後，新增他們所需的許可。安全最佳實務是新增要求使用者使用 MFA 進行身分驗證以管理其憑證的政策。如需政策範例，請參閱 [AWS：允許經過 MFA 驗證的 IAM 使用者在「安全憑證」頁面中管理其憑證。](reference_policies_examples_aws_my-sec-creds-self-manage.md)。

## 其他資源
<a name="troubleshoot_general_resources"></a>

下列資源可協助您在使用 時進行故障診斷 AWS。
+ **[AWS CloudTrail 使用者指南](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)** – 使用 AWS CloudTrail 追蹤對 發出的 API 呼叫歷史記錄， AWS 並將該資訊存放在日誌檔案中。這有助於您判斷哪些使用者和帳戶存取帳戶中的資源，何時進行呼叫，請求了哪些動作等等。如需詳細資訊，請參閱[使用 記錄 IAM 和 AWS STS API 呼叫 AWS CloudTrail](cloudtrail-integration.md)。
+ **[AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/)** – 尋找FAQs和其他資源的連結，以協助您疑難排解問題。
+ **[AWS 支援中心](https://console.aws.amazon.com/support/home#/)** – 取得技術支援。
+ **[AWS 進階支援中心](https://aws.amazon.com/premiumsupport/)** – 取得進階技術支援。