身分和存取權管理 - AWS SDK for Java 2.x

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

身分和存取權管理

AWS Identity and Access Management (IAM) 是一種 AWS 服務 ,可協助管理員安全地控制對 AWS 資源的存取。IAM 管理員可控制誰可以進行驗證 (登入) 和授權 (具有許可) 來使用 AWS 資源。IAM 是 AWS 服務 您可以免費使用的 。

目標對象

使用 AWS Identity and Access Management (IAM) 的方式會有所不同,取決於您在 中執行的工作 AWS。

服務使用者 – 如果您使用 AWS 服務 執行任務,管理員會為您提供所需的登入資料和許可。當您使用更多 AWS 功能來執行工作時,您可能需要額外的許可。了解存取許可的管理方式可協助您向管理員請求正確的許可。如果您無法存取 中的功能 AWS,請參閱 對 AWS 身分和存取進行故障診斷或 AWS 服務 您正在使用的 使用者指南。

服務管理員 – 如果您負責公司 AWS 的資源,您可能擁有 的完整存取權 AWS。您的任務是判斷服務使用者應存取哪些 AWS 功能和資源。接著,您必須將請求提交給您的 IAM 管理員,來變更您服務使用者的許可。檢閱此頁面上的資訊,了解 IAM 的基本概念。若要進一步了解貴公司如何使用 IAM AWS,請參閱您正在使用的 使用者指南 AWS 服務 。

IAM 管理員:如果您是 IAM 管理員,建議您掌握如何撰寫政策以管理 AWS存取權的詳細資訊。若要檢視您可以在 IAM 中使用的以 AWS 身分為基礎的政策範例,請參閱 AWS 服務 您正在使用的 使用者指南。

使用身分驗證

身分驗證是您 AWS 使用身分憑證登入 的方式。您必須以 AWS 帳戶根使用者、IAM 使用者或擔任 IAM 角色身分進行身分驗證。

您可以使用身分來源的登入資料,例如 AWS IAM Identity Center (IAM Identity Center)、單一登入身分驗證或 Google/Facebook 登入資料,以聯合身分的形式登入。如需登入的詳細資訊,請參閱AWS 登入 《 使用者指南》中的如何登入您的 AWS 帳戶

對於程式設計存取, AWS 提供 SDK 和 CLI 以密碼編譯方式簽署請求。如需詳細資訊,請參閱《IAM 使用者指南》中的 AWS API 請求的簽章版本 4

AWS 帳戶 根使用者

當您建立 時 AWS 帳戶,您會從一個名為 AWS 帳戶 theroot 使用者的登入身分開始,該身分可完整存取所有 AWS 服務 和 資源。強烈建議您不要將根使用者用於日常任務。如需需要根使用者憑證的任務,請參閱《IAM 使用者指南》中的需要根使用者憑證的任務。

聯合身分

最佳實務是要求人類使用者使用聯合身分提供者,以 AWS 服務 使用臨時憑證存取 。

聯合身分是您企業目錄、Web 身分提供者的使用者,或是 AWS 服務 使用身分來源的憑證 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 受管政策。

存取控制清單 (ACL)

存取控制清單 (ACL) 可控制哪些主體 (帳戶成員、使用者或角色) 擁有存取某資源的許可。ACL 類似於資源型政策,但它們不使用 JSON 政策文件格式。

Amazon S3 AWS WAF和 Amazon VPC 是支援 ACLs的服務範例。如需進一步了解 ACL,請參閱 Amazon Simple Storage Service 開發人員指南中的存取控制清單 (ACL) 概觀

其他政策類型

AWS 支援其他政策類型,可設定更多常見政策類型授予的最大許可:

  • 許可界限 – 設定身分型政策可授予 IAM 實體的最大許可。如需詳細資訊,請參閱《 IAM 使用者指南》中的 IAM 實體許可界限

  • 服務控制政策 SCPs) – 指定 中組織或組織單位的最大許可 AWS Organizations。如需詳細資訊,請參閱《AWS Organizations 使用者指南》中的服務控制政策

  • 資源控制政策 RCPs) – 設定帳戶中資源的可用許可上限。如需詳細資訊,請參閱《AWS Organizations 使用者指南》中的資源控制政策 (RCP)

  • 工作階段政策 – 在為角色或聯合身分使用者建立臨時工作階段時,以參數形式傳遞的進階政策。如需詳細資訊,請參閱 IAM 使用者指南中的工作階段政策

多種政策類型

將多種政策類型套用到請求時,其結果形成的許可會更為複雜、更加難以理解。若要了解如何 AWS 決定是否在涉及多個政策類型時允許請求,請參閱《IAM 使用者指南》中的政策評估邏輯

AWS 服務 如何使用 IAM

若要全面了解 如何使用 AWS 服務 大多數 IAM 功能,請參閱《IAM 使用者指南》中的與 AWS IAM 搭配使用的 服務

若要了解如何 AWS 服務 搭配 IAM 使用特定 ,請參閱相關服務使用者指南的安全章節。

對 AWS 身分和存取進行故障診斷

使用以下資訊來協助您診斷和修正使用 AWS 和 IAM 時可能遇到的常見問題。

我無權在 中執行動作 AWS

如果您收到錯誤,告知您未獲授權執行動作,您的政策必須更新,允許您執行動作。

下列範例錯誤會在mateojackson IAM 使用者嘗試使用主控台檢視一個虛構 my-example-widget 資源的詳細資訊,但卻無虛構 awes:GetWidget 許可時發生。

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: awes:GetWidget on resource: my-example-widget

在此情況下,必須更新 mateojackson 使用者的政策,允許使用 awes:GetWidget 動作存取 my-example-widget 資源。

如果您需要協助,請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

我未獲得執行 iam:PassRole 的授權

如果您收到錯誤,告知您未獲授權執行 iam:PassRole 動作,您的政策必須更新,允許您將角色傳遞給 AWS。

有些 AWS 服務 可讓您將現有角色傳遞給該服務,而不是建立新的服務角色或服務連結角色。如需執行此作業,您必須擁有將角色傳遞至該服務的許可。

名為 marymajor 的 IAM 使用者嘗試使用主控台在 AWS中執行動作時,發生下列範例錯誤。但是,動作要求服務具備服務角色授予的許可。Mary 沒有將角色傳遞至該服務的許可。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

在這種情況下,Mary 的政策必須更新,允許她執行 iam:PassRole 動作。

如果您需要協助,請聯絡您的 AWS 管理員。您的管理員提供您的簽署憑證。

我想要允許 以外的人員 AWS 帳戶 存取我的 AWS 資源

您可以建立一個角色,讓其他帳戶中的使用者或您組織外部的人員存取您的資源。您可以指定要允許哪些信任物件取得該角色。針對支援基於資源的政策或存取控制清單 (ACL) 的服務,您可以使用那些政策來授予人員存取您的資源的許可。

如需進一步了解,請參閱以下內容: