AWS Lambda 的身分和存取權管理
AWS Identity and Access Management (IAM) 是一種 AWS 服務,讓管理員能夠安全地控制對 AWS 資源的存取權限。IAM 管理員會控制誰經過身分身分驗證 (已登入) 並得到授權 (具有許可) 來使用 Lambda 資源。IAM 是一種您可以免費使用的 AWS 服務。
主題
物件
AWS Identity and Access Management (IAM) 的使用方式視您的角色而定:
-
服務使用者 - 如果您無法存取功能,請向系統管理員請求許可權 (請參閱 對 AWS Lambda 身分與存取進行疑難排解)
-
服務管理員 - 判斷使用者存取權限,並提交許可權請求 (請參閱 AWS Lambda 搭配 IAM 的運作方式)
-
IAM 管理員 - 撰寫政策以管理存取權 (請參閱 AWS Lambda 的身分型政策範例)
使用身分驗證
身分驗證是使用身分憑證登入 AWS 的方式。您必須以 AWS 帳戶根使用者、IAM 使用者,或以 IAM 角色進行身分驗證。
您可以使用身分來源的憑證如 AWS IAM Identity Center (IAM Identity Center)、單一登入身分驗證或 Google/Facebook 憑證,以聯合身分登入。如需有關登入的詳細資訊,請參閱《AWS 登入 使用者指南》中的如何登入您的 AWS 帳戶。
對於程式設計的使用,AWS 會提供 SDK 和 CLI,以密碼編譯方式簽署請求。如需詳細資訊,請參閱《IAM 使用者指南》中的 API 請求的 AWS 第 4 版簽署程序。
AWS 帳戶 根使用者
在您首次建立 AWS 帳戶 時,您會先有單一的登入身分叫作 AWS 帳戶 根使用者,可用以完整存取帳戶中所有的 AWS 服務 和資源。強烈建議您不要以根使用者處理日常任務。有關需要根使用者憑證的任務,請參閱《IAM 使用者指南》中的需要根使用者憑證的任務。
聯合身分
其中一項最佳實務是,要求人類使用者搭配身分提供者使用聯合功能,以便使用暫時性憑證存取 AWS 服務。
聯合身分是一名來自您企業目錄的使用者、Web 身分提供者,或使用身分來源的憑證存取 AWS 服務 的 Directory Service。聯合身分會擔任提供臨時憑證的角色。
對於集中式存取權管理,我們建議使用 AWS IAM Identity Center。如需詳細資訊,請參閱 AWS IAM Identity Center 使用者指南中的什麼是 IAM Identity Center?。
IAM 使用者和群組
IAM 使用者是一種身分具備單人或應用程式的特定許可權。我們建議使用臨時憑證,而不是具有長期使用權憑證的 IAM 使用者。如需詳細資訊,請參閱《IAM 使用者指南》中的要求人類使用者搭配身分提供者使用聯合功能,以便使用暫時性憑證存取 AWS。
IAM 群組會指定 IAM 使用者集合,使管理大量使用者的許可權更加輕鬆。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 使用者的使用案例。
IAM 角色
IAM 角色的身分具有特定許可權,其可以提供臨時憑證。您擔任角色的方式是透過從使用者切換到 IAM 角色 (主控台),或呼叫 AWS CLI 或 AWS API 操作。如需詳細資訊,請參閱《IAM 使用者指南》中的擔任角色的方法。
IAM 角色適用於聯合身分使用者存取、臨時 IAM 使用者許可、跨帳戶存取權、跨服務存取,以及在 Amazon EC2 上執行應用程式。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 中的快帳戶資源存取。
使用政策管理存取權
您可以透過建立政策並將其連接到 AWS 身分或資源,在 AWS 中控制存取。政策定義與身分或資源關聯的權限。當主體提出請求時,AWS 會評估這些政策。大部分政策以 JSON 文件形式儲存在 AWS 中。如需有關 JSON 政策文件的詳細資訊,請參閱《IAM 使用者指南》中的 JSON 政策概觀。
使用政策時,管理員會定義哪些主體可以對哪些資源執行動作,以及在哪些條件下執行動作,藉此指定誰可以存取哪些內容。
預設情況下,使用者和角色沒有許可。IAM 管理員會建立 IAM 政策,並將其新增至角色,然後使用者就可以擔任該角色。IAM 政策會定義該動作的許可條件,但與使用何種方法進行操作無關。
身分型政策
身分型政策是可以連接身分 (使用者、群組或角色) 的 JSON 許可政策文件。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。如需了解如何建立身分型政策,請參閱《IAM 使用者指南》中的透過客戶管理政策定義自訂 IAM 許可。
身分型政策可以是內嵌政策 (直接嵌入單一身分) 或受管政策 (連接多個身分的獨立政策)。如需了解如何在受管政策及內嵌政策之間做選擇,請參閱《IAM 使用者指南》中的在受管政策與內嵌政策之間選擇。
資源型政策
資源型政策是附加到資源的 JSON 政策文件。範例包括 IAM 角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。您必須在資源型政策中指定主體。
資源型政策是位於該服務中的內嵌政策。您無法在資源型政策中使用來自 IAM 的 AWS 受管政策。
其他政策類型
AWS 支援其他政策類型,可以設定更常見政策類型所授予的最大許可權:
-
許可界限 – 設定身分型政策可授予 IAM 實體的最大許可權。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 實體許可界限。
-
服務控制政策 (SCP) – 指定 AWS Organizations 中的組織或組織單位的最大許可權。如需詳細資訊,請參閱《AWS Organizations 使用者指南》中的服務控制政策。
-
資源控制政策 (RCP) – 定義組織中資源可用的最大許可權。如需詳細資訊,請參閱《AWS Organizations使用者指南》中的資源控制政策 (RCP)。
-
工作階段政策 – 這是一種在為角色或聯合身分使用者建立臨時工作階段時,以參數形式傳遞的進階政策。如需詳細資訊,請參《IAM 使用者指南》中的工作階段政策。
多種政策類型
將多種政策類型套用到請求時,其結果形成的許可會更為複雜、更加難以理解。如需了解 AWS 在涉及多種政策類型時如何判斷是否允許一項請求,請參閱 IAM 使用者指南中的政策評估邏輯。