本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
SCP 評估
注意
本節中的資訊不適用於管理政策類型,包括 AI 服務選擇退出政策、備份政策或標記政策。如需詳細資訊,請參閱 理解管理政策繼承。
由於可以在 AWS Organizations中連接不同層級的多個服務控制政策 (SCP),因此理解 SCP 的評估方式可協助您撰寫產生正確結果的 SCP。
SCP 如何使用允許陳述式
對於為特定帳戶允許的許可,每個層級都必須有明確的 Allow
陳述式,範圍從根目錄到帳戶直接路徑中的每個 OU (包括目標帳戶本身)。這就是為什麼當您啟用 SCP 時, AWS Organizations 附加名為 Full
例如,讓我們逐步瀏覽圖 1 和圖 2 中顯示的場景。對於在帳戶 B 中允許的許可或服務,應將允許此許可或服務的 SCP 連接至根、生產 OU 和帳戶 B 本身。
SCP 評估遵循 deny-by-default 模型,這意味著 SCP 中未明確允許的任何權限都將被拒絕。如果在 SCP 中的任何層級 (例如根目錄、生產 OU 或帳戶 B) 均沒有允許陳述式,則會拒絕存取。
備註
-
SCP 中的
Allow
陳述式允許Resource
元素只有一個"*"
項目。 -
SCP 中的
Allow
陳述式完全不能有Condition
元素。
圖 1:在根、生產 OU 和帳戶 B 中連接 Allow
陳述式的範例組織結構
圖 2:生產 OU 中缺少 Allow
陳述式的範例組織結構及其對帳戶 B 的影響
SCP 如何使用拒絕陳述式
對於為特定帳戶拒絕的許可,從根目錄到帳戶直接路徑中的每個 OU (包括目標帳戶本身) 的任何 SCP 都可以拒絕該許可。
例如,假設有一個 SCP 連接至生產 OU,該 SCP 具有針對特定服務指定的明確 Deny
陳述式。剛好有另一個 SCP 連接至根和帳戶 B,其明確允許存取該相同的服務,如圖 3 所示。因此,帳戶 A 和帳戶 B 都會遭到拒絕存取該服務,因為系統會針對所有 OU 和成員帳戶評估連接至組織中任何層級的拒絕政策。
圖 3:在生產 OU 中連接 Deny
陳述式的範例組織結構及其對帳戶 B 的影響
使用 SCP 的策略
撰寫 SCP 時,您可以使用 Allow
和 Deny
陳述式的組合,以允許組織中預期的動作和服務。 Deny
陳述式是實作限制的強大方法,這些限制對於組織或 OU 的較廣泛部分來說應該有效,因為在根層級或 OU 層級套用時,它們會影響其下的所有帳戶。
例如,您可以在根層級使用Deny
陳述式 防止成員帳戶離開組織。來實作策略,這對組織中的所有帳號都有效。拒絕陳述式也支援可協助建立例外狀況的條件元素。
提示
您可以使用 IAM 中上次存取的服務資料來更新 SCP,以限制只存取您需要的 AWS 服務。如需詳細資訊,請參閱 IAM 使用者指南中的檢視 Organizations 的 Organizations 服務上次存取資料。
AWS Organizations 在建立時,將名為 FullAllow
陳述式來僅允許特定的服務。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "cloudwatch:*", "organizations:*" ], "Resource": "*" } ] }
結合這兩種陳述式的政策可能如以下範例所示,其中會阻止成員帳戶離開組織並允許使用所需的 AWS 服務。組織管理員可以卸離「完整」AWSAccess 策略,然後改為附加此策略。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:*", "cloudwatch:*", "organizations:*" ], "Resource": "*" }, { "Effect": "Deny", "Action":"organizations:LeaveOrganization", "Resource": "*" } ] }
現在,請考慮下列範例組織結構,以理解如何在組織中的不同層級套用多個 SCP。
如下資料表顯示沙盒 OU 中的有效政策。
案例 | 根中的 SCP | 沙盒 OU 中的 SCP | 帳戶 A 中的 SCP | 帳戶 A 中的產生政策 | 帳戶 B 和帳戶 C 中的產生政策 |
---|---|---|---|---|---|
1 | 完全 AWS 存取 | 完全 AWS 訪問 + 拒絕 S3 訪問 | 完整 AWS 存取權限 + 拒絕 EC2 存取 | 無 S3 存取,無 EC2 存取 | 無 S3 存取 |
2 | 完全 AWS 存取 | 允許 EC2 存取 | 允許 EC2 存取 | 完全 AWS 存取 | 完全 AWS 存取 |
3 | 拒絕 S3 存取 | 允許 S3 存取 | 完全 AWS 存取 | 無 S3 存取 | 無 S3 存取 |
如下資料表顯示工作負載 OU 中的有效政策。
案例 | 根中的 SCP | 工作負載 OU 中的 SCP | 測試 OU 中的 SCP | 帳戶 D 中的產生政策 | 生產 OU、帳戶 E 和帳戶 F 中的產生政策 |
---|---|---|---|---|---|
1 | 完全 AWS 存取 | 完全 AWS 存取 | 完整 AWS 存取權限 + 拒絕 EC2 存取 | 無 EC2 存取 | 完全 AWS 存取 |
2 | 完全 AWS 存取 | 完全 AWS 存取 | 允許 EC2 存取 | 完全 AWS 存取 | 完全 AWS 存取 |
3 | 拒絕 S3 存取 | 完全 AWS 存取 | 允許 S3 存取 | 無 S3 存取 | 無 S3 存取 |