AWS CloudTrail Log Analysis: How to Find Who Did What (And When)

How to actually use CloudTrail logs day-to-day — tracing non-compliant resources to their source, querying with Athena, and setting up alerts before things go wrong.

July 13, 2026 · 9 min · 1767 words · Javier Pulido

AWS SCPs That Actually Work: Practical Guide for Real Teams

SCPs every AWS org should deploy on day one — plus the break-glass pattern, limit gotchas, and why you shouldn’t use SCPs to fix human behavior.

July 8, 2026 · 9 min · 1711 words · Javier Pulido

AmazonSSMManagedInstanceCore: Full Policy Breakdown

Full breakdown of every permission in the AmazonSSMManagedInstanceCore IAM policy, plus a least-privilege custom alternative for production EC2 instances.

July 7, 2026 · 8 min · 1496 words · Javier Pulido

AWS Misconfigurations I Find in Every Security Audit

Five AWS misconfigurations I find in every security audit — with Console and Terraform fixes for public S3 buckets, over-permissive IAM, open security groups, and missing monitoring.

July 7, 2026 · 4 min · 690 words · Javier Pulido

AWS Security Checklist: The 30-Minute Audit I Run on Every Account

The 30-minute security baseline I run on every AWS account — 10 sections with copy-paste CLI commands covering IAM, S3, CloudTrail, network hardening, and cost monitoring.

July 7, 2026 · 7 min · 1373 words · Javier Pulido

IAM Users Are Dead: Modern AWS Access Control for 2026

Stop using IAM users in AWS. This guide explains why they’re risky and how to migrate to Identity Center, STS, and OIDC-based access — step-by-step.

July 7, 2026 · 3 min · 480 words · Javier Pulido

Detect AWS IAM Privilege Escalation with CloudTrail

Set up AWS-native detection for privilege escalation using CloudTrail, EventBridge, and minimal infrastructure. Real API patterns and alerting included.

June 20, 2025 · 4 min · 745 words · Javier Pulido

IAM Least Privilege in AWS: Access Analyzer Guide

How to audit and refine IAM permissions using Access Analyzer, CloudTrail, and service access history — enforcing least privilege the right way in AWS.

June 9, 2025 · 4 min · 800 words · Javier Pulido

AWS Session Manager Setup: Replace SSH with Zero Inbound Ports

Step-by-step SSM Session Manager setup — IAM role, instance profile, session logging, and removing SSH entirely. No keys, no bastions, no port 22.

June 3, 2025 · 5 min · 901 words · Javier Pulido

Stop Using Access Keys: AWS Temporary Credentials Done Right

Ditch long-term access keys. Practical guide to IAM roles, STS, and temporary credentials — with real mistakes to avoid and least-privilege patterns that work.

May 11, 2025 · 4 min · 805 words · Javier Pulido

Automate IAM Least Privilege with Access Analyzer & Terraform

Automate least-privilege IAM roles using Access Analyzer policy generation, CloudTrail-based scoping, and Terraform integration.

April 21, 2025 · 4 min · 799 words · Javier Pulido