單一帳戶中請求的政策評估
IAM 角色的政策評估
下列流程圖詳細說明如何針對單一帳戶內的 IAM 角色作出政策評估決策。
IAM 使用者的政策評估
下列流程圖詳細說明如何針對單一帳戶內的 IAM 使用者作出政策評估決策。
以身分為基礎和以資源為基礎的政策的範例
最常見的政策類型是以身分為基礎的政策和以資源為基礎的政策。當收到存取資源的請求時,AWS 會評估政策授予的所有許可,以確認在相同帳戶內是否 至少有一個 Allow。所有政策中的明確拒絕都會覆寫該允許。
重要
如果在相同帳戶中,身分型政策和資源型政策中的任意一項政策允許請求而另一項不允許,則請求仍將被允許。
假設 Carlos 有使用者名稱 carlossalazar,他嘗試儲存檔案到 amzn-s3-demo-bucket-carlossalazar-logs Amazon S3 儲存貯體。
另外,也假設以下政策已連接到 carlossalazar IAM 使用者。
此政策中的 AllowS3ListRead 陳述式允許 Carlos 檢視帳戶中的所有儲存貯體的清單。AllowS3Self 陳述式允許 Carlos 完整存取名稱和他的使用者名稱完全相同的儲存貯體。DenyS3Logs 陳述式拒絕 Carlos 存取名稱中包含 log 的任何 S3 儲存貯體。
此外,以下以資源為基礎的政策 (稱為儲存貯體政策) 已連接到 amzn-s3-demo-bucket-carlossalazar 儲存貯體。
此政策指定只有 carlossalazar 使用者可以存取 amzn-s3-demo-bucket-carlossalazar 儲存貯體。
當 Carlos 提出請求將檔案儲存到 amzn-s3-demo-bucket-carlossalazar-logs 儲存貯體時,AWS 會決定套用至請求的政策。在這種情況下,只有以身分為基礎的政策和以資源為基礎的政策適用。這兩者都是許可政策。由於未套用許可界限,評估邏輯會降低到以下邏輯。
AWS 會先檢查套用於請求內容的 Deny 陳述式。它找到一個,因為以身分為基礎的政策明確拒絕 Carlos 存取任何用於記錄的 S3 儲存貯體。Carlos 存取遭拒。
假設他了解他的錯誤,嘗試將檔案儲存到 amzn-s3-demo-bucket-carlossalazar 儲存貯體。AWS 檢查 Deny 陳述式,但找不到。接著檢查許可政策。身分類型政策和資源類型政策都允許請求。因此,AWS 允許請求。如果其中一個元素明確拒絕陳述式、請求會被拒絕。如果其中一種政策類型允許請求,但另一種則不允許,則仍會允許請求。