身分提供者與聯合
做為最佳實務,我們建議您要求人類使用者將聯合身分與身分提供者搭配使用,來存取 AWS 資源,而不是在您的 AWS 帳戶中建立個別 IAM 使用者。有了身分提供者 (IdP),您便可管理 AWS 外部的使用者身分,並提供這些外部使用者身分許可,以在您帳戶中使用 AWS 資源。如果您的組織已有自己的身分系統,例如公司使用者目錄,這個方式便很管用。如果您正在建立需要存取 AWS 資源的行動應用程式或 Web 應用程式,這也很管理
注意
您也可以使用外部 SAML 身分提供者 (而不是在 IAM 中使用 SAML 聯合身分),在 IAM Identity Center 中管理人類使用者。IAM Identity Center 與身分提供者的聯合讓您能夠讓人們存取組織中的多個 AWS 帳戶和多個 AWS 應用程式。若要了解需要 IAM 使用者的特定情形,請參閱建立 IAM 使用者 (而非角色) 的時機。
如果您希望在不啟用 IAM Identity Center 的情況下使用單一 AWS 帳戶,您可以將 IAM 與外部 IdP 搭配使用,該 IdP 使用 OpenID Connect (OIDC)
當您使用 身分提供者時,您不需要建立自訂登入代碼或管理自己的使用者身分,IdP 會為您處理這些工作。IdP 會為您提供這些功能。外部使用者會透過 IdP 登入,且您可以提供這些外部身分許可,以在帳戶中使用 AWS 資源。身分提供者可協助確保 AWS 帳戶 的安全,因為您不必在應用程式中分發或內嵌長期安全憑證 (例如存取金鑰)。
檢閱下表,以協助判斷哪種 IAM 聯合身分類型最適合您的使用案例:IAM、IAM Identity Center 或 Amazon Cognito。下列摘要與表格概述使用者可用來取得 AWS 資源聯合存取權的方法。
IAM 聯合身分類型 | Account type (帳戶類型) | 存取管理… | 支援的身分來源 |
---|---|---|---|
使用 IAM Identity Center 的聯合 |
由 AWS Organizations 管理的多個帳戶 |
員工的人類使用者 |
|
使用 IAM 的聯合 |
單一獨立帳戶 |
|
|
使用 Amazon Cognito 身分池的聯合 |
任何 |
需要 IAM 授權才能存取資源的應用程式使用者 |
|
使用 IAM Identity Center 的聯合
如需人類使用者的集中式存取管理,我們建議您使用 IAM Identity Center 管理您帳戶的存取權和這些帳戶內的許可。IAM Identity Center 中的使用者會獲得 AWS 資源的短期憑證。您可以使用 Active Directory、外部身分提供者 (IdP) 或 IAM Identity Center 目錄,作為使用者和群組的身分來源以指派 AWS 資源存取權。
IAM Identity Center 支援使用 SAML (安全性聲明標記語言) 2.0 的聯合身分,為獲授權可在 AWS 存取入口網站中使用應用程式的使用者提供聯合單一登入存取權。然後,使用者可以透過單一登入的方式登入支援 SAML 的服務,包括 AWS Management Console 和第三方應用程式 (例如 Microsoft 365、SAP Concur 和 Salesforce)。
使用 IAM 的聯合
雖然我們強烈建議在 IAM Identity Center 中管理人類使用者,但您可以在短期、小規模部署中為人類使用者啟用使用 IAM 的聯合身分使用者存取權。IAM 可讓您使用個別的 SAML 2.0 和 Open ID Connect (OIDC) IdP,並使用聯合身分使用者屬性進行存取控制。您可以透過 IAM,將使用者屬性 (例如成本中心、職稱或地區設定) 從 IdPs 傳遞至 AWS,並根據這些屬性實作精細的存取許可。
工作負載是可提供商業價值的資源和程式碼的集合,例如應用程式或後端程序。工作負載可能需要 IAM 身分,才能對 AWS 服務、應用程式、操作工具和元件發出請求。這些身分包括在您 AWS 環境 (例如 Amazon EC2 執行個體或 AWS Lambda 函數) 中執行的機器。
您可以管理需要存取權的外部當事人的機器身分。若要將存取權授予機器身分,您可以使用 IAM 角色。IAM 角色具有特定許可,並仰賴具有角色工作階段的暫時性安全憑證提供存取 AWS 的方式。此外,您可能有 AWS 之外的機器需要對您 AWS 環境的存取權。對於在 AWS 以外執行的機器,您可以使用 IAM Roles Anywhere。如需角色的詳細資訊,請參閱IAM 角色。如需如何使用角色跨 AWS 帳戶 委派存取權的詳細資訊,請參閱 IAM 教學課程:使用 IAM 角色將存取許可委派給不同 AWS 帳戶。
為了將 IdP 直接連結至 IAM,您需建立身分提供者實體,以在 AWS 帳戶 和 IdP 之間建立信任關係。IAM 支援 IdP,其與 OpenID Connect (OIDC)
使用 Amazon Cognito 身分池的聯合
Amazon Cognito 專為想要在行動應用程式和 Web 應用程式中為使用者進行驗證和授權的開發人員而設計。Amazon Cognito 使用者集區會在應用程式中新增登入和註冊功能,而身分池則提供 IAM 憑證,讓使用者可以存取您在 AWS 中管理的受保護資源。身分池會透過 AssumeRoleWithWebIdentity
API 操作取得臨時工作階段的憑證。
Amazon Cognito 可與支援 SAML 和 OpenID Connect 的外部身分提供者以及社交身分提供者 (如 Facebook、Google 和 Amazon) 搭配運作。應用程式可以使用使用者集區或外部 IdP 登入使用者,然後透過 IAM 角色中的自訂臨時工作階段代表使用者擷取資源。
其他資源
-
如需有關如何建立自訂聯合代理以使用組織的身分驗證系統實現單一登入 (SSO) 到 AWS Management Console的示範,請參閱使自訂身分經紀人存取 AWS 主控台。