

# SEC03-BP05 為您的組織定義許可防護機制
<a name="sec_permissions_define_guardrails"></a>

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

 **預期成果：**您可以使用個別 AWS 帳戶 對環境進行明確的隔離。  服務控制政策 (SCP) 用於定義整個組織的許可防護機制。較寬鬆的防護機制設定於最靠近組織根目錄的階層層級，較嚴謹的防護機制則設定於較靠近個別帳戶的層級。

 在受支援的情況下，資源政策會定義主體必須滿足才能取得資源存取權的條件。資源政策也會適時縮小允許的動作範圍。許可界限會設置在管理工作負載許可的主體上，以將許可管理委派給個別工作負載擁有者。

 **常見的反模式：**
+  在 [AWS 組織](https://aws.amazon.com/organizations/)內建立成員 AWS 帳戶，但未使用 SCP 來限制其根憑證適用的用途和許可。
+  根據最低權限指派許可，但未對可授予的許可集上限設置防護機制。
+  仰賴 AWS IAM 的*隱含拒絕*基礎來限制許可，相信政策不會授予不需要的*明確允許*許可。
+  在相同 AWS 帳戶 中執行多個工作負載環境，然後仰賴 VPC、標籤或資源政策等機制來強制執行許可界限。

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

 **未建立此最佳實務時的曝險等級：**中 

## 實作指引
<a name="implementation-guidance"></a>

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

 建立許可防護機制的第一步，是將您的工作負載和環境隔離到個別 AWS 帳戶 中。在沒有明確許可的情況下，某一帳戶中的主體無法存取另一帳戶中的資源，即使兩個帳戶在相同 AWS 組織中或在相同[組織單位 (OU)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) 下亦是如此。您可以使用 OU 將您要管理的帳戶分組為一個單位。   

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

 如果您使用 [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)，則可以利用其[控制項](https://docs.aws.amazon.com/controltower/latest/userguide/how-control-tower-works.html#how-controls-work)和[登陸區域](https://docs.aws.amazon.com/controltower/latest/userguide/aws-multi-account-landing-zone.html)做為許可防護機制和多帳戶環境的基礎。登陸區域提供預先設定的安全基準環境，當中採用不同的帳戶來處理不同的工作負載和應用程式。防護機制透過服務控制政策 (SCP)、AWS Config 規則及其他組態的組合，強制執行有關安全、操作和合規的強制性控制。不過，同時使用 Control Tower 防護機制和登陸區域與自訂 Organization SCP 時，務必遵循 AWS 文件中所述的最佳實務，以避免衝突並確保適當的控管。如需在 Control Tower 環境中管理 SCP、帳戶和組織單位 (OU) 的詳細建議，請參閱 [AWS Organizations 的 AWS Control Tower 指引](https://docs.aws.amazon.com/controltower/latest/userguide/orgs-guidance.html)。

 只要遵循這些指引，您就能有效利用 Control Tower 的防護機制、登陸區域和自訂 SCP，同時減少前在衝突，並確保適當控管與控制多帳戶 AWS 環境。

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

 通常，工作負載團隊會希望管理其工作負載需要的許可。 這樣一來，他們便需要建立新的 IAM 角色和許可政策。 您可以擷取允許團隊在 [IAM 許可界限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html)中授予的許可範圍上限，並將此文件與 IAM 角色關聯，之後團隊就可使用該角色來管理其 IAM 角色和許可。 這種方法可讓他們彈性地完成其工作，同時降低擁有 IAM 管理存取權的風險。

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

### 實作步驟
<a name="implementation-steps"></a>

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

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

   1.  定義 SCP 以減少可授予組織成員帳戶中主體的許可集上限時，您可以選擇*允許清單*或*拒絕清單*方法。允許清單策略會明確指定允許的存取權，並隱含地封鎖所有其他存取權。拒絕清單策略會明確指定不允許的存取權，並預設允許所有其他存取權。這兩種策略各有其優點和權衡，而適當的選擇取決於組織的特定要求和風險模型。如需詳細資訊，請參閱[使用 SCP 的策略](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_strategies.html)。

   1.  此外，請查看[服務控制政策範例](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html)，了解如何有效地建構 SCP。

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

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

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

## 資源
<a name="resources"></a>

 **相關文件：**
+  [ 上的資料周邊AWS](https://aws.amazon.com/identity/data-perimeters-on-aws/) 
+  [使用資料周邊建立許可防護機制](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_data-perimeters.html) 
+  [政策評估邏輯](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) 

 **相關範例：**
+  [服務控制政策範例](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples.html) 

 **相關工具：**
+  [AWS 解決方案：暫時提升存取管理](https://aws-samples.github.io/iam-identity-center-team/) 
+  [適用 TEAM 的已驗證安全合作夥伴解決方案](https://docs.aws.amazon.com/singlesignon/latest/userguide/temporary-elevated-access.html#validatedpartners) 