IAM 使用者 - AWS Identity and Access Management

IAM 使用者

重要

IAM 最佳實務建議您要求人類使用者搭配身分提供者使用聯合功能,以便使用臨時憑證存取 AWS,而不是使用具有長期憑證的 IAM 使用者。建議您僅將 IAM 使用者用於聯合身分使用者不支援的特定使用案例

IAM 使用者是您在 AWS 帳戶中建立的實體。IAM 使用者表示使用 IAM 使用者與 AWS 資源互動的人類使用者或工作負載。IAM 使用者包含名稱和憑證。

具有管理員許可的 IAM 使用者與 AWS 帳戶根使用者 並不相同。如需有關根使用者的詳細資訊,請參閱 AWS 帳戶根使用者

AWS 如何識別 IAM 使用者

當建立 IAM 使用者時,IAM 建立這些方法來識別該使用者:

  • IAM 使用者的「易用名稱」,即您在建立 IAM 使用者時指定的名稱,例如 RichardAnaya。這些是您在 AWS Management Console 中看到的名稱。

  • IAM 使用者的 Amazon Resource Name (ARN)。在需要跨所有的 AWS 唯一識別 IAM 使用者時,您可以使用 ARN。例如,在 Amazon S3 儲存貯體的 IAM 政策中,您可以使用 ARN 將 IAM 使用者指定為 Principal。IAM 使用者的 ARN 可能如下所示:

    arn:aws:iam::account-ID-without-hyphens:user/Richard

  • IAM 使用者的唯一識別碼。只有在您使用 API、Tools for Windows PowerShell 或 AWS CLI 建立 IAM 使用者時才傳回此 ID;您不會在主控台中看到此 ID。

如需有關這些識別碼的詳細資訊,請參閱 IAM 識別碼

IAM 使用者和憑證

您可以根據 IAM 使用者憑證以不同方式存取 AWS:

  • 主控台密碼:IAM 使用者可以輸入的密碼,以登入互動式工作階段 (如 AWS Management Console)。針對 IAM 使用者停用密碼 (主控台存取) 可以防止他們使用其登入資料登入 AWS Management Console。它不會變更其許可,也不會阻止他們使用擔任的角色來存取主控台。

  • 存取金鑰:用來向 AWS 發出程式化呼叫。但在為 IAM 使用者建立存取金鑰之前,您可以考慮其他更安全的替代方案。如需詳細資訊,請參閱 AWS 一般參考 中的長期存取金鑰的考量事項和替代方案。如果 IAM 使用者擁有有效的存取金鑰,這些金鑰將會繼續運作,並允許透過 AWS CLI、Tools for Windows PowerShell、AWS API,或 AWS Console Mobile Application 存取。

  • 與 CodeCommit 一起使用的 SSH 金鑰:OpenSSH 格式的 SSH 公有金鑰,可用於透過 CodeCommit 驗證身分。

  • 伺服器憑證:SSL/TLS 憑證,可用於向一些 AWS 服務驗證身分。建議您使用 AWS Certificate Manager (ACM) 來佈建、管理和部署您的伺服器憑證。只有當您必須在 ACM 不支援的區域中支援 HTTPS 連接時,才應使用 IAM。如需了解哪些區域支援 ACM,請參閱 AWS 一般參考 中的 AWS Certificate Manager 端點和配額

您可以選擇最適合您 IAM 使用者的憑證。當您使用 AWS Management Console 來建立 IAM 使用者,您必須選擇至少包含一個主控台密碼或存取金鑰。在預設情況下,使用 AWS CLI 或 AWS API 建立的全新的 IAM 使用者沒有任何類型的憑證。您必須根據使用案例,建立 IAM 使用者的憑證類型。

您可以使用以下選項來管理密碼、存取金鑰和多重要素驗證 (MFA) 裝置:

  • 管理 IAM 使用者的密碼建立和變更允許存取 AWS Management Console 的密碼。設定密碼政策,以強制執行最低密碼複雜性。允許 IAM 使用者變更自己的密碼。

  • 管理 IAM 使用者的存取金鑰建立和更新存取金鑰,以便以程式設計方式存取您帳戶中的資源。

  • 為 IAM 使用者啟用多重要素驗證 (MFA)根據最佳實務,我們建議您要求帳戶中的所有 IAM 使用者進行多重要素驗證。使用 MFA 時,IAM 使用者需要提供兩種身分驗證形式:首先,提供憑證,那是屬於他們的使用者身分 (密碼或存取金鑰) 的一部分。此外,他們提供硬體裝置或智慧型手機或平板電腦上的應用程式所產生的臨時數字代碼。

  • 尋找未使用的密碼和存取金鑰擁有您帳戶之密碼或存取金鑰或是帳戶中 IAM 使用者的任何人都可以存取您的 AWS 資源。安全最佳實務是在 IAM 使用者不再需要密碼和存取金鑰時將其移除。

  • 下載您帳戶的憑證報告您可以產生並下載「憑證報告」,其中會列出帳戶中的所有 IAM 使用者,及其各種憑證的狀態,包括密碼、存取金鑰和 MFA 裝置。對於密碼和存取金鑰、憑證報告會顯示密碼或存取金鑰最近使用的狀況。

IAM 使用者和許可

在預設情況下,新的 IAM 使用者沒有許可採取任何行動。這類使用者無權執行任何 AWS 操作或存取任何 AWS 資源。擁有個別 IAM 使用者的好處是您可以為每個使用者個別指派許可。您可以指派幾位使用者的管理許可,然後他們就可以管理您的 AWS 資源,甚至可以建立和管理其他 IAM 使用者。在大多數情況下,您想將使用者的許可限制為僅任務 (AWS 動作或操作),以及需用於工作的資源。

試想一名叫做 Diego 的使用者。當您建立 IAM 使用者 Diego 時,您為該使用者建立一個密碼並連接許可,讓該使用者可以啟動特定 Amazon EC2 執行個體並從 Amazon RDS 資料庫的表格中讀取 (GET) 資訊。有關如何建立 IAM 使用者並授予其初始憑證和許可的程序的更多資訊,請參閱 在 AWS 帳戶中建立 IAM 使用者。有關如何變更現有使用者的程序的詳細資訊,請參閱 變更 IAM 使用者的許可。有關如何變更使用者的密碼或存取金鑰的程序的詳細資訊,請參閱 AWS 中的使用者密碼管理 IAM 使用者的存取金鑰

您也可以新增許可界限到您的 IAM 使用者。許可界限是一種進階功能,可供您使用 AWS 受管政策,限制以身分為基礎的政策可以授予 IAM 使用者或角色的最大許可。如需有關政策類型及其使用的詳細資訊,請參閱 AWS Identity and Access Management 中的政策和許可

IAM 使用者和帳戶

每位 IAM 使用者只能與一個 AWS 帳戶 建立關聯。由於 IAM 使用者是在您的 AWS 帳戶 中所定義,因此他們不需要 AWS 檔案上的付款方式。您帳戶中的 IAM 使用者執行的任何 AWS 活動都會向您的帳戶收費。

AWS 帳戶中的 IAM 資源數量和大小均有所限制。如需詳細資訊,請參閱IAM 和 AWS STS 配額

IAM 使用者做為服務帳戶

IAM 使用者是擁有關聯憑證和許可之 IAM 中的資源。IAM 使用者可以代表人員或應用程式,其會使用它的憑證來做出 AWS 請求。這通常稱為「服務帳戶」。如果您選擇在您的應用程式使用 IAM 使用者的長期憑證,請勿在應用程式程式碼中直接內嵌存取金鑰。AWS 開發套件和 AWS Command Line Interface 可讓您將存取金鑰放入已知位置,如此一來,就不必將其留在程式碼中。如需詳細資訊,請參閱 AWS 一般參考 中的適當管理 IAM 使用者存取金鑰。或者,最佳實務的作法是可以使用臨時安全憑證 (IAM 角色),而不是長期存取金鑰