SEC03-BP05 為您的組織定義許可防護機制 - AWS Well-Architected 架構

SEC03-BP05 為您的組織定義許可防護機制

使用許可防護機制縮小可授予主體的可用許可範圍。許可證測評估鏈包括您的防護機制,可在做授權決策時確定主體的有效許可。 您可以採用分層方式定義防護機制。對整個組織廣泛套用一些防護機制,另外對臨時存取工作階段套用一些精細的防護機制。

預期成果:您可以使用個別 AWS 帳戶 清楚隔離環境。  服務控制政策 (SCP) 用於定義整個組織的許可防護機制。較寬鬆的防護機制設定於最靠近組織根目錄的階層層級,較嚴謹的防護機制則設定於較靠近個別帳戶的層級。 在受支援的情況下,資源政策會定義主體必須滿足才能取得資源存取權的條件。資源政策也會適時縮小允許的動作範圍。 許可界限會設置在管理工作負載許可的主體上,以將許可管理工作委派給個別工作負載擁有者。

常見的反模式:

  • AWS 組織內建立成員 AWS 帳戶,但未使用 SCP 來限制其根憑證適用的用途和許可。

  • 根據最低權限指派許可,但未對可授予的許可集上限設置防護機制。

  • 依賴 AWS IAM 的隱含拒絕基礎來限制許可,相信政策不會授予不需要的明確允許許可。

  • 在相同 AWS 帳戶 中執行多個工作負載環境,然後依賴 VPC、標籤或資源政策等機制來強制執行許可界限。

建立此最佳實務的優勢:許可防護機制有助於建立信心,確保不會有不需要的許可授予情況,即使許可政策嘗試這樣做也不必擔心。 此最佳實務可透過縮小需考量的許可範圍上限來簡化定義和管理許可。

未建立此最佳實務時的風險暴露等級:

實作指引

建議您採用分層方式為您的組織定義許可防護機制。此方式能夠隨著套用額外的分層,有系統地減少可能的許可集上限。這種方式可幫助您根據最低權限原則授予存取權,降低了因政策組態錯誤導致意外存取的風險。

設置許可防護機制的第一步,是將您的工作負載和環境隔離到個別 AWS 帳戶 中。 在沒有明確許可的情況下,某一帳戶中的主體無法存取另一帳戶中的資源,即使兩個帳戶在相同 AWS 組織中或在相同組織單位 (OU) 下亦是如此。 您可以使用 OU 將您要管理的帳戶分組為一個單位。  

下一步是減少您可授予組織的成員帳戶內主體的許可集上限。 您可以使用服務控制政策 (SCP) 達到此目的,這些政策可套用至 OU 或帳戶。 SCP 可強制執行通用的存取控制,例如限制對特定 AWS 區域 的存取、協助防止資源遭到刪除,或停用有潛在風險的服務動作。  您套用至組織根目錄的 SCP 只會影響其成員帳戶,而不會影響管理帳戶。 SCP 只會控管組織內的主體。您的 SCP 不會控管組織外部存取您資源的主體。

再下一步是使用 IAM 資源政策來設定您可對其控管的資源執行的可用動作範圍,以及設定執行動作的主體必須符合的任何條件。 這個範圍可以很廣泛,例如只要主體屬於組織的一部分就允許所有動作 (使用 PrincipalOrgId 條件金鑰),也可以很精細,例如只允許特定 IAM 角色執行特定動作。 您可以在 IAM 角色信任政策中採取類似方法,並附帶條件。 如果資源或角色信任政策明確指名相同帳戶中的某個主體作為其控管的角色或資源,則該主體不需要有授予相同許可的附加 IAM 政策。 如果主體位於與資源不同的帳戶中,則該主體確實需要有授予這些許可的附加 IAM 政策。

通常工作負載團隊會希望管理其工作負載需要的許可。 這樣一來,他們便需要建立新的 IAM 角色和許可政策。 您可以擷取允許團隊在 IAM 許可界限中授予的許可範圍上限,並將此文件與 IAM 角色建立關聯,之後團隊就可使用該角色來管理其 IAM 角色和許可。 這種方法可讓他們自由完成其工作,同時降低擁有 IAM 管理存取權的風險。

更詳細的步驟是實作特殊權限存取管理 (PAM) 和臨時提升存取管理 (TEAM) 技術。 PAM 的範例是,要求主體在採取特殊權限動作之前執行多重要素驗證。 如需詳細資訊,請參閱設定受 MFA 保護的 API 存取。TEAM 需要使用解決方案來管理允許主體擁有已提升存取權的核准和時間範圍。 其中一種方法是暫時將主體新增至具有已提升存取權之 IAM 角色的角色信任政策中。 另一種方法是在正常操作情況下,使用工作階段政策縮小 IAM 角色授予主體的許可範圍,然後在核准的期間內暫時解除此限制。若要進一步了解已經過 AWS 和精選合作夥伴驗證的解決方案,請參閱臨時提升的存取權

實作步驟

  1. 將您的工作負載和環境隔離到個別 AWS 帳戶 中。

  2. 使用 SCP 減少可授予組織的成員帳戶內主體的許可集上限。

    1. 建議您採用允許清單方法來編寫 SCP,此方法會拒絕所有動作,除了您允許的動作以及符合特定條件的動作。首先定義您要控制的資源,然後將「效果」設定為「拒絕」。使用 NotAction 元素拒絕您所指定的動作以外的所有動作。結合此元素與 NotLike 條件,可定義允許這些動作的時機 (如適用),例如 StringNotLike 和 ArnNotLike。

    2. 請參閱服務控制政策範例

  3. 使用 IAM 資源政策可縮小資源上許可動作的範圍並指定條件。 在 IAM 角色信任政策中使用條件來建立承擔角色的限制。

  4. 將 IAM 許可界限指派至 IAM 角色,之後工作負載團隊可使用這些角色來管理自己的工作負載 IAM 角色和許可。

  5. 根據您的需求評估 PAM 和 TEAM 解決方案。

資源

相關文件:

相關範例:

相關工具: