Resource policies are attached to the resource itself and control who can access that bucket, key, queue or function, while identity-based policies are attached to the user, role or group. In exposure testing, resource policies can grant access even when the caller’s own policy is restrictive, so both sides must be evaluated together.
Why AWS resource policies can widen exposure beyond the caller’s own permissions
AWS resource policies change the exposure question because they are evaluated on the resource, not just on the caller. A restrictive user or role policy does not guarantee safety if the bucket, queue, key or function policy still grants access. Exposure testing therefore needs to look for unintended trust on either side, especially cross-account access and public or wildcard principals.
That is why policy review should not stop at the identity attached to the test account. A resource can be reachable through a direct allow, a condition key mistake, or a trust relationship that was meant for a narrower use case. In practice, AWS IAM Policies and Roles Guide is useful background for the evaluation logic that decides whether identity-based and resource-based statements combine or override each other.
When exposure testing is focused on access paths, the key distinction is that identity-based policies answer “what can this principal do?”, while resource policies also answer “who else is trusted by this object?”. That makes resource policies especially important for shared services, data stores, message queues, KMS keys and serverless functions where the resource owner may have granted access broader than intended.
How to test both policy types together without missing hidden access
Start with the identity policy, but always validate the resource policy as a separate control surface. If the resource policy names a principal directly, uses a broad account-level grant, or relies on conditions that are easy to satisfy unintentionally, the effective exposure may be larger than the caller’s own permissions suggest. Testing should check the full request path, not just the principal’s attached statements.
For AWS environments with many shared resources, a good working habit is to trace access from both directions: principal to resource and resource back to principal. That is especially important where a resource policy enables cross-account access, because a caller may succeed from an unexpected account, role or service context even when its own IAM policy looks constrained. The same logic applies when a service is allowed to invoke or use a resource on behalf of another principal.
For exposure validation in cloud estates, Cross-Account and Cross-Tenant Access Guide is a natural companion because it covers the trust relationships, logging and baseline checks that often reveal whether a supposedly narrow policy has become externally reachable.
If the resource is security-critical, test not only the “allowed” case but also the blast radius of an allow statement. Ask whether the policy permits read, write, invoke, decrypt, or delegation actions that would turn a simple exposure into a material compromise. That is the difference between a policy that is technically permissive and one that creates real operational risk.
What exposure testing should prove about resource policy blast radius
The practical goal is to prove whether a resource policy expands access beyond the intended identity set, and if so, how far. Good testing distinguishes direct access from indirect access through account trust, service trust, or conditional access logic. It also checks whether the resource policy creates a path that bypasses guardrails in the caller’s own policy.
Where the resource supports data access or execution, evaluate whether the policy can be abused to expose sensitive content, trigger actions, or chain into broader permissions. For example, a mis-scoped grant on a queue, key or function can become the first step in data access, exfiltration, or unauthorized invocation. Where that access path matters, Exposure Management and CTEM Guide helps frame policy review as part of exposure validation rather than a one-time configuration check.
Exposure testing should also confirm whether the policy is still needed. Old cross-account grants, service integrations and temporary exceptions often persist long after the business reason has disappeared. If the only reason a principal can access the resource is a legacy resource policy, that is usually a stronger finding than a weak identity policy alone because the resource itself remains open to any matching trust condition.
Risk and Threat Considerations
Resource policies can create a hidden trust boundary failure because the resource owner may have granted access that the caller’s identity policy would otherwise block. That makes unintended cross-account access, public exposure, and confused-deputy style trust mistakes material risks in AWS exposure testing.
Failure mechanism: The resource policy contains an allow statement, wildcard principal, overly broad account trust, or weak condition logic that evaluates as true for more callers than intended, so access succeeds even when the identity policy is restrictive.
Impact: Attackers, contractors, or unintended internal principals may read, write, invoke, or decrypt resources they should not reach, which can lead to data exposure, unauthorized execution, lateral movement, or privilege amplification.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
CSA Cloud Controls Matrix and NIST SP 800-53 Rev 5 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| CSA Cloud Controls Matrix | IAM — Identity and Access Management | Resource and identity policy interplay is an IAM control concern in cloud access governance. |
| Recommendation — Review IAM trust paths and resource grants together to prevent unintended cross-account access. | ||
| NIST SP 800-53 Rev 5 | AC-3 — Access Enforcement | Effective access depends on how identity and resource policies jointly enforce access decisions. |
| AC-6 — Least Privilege | Resource policies can expand effective privilege beyond the caller's attached permissions. | |
| AU-2 — Audit Events | Exposure testing needs logging to prove which policy path enabled access. | |
| Recommendation — Validate that enforcement logic blocks unintended access paths across both policy types. Remove resource grants that exceed the minimum access needed for each use case. Log policy evaluation and access events so unintended grants are traceable. | ||
| ISO/IEC 27001:2022 | A.5.15 — Access control | AWS policy design is an access control issue requiring consistent rule application across trust surfaces. |
| Recommendation — Define and enforce access rules for both identity-based and resource-based permissions. | ||
Practitioner Guidance
What to verify: Confirm effective access from both the principal side and the resource side, including cross-account grants, service principals, and any condition keys that can broaden access when misused or misconfigured.
What good looks like: Every intended access path is explicitly documented, and any resource policy that extends trust beyond the owning account has a clear business justification, logging, and periodic revalidation.
Common mistake: Treating a restrictive IAM policy as proof that the resource is safe. In AWS, the resource policy can still make the object reachable, so exposure testing must check the combined result rather than one policy in isolation.
Practitioner takeaway: The safest interpretation is not “does the caller have permission?”, but “can any resource policy still make this object reachable in a way the identity policy does not obviously prevent?”
Related resources from NHI Mgmt Group
- What is the difference between identity-based and resource-based policies?
- What do teams get wrong when they rely only on identity-based policies in AWS?
- How do you prevent AWS IAM policies allowing unconstrained permissions management or resource exposure?
- How can identity teams reduce exposure to redirect-based phishing without relying on blocklists?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on November 9, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org