IAM 身分 (使用者、使用者群組和角色) - AWS Identity and Access Management

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

IAM 身分 (使用者、使用者群組和角色)

提示

登入時遇到問題 AWS嗎? 請確定您位於正確的登入頁面。

  • 若要以 AWS 帳戶根使用者 (帳戶擁有者) 的身分登入,請使用您在建立 AWS 帳戶.

  • 若要以 IAM 使用者的身分登入,請使用帳戶管理員提供給您的憑證登入 AWS。

  • 若要使用您的 IAM Identity Center 使用者簽署,請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

    如需使用 IAM 身分中心使用者登入的說明,請參閱使用AWS 登入 者指南中的登入 AWS 存取入口網站

如需登入教學課程,請參閱《AWS 登入 使用者指南》中的如何登入 AWS

注意

如需請求支援,請勿使用此頁面上的 Feedback (意見回饋) 連結。 AWS 文件團隊會收到您輸入的意見反應,而不是 Sup AWS port 人員。請改為選擇此頁面頂端的 Contact Us (聯絡我們) 連結。我們會提供各種資源的連結,協助您取得所需的支援。

帳戶的 AWS 帳戶根使用者 或管理使用者可以建立 IAM 身分。IAM 身分提供對 AWS 帳戶的存取權限。IAM 使用者群組是以單位形式管理的 IAM 使用者集合。IAM 身分代表人類使用者或程式設計式工作負載,並可進行身分驗證,然後授權在 AWS中執行動作。每個 IAM 身分可以與一或多個政策相關聯。策略會決定使用者、角色或使用者群組成員可以執行的動作、對哪些 AWS 資源以及在何種情況下可執行的動作。

AWS 帳戶 根使用者

當您第一次建立時 AWS 帳戶,您會從一個登入身分開始,該身分可完整存取該帳戶中的所有資源 AWS 服務 和資源。此身分稱為 AWS 帳戶 root 使用者,可透過使用您用來建立帳戶的電子郵件地址和密碼登入來存取。

重要

強烈建議您不要以根使用者處理日常任務。保護您的根使用者憑證,並將其用來執行只能由根使用者執行的任務。如需檢視需要您以根使用者身分登入的任務完整清單,請參閱 需要根使用者憑證的任務

IAM 使用者

IAM 使用者是您內部的身分,具 AWS 帳戶 有單一人員或應用程式的特定許可。最佳實務建議盡可能依賴暫時憑證,而不是建立擁有長期憑證 (例如密碼和存取金鑰) 的 IAM 使用者。在建立存取金鑰前,請檢閱長期存取金鑰的替代方案。如果您有需要存取金鑰的特定使用案例,我們建議您視需要更新存取金鑰。如需詳細資訊,請參閱 對於需要長期憑證的使用案例,請視需要更新存取金鑰。若要將 IAM 使用者新增至您的 AWS 帳戶,請參閱在您的 AWS 帳戶 中建立 IAM 使用者

注意

我們的安全最佳實務是建議您透過聯合身分來提供資源存取權限,而不是建立 IAM 使用者。若要了解需要 IAM 使用者的特定情形,請參閱建立 IAM 使用者 (而非角色) 的時機

IAM 使用者群組

IAM 群組是一種指定 IAM 使用者集合的身分。您無法以群組身分登入。您可以使用群組來一次為多名使用者指定許可。群組可讓管理大量使用者許可的程序變得更為容易。例如,您可以擁有一個名為 IAMPublishers 的群組,並為該群組提供發佈工作負載通常所需的許可類型。

IAM 角色

IAM 角色是您 AWS 帳戶 內部具有特定許可的身分。它類似 IAM 使用者,但未與特定的人員建立關聯。您可以切換角色,在中暫時擔任 IAM 角色。 AWS Management Console 您可以透過呼叫 AWS CLI 或 AWS API 作業或使用自訂 URL 來擔任角色。如需有關角色使用方法的詳細資訊,請參閱 使用 IAM 角色

使用暫時性憑證的 IAM 角色適用於下列情況:

  • 聯合身分使用者存取 – 若要向聯合身分指派許可,請建立角色,並為角色定義許可。當聯合身分進行身分驗證時,該身分會與角色建立關聯,並獲授予由角色定義的許可。如需有關聯合角色的相關資訊,請參閱 IAM 使用者指南中的為第三方身分提供者建立角色如果您使用 IAM Identity Center,則需要設定許可集。為控制身分驗證後可以存取的內容,IAM Identity Center 將許可集與 IAM 中的角色相關聯。如需有關許可集的資訊,請參閱 AWS IAM Identity Center 使用者指南中的許可集

  • 暫時 IAM 使用者許可 – IAM 使用者或角色可以擔任 IAM 角色來暫時針對特定任務採用不同的許可。

  • 跨帳戶存取權 – 您可以使用 IAM 角色,允許不同帳戶中的某人 (信任的委託人) 存取您帳戶中的資源。角色是授予跨帳戶存取權的主要方式。但是,針對某些 AWS 服務,您可以將政策直接連接到資源 (而非使用角色作為代理)。若要了解針對跨帳戶存取權的以角色為基礎和以資源為基礎之政策間的差異,請參閱 IAM 中的跨帳戶資源存取

  • 跨服務訪問 — 有些 AWS 服務 使用其他 AWS 服務功能。例如,當您在服務中進行呼叫時,該服務通常會在 Amazon EC2 中執行應用程式或將物件儲存在 Amazon Simple Storage Service (Amazon S3) 中。服務可能會使用呼叫主體的許可、使用服務角色或使用服務連結角色來執行此作業。

    • 轉寄存取工作階段 (FAS) — 當您使用 IAM 使用者或角色在中執行動作時 AWS,您會被視為主體。使用某些服務時,您可能會執行某個動作,進而在不同服務中啟動另一個動作。FAS 會使用主體呼叫的權限 AWS 服務,並結合要求 AWS 服務 向下游服務發出要求。只有當服務收到需要與其 AWS 服務 他資源互動才能完成的請求時,才會發出 FAS 請求。在此情況下,您必須具有執行這兩個動作的許可。如需提出 FAS 請求時的政策詳細資訊,請參閱《轉發存取工作階段》

    • 服務角色 – 服務角色是服務擔任的 IAM 角色,可代表您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需更多資訊,請參閱 IAM 使用者指南中的建立角色以委派許可給 AWS 服務

    • 服務連結角色 — 服務連結角色是連結至. AWS 服務服務可以擔任代表您執行動作的角色。服務連結角色會顯示在您的中, AWS 帳戶 且屬於服務所有。IAM 管理員可以檢視,但不能編輯服務連結角色的許可。

  • 在 Amazon EC2 上執行的應用程式 — 您可以使用 IAM 角色來管理在 EC2 執行個體上執行的應用程式以及發出 AWS CLI 或 AWS API 請求的臨時登入資料。這是在 EC2 執行個體內儲存存取金鑰的較好方式。若要將 AWS 角色指派給 EC2 執行個體並提供給其所有應用程式,請建立連接至執行個體的執行個體設定檔。執行個體設定檔包含該角色,並且可讓 EC2 執行個體上執行的程式取得暫時憑證。如需更多資訊,請參閱 IAM 使用者指南中的利用 IAM 角色來授予許可給 Amazon EC2 執行個體上執行的應用程式

IAM 中的暫時性憑證

最佳實務是,同時對人類使用者和工作負載使用臨時性憑證。暫時性憑證主要用於 IAM 角色,但也有其他用途。您可以請求具有比標準 IAM 使用者更受限的許可權組的暫時性憑證。這樣可以防止意外執行更受限制憑證不允許的任務。暫時性憑證的優點是它們會在一段時間後自動過期。您可以控制憑證有效的持續時間。

何時使用 IAM Identity Center 使用者?

我們建議所有人類使用者都使用 IAM 身分中心來存取 AWS 資源。IAM 身分中心在以 IAM 使用者身分存取 AWS 資源方面大幅改善。IAM Identity Center 提供:

  • 一個身分和指派的中央集合

  • 存取整個 AWS 組織中的帳戶

  • 連接至您的現有身分提供者

  • 臨時憑證

  • 多重要素驗證 (MFA)

  • 適用於終端使用者的自助式 MFA 組態

  • MFA 使用的管理強制執行

  • 單一登入所有 AWS 帳戶 權利

如需詳細資訊,請參閱 AWS IAM Identity Center 使用者指南中的什麼是 IAM Identity Center

何時建立 IAM 使用者 (而不是角色)

建議您僅將 IAM 使用者用於聯合身分使用者不支援的使用案例。以下是部分使用案例:

  • 無法使用 IAM 角色的工作負載 - 您可以從需要存取 AWS的位置執行工作負載。在某些情況下,您無法使用 IAM 角色提供臨時登入資料,例如 WordPress 外掛程式。在這些情況下,請將 IAM 使用者長期存取金鑰用於該工作負載,對 AWS進行身分驗證。

  • 第三方用 AWS 戶端 — 如果您使用的工具不支援 IAM 身分中心的存取,例如未託管的第三方用 AWS 戶端或廠商 AWS,請使用 IAM 使用者長期存取金鑰。

  • AWS CodeCommit 存取 — 如果您使 CodeCommit 用儲存程式碼,您可以使用具有 SSH 金鑰或服務特定登入資料的 IAM 使用者,對儲存庫 CodeCommit 進行驗證。除了將 IAM Identity Center 中的使用者用於一般身分驗證之外,我們也建議您這樣做。IAM 身分中心的使用者是員工中需要存取您的雲端應用程式 AWS 帳戶 或雲端應用程式的人員。若要讓使用者在不設定 IAM 使用者的情況下 CodeCommit 存取您的儲存庫,您可以設定git-remote-codecommit公用程式。如需 IAM 和的詳細資訊 CodeCommit,請參閱搭配 CodeCommit 使用 IAM:Git 憑證、SSH 金鑰和 AWS 存取金鑰。如需有關設定公用git-remote-codecommit程式的詳細資訊,請參閱《AWS CodeCommit 使用指南》中的使用旋轉認證連線到 AWS CodeCommit 儲存庫

  • Amazon Keyspaces (適用於 Apache Cassandra) 存取 – 在無法使用 IAM Identity Center 中的使用者的情況下,例如為了測試 Cassandra 相容性,您可以將 IAM 使用者搭配服務特定憑證使用,以便使用 Amazon Keyspaces 進行身分驗證。IAM 身分中心的使用者是員工中需要存取您的雲端應用程式 AWS 帳戶 或雲端應用程式的人員。您也可以使用暫時性憑證連線到 Amazon Keyspaces。如需詳細資訊,請參閱《Amazon Keyspaces (適用於 Apache Cassandra) 開發人員指南》中的透過 IAM 角色和 SigV4 外掛程式使用暫時性憑證連線到 Amazon Keyspaces

  • 緊急存取:無法存取身分提供者且必須在 AWS 帳戶中採取動作的情況下。您可以將建立緊急存取 IAM 使用者列入彈性計劃中的一環。建議您使用多重要素驗證 (MFA) 嚴格控管緊急使用者憑證並加以保護。

何時建立 IAM 角色 (而不是使用者)

在以下情況下建立 IAM 角色:

您正在建立在 Amazon 彈性運算雲端 (Amazon EC2) 執行個體上執行的應用程式,並且該應用程式向其發出請求 AWS。

不要建立 IAM 使用者並將使用者的憑證傳遞給應用程式或將憑證嵌入應用程式中。反之,請建立您連接至 EC2 執行個體的 IAM 角色,將暫時安全認證給予執行個體上執行的應用程式。當應用程式在中使用這些認證時 AWS,它可以執行附加至該角色的原則所允許的所有作業。如需詳細資訊,請參閱 使用 IAM 角色為在 Amazon EC2 執行個體上執行的應用程式授予許可

您正在建立在行動電話上執行的應用程式,並向 AWS發出請求。

不要建立 IAM 使用者並隨應用程式發佈使用者的存取金鑰。反之,請使用 Login with Amazon、Amazon Cognito、Facebook 或 Google 等身分提供者對使用者進行身分驗證,並將使用者對應到 IAM 角色。該應用程式可以使用該角色來取得暫時安全憑證,該憑證具有連接到角色的政策所指定的許可。如需詳細資訊,請參閱下列內容:

您公司中的使用者會在您的公司網路中經過驗證,而且想要能夠使用 AWS 而不必再次登入 — 也就是說,您想要允許使用者聯合到。 AWS

不要建立 IAM 使用者。設定企業識別系統與之間的同盟關係 AWS。您可利用兩種方式進行:

  • 如果貴公司的身分系統與 SAML 2.0 相容,您可以在公司的身分系統與 AWS. 如需詳細資訊,請參閱 SAML 2.0 聯合身分

  • 建立並使用自訂 Proxy 伺服器,將使用者身分從企業轉譯為提供臨時 AWS 安全登入資料的 IAM 角色。如需詳細資訊,請參閱 啟用自訂身分識別代理存取主 AWS 控台

比較 AWS 帳戶根使用者 登入資料和 IAM 使用者憑證

root 使用者是帳戶擁有者,並在建立 AWS 帳戶 時建立。其他類型的使用者 (包括 IAM 使用 AWS IAM Identity Center 者和使用者) 是由根使用者或帳戶的管理員建立的。所有 AWS 使用者都有安全認證。

根使用者憑證

帳戶擁有者的憑證可以完整存取帳戶中的所有資源。您無法使用 IAM 政策來明確拒絕根使用者的資源存取權。您只能使用 AWS Organizations 服務控制策略(SCP)來限制成員帳戶的根用戶的權限。因此,我們建議您在 IAM 身分中心建立管理使用者,以用於日常 AWS 工作。然後,保護根使用者憑證,只用它們來執行需要您以根使用者身分登入的少數帳戶和服務管理任務。如需檢視這些任務的清單,請參閱 需要根使用者憑證的任務。若要了解如何在 IAM Identity Center 中設定日常使用的管理員,請參閱《IAM Identity Center 使用者指南》中的入門

IAM 憑證

IAM 使用者是您在其中建立的實體 AWS ,代表使用 IAM 使用者與 AWS 資源互動的個人或服務。這些使用者是您 AWS 帳戶 內部具有特定自訂權限的身分識別。例如,您可以建立 IAM 使用者,並授予他們在 IAM Identity Center 中建立目錄的許可。IAM 使用者擁有長期登入資料,他們可以使用這些登入資料 AWS Management Console,或 AWS 使用 AWS CLI 或 AWS API 以程式設計方式存取。有 step-by-step 關 IAM 使用者如何登入的指示 AWS Management Console,請參閱登入使用者指南中的 AWS Management Console 以 IAM 使用者身分AWS 登入

一般而言,我們建議您避免建立 IAM 使用者,因為他們擁有長期憑證,例如使用者名稱和密碼等。而是要求人類使用者在存取時使用臨時認證 AWS。您可以為您的人類使用者使用身分識別提供者, AWS 帳戶 藉由假設 IAM 角色提供臨時登入資料來提供聯合存取權。如果是集中式存取管理,我們建議您使用 IAM Identity Center 管理您帳戶的存取權和這些帳戶內的許可。您可以使用 IAM Identity Center 管理使用者身分,或從外部身分提供者管理 中使用者身分的存取許可。如需了解更多資訊,請參閱《IAM Identity Center 使用者指南》中的什麼是 IAM Identity Center