存取管理概述:許可和政策 - AWS Identity and Access Management

存取管理概述:許可和政策

AWS Identity and Access Management (IAM) 的存取管理部分,將會協助您定義主體實體可在帳戶內執行的操作。主體實體是指使用 IAM 實體 (使用者或角色) 執行身分驗證的人員或應用程式。存取管理通常稱為授權。您要依序透過建立政策,然後將其連接到 IAM 身分 (使用者、使用者群組或角色) 或 AWS 資源,管理 AWS 中的存取權。政策是 AWS 中的一個物件,當其和身分或資源建立關聯時,便可定義其許可。AWS 會在主體使用 IAM 實體 (使用者或角色) 發出請求時評估這些政策。政策中的許可決定是否允許或拒絕請求。大部分政策以 JSON 文件形式存放在 AWS 中。如需有關政策類型及其使用的詳細資訊,請參閱 IAM 中的政策和許可

政策和帳戶

如果您在 AWS 中管理單一帳戶,則會在該帳戶內使用政策定義許可。如果您跨多個帳戶管理許可,您的使用者會更難管理許可。對於跨帳戶許可,您可以使用 IAM 角色、以資源為基礎的政策或存取控制清單 (ACL)。不過,如果您擁有多個帳戶,我們建議您改成使用 AWS Organizations 服務,以利於這些許可的管理工作。如需詳細資訊,請參閱 Organizations 使用者指南中的什麼是 AWS Organizations?

政策與使用者

IAM 使用者是服務中的身分。當您建立 IAM 使用者,在您提供許可前他們無法存取您帳戶中的任何項目。您可以藉由建立連接到使用者或該使用者所屬群組的以身分為基礎的政策,來提供許可給該使用者。下列範例顯示 JSON 政策,其允許使用者執行 us-east-2 區域內 123456789012 帳戶之 Books 資料表上的所有 Amazon DynamoDB 動作 (dynamodb:*)。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "dynamodb:*", "Resource": "arn:aws:dynamodb:us-east-2:123456789012:table/Books" } }

在將此政策連接至您的 IAM 使用者後,該使用者僅擁有這些 DynamoDB 許可。大部分使用者有多個政策一起代表該使用者的許可。

根據預設,未明確允許的動作或資源會被拒絕。例如,如果上述政策是連接至使用者的唯一政策,則該使用者只被允許對 Books 資料表執行 DynamoDB 動作。對其他任何表格的動作被禁止。同樣地,不允許該使用者在 Amazon EC2、Amazon S3 或任何其他 AWS 服務中執行任何動作。原因是政策中並未包含使用這些服務的許可。

政策和群組

您可以將 IAM 使用者組織到 IAM 群組並將政策連接到群組。在這種情況下,各個使用者仍有自己的憑證,但是群組中的所有使用者都擁有連接到群組的許可。使用群組來更輕鬆地進行許可管理,並遵循我們的 IAM 中的安全最佳實務


        可將使用者組織到群組,讓管理許可更加輕鬆,因為使用者擁有指派給群組的許可。

使用者或群組可以有多個政策與之連接,分別授與不同的許可。這種情況下,使用者的許可會根據政策組合進行計算。不過基本原則仍然適用:如果未向使用者授與針對動作和資源的明確許可,則使用者無法擁有這些許可。

聯合身分使用者和角色

聯合身分使用者無法透過與 IAM 使用者相同的方式在您的 AWS 帳戶中獲得永久身分。若要向聯合身分使用者指派許可,您可以建立稱為角色的實體,並為角色定義許可。當聯合身分使用者登入 AWS 時,該使用者會與角色建立關聯,並被授與角色中定義的許可。如需詳細資訊,請參閱 針對第三方身分提供者建立角色 (聯合身分)

以身分為基礎和以資源為基礎的政策

以身分為基礎的政策是指您連接到 IAM 身分的許可政策,這些身分包括像是 IAM 使用者、群組或角色。以資源為基礎的政策是您連接到資源的許可政策,這些資源包括像是 Amazon S3 儲存貯體或 IAM 角色信任政策。

以身分為基礎政策可控制身分在何種條件下對哪些資源執行哪些動作。身分型政策可進一步分類:

  • 受管政策:為獨立存在並以身分為基礎的政策,可連接到您的 AWS 帳戶中的多個使用者、群組和角色。您可以使用兩種類型受管政策:

    • AWS 受管政策:由 AWS 建立和管理的受管策略。如果您對使用政策尚不熟悉,建議您一開始先使用 AWS 受管政策。

    • 客戶受管政策:您在 AWS 帳戶中建立和管理的受管政策。客戶受管政策提供比 AWS 受管政策更為精確的政策控制。您可以在視覺化編輯器建立和編輯和驗證 IAM 政策,或直接建立 JSON 政策文件。如需更多詳細資訊,請參閱 建立 IAM 政策編輯 IAM 政策

  • 內嵌政策:由您建立和管理並直接嵌入到單一使用者、群組或角色的政策。在大多數情況下,我們建議您不要使用內嵌政策。

以資源為基礎的政策可控制指定的主體在何種條件下對該資源執行哪些動作。資源為基礎的政策是內嵌政策,而且沒有受管的以資源為基礎的政策。若要啟用跨帳戶存取,您可以指定一個完整帳戶或其他帳戶內的 IAM 實體做為以資源為基礎的政策的主體。

IAM 服務僅支援一種稱為角色信任政策的以資源為基礎的政策,其用以連接到 IAM 角色。由於 IAM 角色是支援以資源為基礎之政策的身分也是資源,所以您必須將信任政策和以身分為基礎的政策同時連接到 IAM 角色。信任政策會定義哪些主體實體 (帳戶、使用者、角色和聯合身分使用者) 可擔任該角色。若要了解 IAM 角色與其他以資源為基礎之政策之間的差別,請參閱 IAM 角色與基於資源的政策有何差異

若要查看哪些服務支援以資源為基礎的政策,請參閱 可搭配 IAM 運作的 AWS 服務。若要進一步了解以資源為基礎的政策的詳細資訊,請參閱 以身分為基礎和以資源為基礎的政策