Writing the Resource element of an IAM policy statement means getting a service's specific ARN syntax exactly right — which segments are present, whether the resource id follows a slash or a colon, whether region and account id are even included. IAM ARN Format Reference is a searchable cheat sheet covering common AWS services' ARN patterns for exactly this purpose, each with its template, a realistic filled-in example, and a short note on that service's specific quirks.
Every ARN follows the same six colon-separated shape — arn:partition:service:region:account-id:resource — but what belongs in that last resource field, and how region/account-id are handled, varies service by service. S3 and IAM both drop fields that don't apply (no region for either, no account id for S3 buckets); RDS, Lambda, Step Functions, ElastiCache and CodePipeline use a colon to introduce the resource id where most other services use a slash; and a handful of global services like CloudFront and Route 53 leave region and, for some, account id empty entirely.
This is a curated selection covering roughly 30 services and resource types commonly referenced when writing IAM policies — not AWS's complete catalog of hundreds of services. AWS documents the authoritative, complete list in its own reference documentation, linked from the FAQ below.