CLOUD CONCEPT

Access Control

Access control determines which identities can perform which actions on which resources under specified conditions.

Cloud Concepts Hub →

What is Access Control

Access control turns security requirements into enforceable permissions for people, applications, and cloud services. It limits unauthorized activity while preserving legitimate operations, including the ability to deliver logs, run health checks, and investigate incidents.

Access control answers a practical question: may this requester perform this action on this resource in this context? A requester can be a person, application, workload role, or cloud service. Authentication establishes identity; authorization evaluates whether a requested operation is permitted. Successful sign-in does not imply permission to read a database, change a firewall, or view security logs.

Cloud platforms commonly express permissions through policies attached to identities or resources. Roles collect permissions that users or workloads can assume, while attributes such as resource tags, organization membership, source network, or session characteristics can influence decisions. For example, a deployment role might update an application but lack permission to read its production secrets. Temporary role credentials reduce dependence on long-lived access keys, although their permissions and session duration still require careful design.

Least privilege means granting only the actions, resources, and conditions required for a task. In AWS, requests are implicitly denied unless applicable policies allow them, and an applicable explicit deny overrides an allow. Effective authorization can also depend on permissions boundaries, session policies, organization policies, and resource policies. A permissions boundary or service control policy limits possible permissions; it does not grant permissions by itself. Cross-account access often requires both permission for the caller and an appropriate trust or resource policy in the destination account.

Infrastructure location and authorization are separate concerns. An AWS Region is a geographic area containing multiple Availability Zones, which provide separate infrastructure locations for resilient deployments. Edge locations serve functions such as content delivery closer to viewers and are not Availability Zones. IAM is a global service within an AWS partition, while many resources and their permissions reference a particular Region. Deploying across Availability Zones improves availability but does not automatically change access rights. Likewise, selecting a Region does not create a geographic access restriction; enforce such requirements with appropriate policies and service-specific controls.

Access control operates at multiple layers. Network rules determine whether traffic can reach an endpoint, while application and identity policies determine what requests are accepted. A reachable API can still reject an unauthorized request, and a correctly authorized request can fail because routing or firewall rules block connectivity. Public content delivered through an edge location also does not require a publicly accessible origin: a distribution can authorize origin requests while restricting viewers through signed URLs or cookies.

Monitoring pipelines need their own permissions. A Lambda function can execute successfully yet fail to write logs if its execution role lacks the necessary CloudWatch Logs permissions. API Gateway logging requires the appropriate logging configuration and delivery permissions for the API type. CloudFront log delivery requires compatible destination settings and permissions for the selected logging mechanism. Check encryption-key permissions where relevant, destination policies, account and Region selection, and whether the relevant logging feature is enabled before interpreting missing records as an absence of activity.

Health checks illustrate the difference between connectivity and authorization. A health-check request can fail because a firewall blocks the checker, TLS settings are incompatible, or the endpoint requires credentials the checker does not supply. Prefer a narrowly scoped health endpoint that reveals little information rather than weakening authorization for the entire application. Similarly, give log producers permission to write only to intended destinations, and separate log-reading privileges from permissions to delete logs or disable collection.

The main trade-off is precision versus operational complexity. Broad permissions simplify initial setup but increase the damage possible from mistakes or compromised credentials. Highly restrictive policies can break deployments and obscure monitoring failures. Use tested policy changes, access-denied evidence, policy analysis, and periodic permission reviews to refine access. Audit logs provide evidence of activity, but they are not themselves an enforcement mechanism, and an administrator label does not guarantee unrestricted access through every policy layer.

Key aspects of Access Control

Effective access control combines scoped permissions, layered enforcement, explicit service authorization, and evidence-driven validation without confusing infrastructure placement with security boundaries.

Identity, action, resource, and context

Evaluate the requester, requested operation, target resource, and relevant conditions together. Authentication proves identity; authorization determines whether that identity may perform the operation.

Least privilege and temporary access

Scope permissions to the task and prefer temporary workload or federated role credentials over embedded long-lived keys. Review unused permissions and provide controlled, auditable emergency access.

Layered policy evaluation

Consider identity policies, resource policies, organizational restrictions, and session limits when diagnosing access decisions. In AWS, an applicable explicit deny overrides an allow, and permission-limiting policies do not independently grant access.

Separation of location and authorization

Treat Regions, Availability Zones, and edge locations as infrastructure placement and delivery concepts, not automatic permission boundaries. Apply explicit controls when access must be constrained by geography or destination.

Service-to-service permissions

Give workloads and delivery services the permissions needed to invoke dependencies and publish telemetry. Check role trust, destination policies, and encryption-key access rather than assuming that enabling a feature completes its authorization setup.

Observable and testable enforcement

Test both permitted and denied operations, and preserve evidence of policy changes and access failures. Distinguish authorization failures from network, logging-configuration, and destination-selection problems.

Cloud services for Access Control

IAM defines permissions for engineers, workloads, and service interactions. Lambda and API Gateway apply those permissions to execution and invocation paths, while CloudFront adds separate viewer and origin access controls at the delivery layer. CloudWatch receives operational telemetry, and CloudTrail records supported activity for auditing and investigation. These services require independent authorization checks: permission to invoke an application does not imply permission to publish its logs or read its audit records. Troubleshoot each producer-to-destination relationship, including role trust, resource policies, encryption permissions, and logging configuration.

Amazon CloudWatch image Amazon CloudWatch

CloudWatch provides logs, metrics, and alarms whose publishing, viewing, and administration require appropriate permissions. For log-delivery troubleshooting, inspect producer permissions, destination policies where applicable, and encryption settings separately from alarm configuration.

Open Amazon CloudWatch →
AWS Lambda image AWS Lambda

Lambda separates a function's execution-role permissions from permissions that allow callers or services to invoke it. Missing execution-role permissions can prevent CloudWatch Logs delivery even when the function runs.

Open AWS Lambda →
Amazon API Gateway image Amazon API Gateway

API Gateway supports request authorization through mechanisms that vary by API type, including IAM authorization and authorizers. Logging must also be configured with the permissions and destinations required by the selected API type and logging feature.

Open Amazon API Gateway →
Amazon CloudFront image Amazon CloudFront

CloudFront can restrict viewer access with signed URLs or cookies and use origin access control for supported origins. Viewer authorization, origin authorization, and log-delivery permissions are separate configurations.

Open Amazon CloudFront →
AWS CloudTrail image AWS CloudTrail

CloudTrail records supported account and API activity for access investigations and change auditing. Configure the necessary event coverage, including data events where required, and protect both log delivery and access to the resulting records.

Open AWS CloudTrail →