單一帳戶中請求的政策評估 - AWS Identity and Access Management

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

單一帳戶中請求的政策評估

IAM 角色的政策評估

下列流程圖提供如何針對單一帳戶中的 IAM 角色做出政策評估決策的詳細資訊。

單一帳戶中 IAM 角色的評估流程圖

IAM 使用者的政策評估

下列流程圖提供如何在單一帳戶中為 IAM 使用者做出政策評估決策的詳細資訊。

單一帳戶中 IAM 使用者的評估流程圖

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

最常見的政策類型是以身分為基礎的政策和以資源為基礎的政策。請求存取資源時, 會針對同一帳戶內至少一個允許 AWS ,評估政策授予的所有許可。所有政策中的明確拒絕都會覆寫該允許。

重要

如果在相同帳戶中,身分型政策和資源型政策中的任意一項政策允許請求而另一項不允許,則請求仍將被允許。

假設 Carlos 有使用者名稱 carlossalazar,他嘗試儲存檔案到 amzn-s3-demo-bucket-carlossalazar-logs Amazon S3 儲存貯體。

另外,也假設以下政策已連接到 carlossalazar IAM 使用者。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3ListRead", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetAccountPublicAccessBlock", "s3:ListAccessPoints", "s3:ListAllMyBuckets" ], "Resource": "arn:aws:s3:::*" }, { "Sid": "AllowS3Self", "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar/*", "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar" ] }, { "Sid": "DenyS3Logs", "Effect": "Deny", "Action": "s3:*", "Resource": "arn:aws:s3:::*log*" } ] }

此政策中的 AllowS3ListRead 陳述式允許 Carlos 檢視帳戶中的所有儲存貯體的清單。AllowS3Self 陳述式允許 Carlos 完整存取名稱和他的使用者名稱完全相同的儲存貯體。DenyS3Logs 陳述式拒絕 Carlos 存取名稱中包含 log 的任何 S3 儲存貯體。

此外,以下以資源為基礎的政策 (稱為儲存貯體政策) 已連接到 amzn-s3-demo-bucket-carlossalazar 儲存貯體。

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/carlossalazar" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket-carlossalazar/*", "arn:aws: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 允許請求。如果其中一個元素明確拒絕陳述式、請求會被拒絕。如果其中一種政策類型允許請求,但另一種則不允許,則仍會允許請求。