Monday, 2 June 2025

Nature’s Charm: A Scenic Walk Along Odiham Canal

 Last weekend, I went for a lovely walk with friends along the Odiham Canal. We started at the Odiham Boat House and followed the peaceful canal path toward the old Odiham Castle. We stopped there for a while to admire the ruins and think about its history.

As we walked on toward Greywell Village, we saw beautiful wildflowers and open fields all around us. The soft sounds of nature and the gentle movement of the reeds made the walk very relaxing.

The best part of the day was seeing a swan with its baby cygnets. It was a sweet and special moment that made our walk even more memorable.

Car Park

The postcode for Colt Hill Car Park in Odiham is RG29 1DH. This car park is situated at the end of London Road, near the Basingstoke Canal and close to the Waterwitch pub. It's a convenient starting point for walks along the canal towpath and visits to nearby attractions like Odiham Castle


Map


Castle

Odiham Castle, also known as King John's Castle, is a picturesque medieval ruin located near the village of Odiham in Hampshire. Built around 1207–1214 by King John, it served as a royal residence and strategic fort. The castle is now a peaceful spot along the Basingstoke Canal, ideal for walkers and history lovers.



Thursday, 3 April 2025

A Journey Through My Childhood: Tales from Kommandamparai

Introduction


Hey there! I'm Savitha, and while I now live in the UK with my endlessly curious son, Anish, my heart still belongs to the enchanting village of Kommandamparai where I grew up. Every night, without fail, Anish demands a bedtime story—not about dragons, not superheroes, but about the wacky, hilarious, and sometimes downright wild adventures of my childhood. His determination to hear these tales is so strong, I figured, why not write them down? After all, who can say no to a persistent little dreamer?

So let me take you back to where it all started, in a village tucked at the foot of the Western Ghats in Coimbatore, a place that felt like something out of a fairytale. Kommandamparai, the name itself is magic—it means "Kombu Adum Parai" or "dancing horns on the rocky hill" in Tamil. This cool name was inspired by hunters from long ago, who tied animal horns to trees, and when the wind blew, those horns would dance. Pretty cool, huh? Our village was surrounded by rivers on two sides, making it a paradise for childhood adventures and mischief.

Life on our farm was anything but ordinary. My parents, Appa (Mylswamy) and Amma (Velumani), worked tirelessly to make it thrive, and then there was me with my two younger sisters, Priya and Divya—we were the mischief crew. And let's not forget about our extended family—we had my loving grandmother, Aatha (Lakshmi), who was the heart of our home, my mischievous grandfather, Appuchi (Muthusamy), and Shakthi Mama, my mom’s cousin, who loved our home almost as much as his own.

The farm wasn’t just a farm; it was a mini-zoo. We had Mani and Vicky, our loyal dogs, who were never far from our side. Then there were our two catsPuchcha and Sony, who were the most independent (and stubborn) animals you could meet. Our herd of cows often acted like they owned the place, and our chickens? Well, they had their own little army, always in motion, always up to something funny. As for our fields? They were filled with mangoes, coconuts, cotton, paddy, and veggies, which meant endless snacks and a lot of hard work.

Kommandamparai wasn’t just a village, it was a borderland, sitting between Tamil Nadu and Kerala. The roads were rough, especially during the monsoon season when they turned into muddy lakes. There were no fancy cars or buses—just bicyclesbullock carts, and our trusty two feet. Every trip out became an adventure, a test of whether you could navigate the giant mud puddles or if you’d get stuck up to your knees.

And guess what? Our farm became a stopover for travelersAatha, always the kind-hearted soul, never let anyone pass by without offering a hot drink and a meal. We were like a roadside inn—if you were hungry or tired, our farm was the place to rest.

While Appa and Amma worked hard in the fields, Aatha ruled the house with a combination of love, care, and an occasional dose of tough love. She was the storyteller, the protector, the one we could always count on. We followed her around, hanging onto every word, especially when she shared her stories of the old days, weaving tales that made everything feel just a little bit more magical.

My childhood in Kommandamparai was nothing short of enchanting. It was a place where every day was an adventure, where we played, worked, and laughed in equal measure, and where mischief was always just around the corner. And so, I’m ready to share those memories with you—from the hilarious to the heartwarming. So get ready, because these stories are just getting started!


Our Wacky Nicknames

In our family, the real names were more like a suggestion—no one ever bothered to call each other by them. Why? Because where’s the fun in being called by your proper name when you can have a whole arsenal of hilarious nicknames?

  • Savitha (that’s me) was called so many things I thought I might need a nickname for my nicknames! My sisters had a special fondness for calling me “Perusu”, a term that could only mean "big" (and not always in a flattering way). To my grandfather, I was “Periyasamy”—that sounded official. Amma had a particularly creative mood swing and would sometimes call me “Periya Kaluthai” (Big Donkey). Not to be outdone, Aatha always called me “Periya Thangam” (Big Gold)—which I’ll admit, was the nicest one. But when it came to Appa, it was simply “Savi”—straight to the point.
  • Priya, oh boy, she had her own bizarre nickname collection! To Amma, she was “Nadusu”, which was basically the equivalent of “the small, hyperactive one.” Appa and the villagers had a thing for calling her “Kunju”, a nickname that really spoke to her adorable little charm. Aatha and I used to call her “Kunja”, just to keep things spicy. And of course, to the uncles and aunts, she was always “Kanna”. But now? After all the chaos, she’s just “Pri”—a simple, dignified name… most of the time.
  • Divya, our ever-sweet little firecracker, went through even more transformations. She was known as “Chinna Thangam” (Little Gold) for obvious reasons (her cuteness was golden). We also lovingly called her “Chinna Kunju” or “Chirusu”—but when Amma got upset (which happened a lot), she was “Chinna Kaluthai” (Little Donkey). Ouch, Amma! Thankfully, now she’s just “Divi”—we’ve all learned to chill out with the nicknames… kind of.

Mischief, Mayhem & Memories

Divi and the Hen’s Chicks: The Great Disappearance

One sunny afternoon, everything seemed calm on the farm. Appa and Amma were busy working on the fields, Pri and I were at school, and Aatha was in the kitchen, likely concocting one of her legendary snacks. It was one of those days where nothing could possibly go wrong… or so we thought.

 

Enter Divi—our tiny, trouble-making tornado.

 

Without warning, our little explorer decided to disappear. She was here one second, and then—poof! Gone. Gone without a trace, leaving behind a mess of confusion and a trail of anxious whispers. The search began.

 

“Divi!”

“Where’s Divi?”

“Did anyone see Divi?”

 

Soon, the whole village was in on the hunt. People were calling her name from every corner, and even the dogs were barking in confusion. As the hours ticked by, worry settled in like a heavy cloud. But little did we know, the search was about to take an unexpected turn.

 

Just when the panic was at its peak, Supiyan Mama—our sharp-eared farm worker—heard something unusual. From deep within the barn, he heard soft, high-pitched sounds, like the gentle chirping of baby chicks.

 

Following the noise, Supiyan Mama lifted a basket and discovered something that made everyone’s hearts skip a beat. There, sitting contentedly in the middle of a group of fluffy chicks, was none other than Divi, looking like she had just discovered the world’s most magical playground.

 

She was sitting there, smiling and giggling, as though this was exactly where she belonged—surrounded by fuzzy little chicks and their fiercely protective mother, who had no idea what kind of chaos had just unfolded in her coop. Somehow, our little mischief-maker had managed to sneak inside without disturbing the whole chicken kingdom.

 

The relief was so massive that even the usual scolding turned into laughter. Instead of being mad, we were all just happy she was safe and sound (and maybe a little impressed by her stealthy abilities). As for Divi? She had earned a new title—the chick whisperer, and undoubtedly gained a few new “feathery friends” for life.


Pri’s Brilliant Plan to Brush a Dog’s Teeth

At the tender age of five, Pri had a vision—and it was nothing short of revolutionary. Our neighbor’s dog, Mani, clearly had some dental issues, and it was high time someone did something about it. Who better than Pri, the self-proclaimed pet dentist?

 

With absolutely no fear or second thoughts, she marched into the yard with her battle gear—a toothbrush in hand, ready to take on the challenge of Mani’s canine teeth. Mani, however, had other plans. He wasn’t impressed with her little “dental hygiene intervention” and decided to voice his opinion in the most effective way possible—by biting Pri’s hand!

 

As if on cue, Cinnu, our neighbor’s daughter, rushed to our house, practically screaming, “Pri’s been bitten by Mani!” (because what’s a good emergency without a little bit of dramatic flair?).

 

Amma’s brother, Kanna Mama, who somehow always managed to appear in the middle of every family crisis, rushed Pri to the hospital. The doctors, after assessing the situation, decided that Pri needed not one, not two, but eight painful injections in her belly.

 

And that, folks, was the day we all learned a very valuable lesson: Never, under any circumstances, try to brush a dog’s teeth—especially when that dog is Mani.

 

So, there you have it. Pri’s brilliant plan might not have gone exactly as she envisioned, but it certainly became one of our family’s most memorable (and painful) stories—and the ultimate proof that dogs have better dental hygiene than we thought.


A Family of Goats Named After Us

Our farm had a tradition that was equal parts adorable and hilarious—and it all started thanks to Palaniappan Mama and Rukmani Athai, who were absolutely crazy about us. They decided that every newborn goat on the farm should get the ultimate honor: a name straight from our family tree.

And so, over the years, we had a goat army named Savitha, Priya, and Divya—each one with their own unique personality. The goats roamed the farm, blissfully chewing on everything in sight, hopping around like they owned the place, and acting like they were the real stars of the show.

But the true comedy came when Amma had to call us in. Picture this:
Amma standing at the farm’s edge, hands on hips, yelling across the yard:
"Savitha! Stop running!"
And who would freeze in place and stare back?
Not me—the actual human! It was the goat named Savitha.

It was impossible to stay mad at that silly creature. Every time Amma scolded one of us, it was like a goat showdownPriya-the-human would be playing with Priya-the-goat, and when Amma called for "Priya!" we’d all turn to look, only to find Priya-the-goat was the one causing the mischief—eating a guava, no less!

And don’t even get me started on the time Amma was chasing Divya-the-human and Divya-the-goat around the yard, both of us looking equally guilty of being up to no good.

At this point, naming goats after us wasn’t just a tradition—it was a full-blown family comedy routine. What’s more fun than getting scolded by Amma, only to realize she’s yelling at a goat instead of one of us? The whole thing was like a slapstick routine that never ended.


The Great Temple Construction – Divine DIY!

Scorching summer days in Kommandamparai meant only one thing—unstoppable mischief. If we weren’t roaming the farm like fearless explorers, chasing butterflies, or climbing trees like overgrown monkeys, you’d find us living our best lives in the river.

But swimming? Oh no, we were much more than that. We were elite fish catchers (who had a strict catch-and-release policy), self-proclaimed mermaids, and champion wave-makers. Our ultimate goal? Turn the calm river into a mini tsunami!

Unfortunately, not everyone appreciated our talents. The village ladies, who came to wash clothes and collect drinking water, saw us as nothing but a three-sister disaster.

At first, they yelled at us to stop splashing—which, of course, we ignored. Then they warned us to behave—which, naturally, we also ignored. But when all else failed, they pulled out their ultimate weapon:

“There are snakes in the water! Get out before you lose a leg!”

That was it. Pure terror. We screamed, flailed, and practically ran on water to escape. Only later did we realize… there were no snakes. It was all a big, fat lie to chase us out!

When You Get Kicked Out of the River… Build a Temple!

After yet another dramatic river eviction, we needed a new mission—something BIG, something legendary… and that’s when the idea struck:

We would build our very own temple!

Did we have bricks? No.
Did we have cement? Absolutely not.
Did we have the engineering skills of a squirrel? Yes.

Armed with nothing but sticks, hay, and a pile of old clothes, we got to work. We tied, balanced, stacked, and hoped for the best. Our temple was not exactly architecturally sound, but in our eyes, it was nothing short of a sacred masterpiece.

To make it official, we even decorated it with flowers and painted rocks—because what’s a temple without divine aesthetics?

But the best part? Aatha, our biggest fan and CEO of Encouraging Chaos, decided this deserved a proper celebration. She made sweets for our temple’s "grand opening," turning our little DIY project into a full-blown festival.

With sweets in hand, our temple officially opened for business! We held a ceremonial pooja (which mostly involved us giggling and pretending to chant), and just like that, we had created something truly magical.

To us, this was a historic religious event.
To the rest of the village? Just another day watching three kids turn nonsense into an adventure.


Divi’s Crazy Dream About Our Cat, Sony

One night, Divi had a dream so bizarre and hilarious that it became legendary in our family.

In her dream, our beloved cat, Sony, had developed a sudden urge to get an education. With a serious expression, Sony walked up to Amma and meowed, "I want to go to school!" Amma, of course, found the whole thing ridiculous and refused to pay Sony’s school fees. But Sony wasn’t one to give up so easily!

Determined to fight for its right to education, Sony picked up a pen (yes, in its tiny paws!) and wrote a dramatic letter:

"Dear Amma, if I can’t go to school, at least bury me in front of the school gate when I die, so I can be close to learning."

As if that wasn’t enough, the dream ended with Sony hanging dramatically from the roof of our house like a tragic hero, wailing like a Tamil movie villain.

At that moment, Divi woke up screaming! When she told us about her dream the next morning, we couldn’t stop laughing for days. Even Sony gave us a puzzled look, probably wondering why we were all rolling on the floor laughing. 😆

 

Our Happiness Did Not Last for Long

One bright morning, Pri and I sprang out of bed, bursting with excitement because today was going to be awesome! We had to catch the 6:00 AM bus, so naturally, we were running on pure adrenaline. The clock read a quarter to six, which meant it was go time—time to get ready fast. But wait... where on earth were our school bags? We checked every corner of the room, under the bed, in the closet, even the kitchen (because, you know, bags could magically end up there, right?). But nope, no school bags!

As we frantically searched, our little sister, Divi, was still snoozing peacefully in her bed. Pri and I exchanged wide-eyed glances, and a wicked plan hatched in our minds. No bags? No school! We were practically jumping for joy at the thought of a surprise day off, a day to do whatever we wanted!

But of course, this couldn’t go unnoticed by Amma and Appa, who were starting to get suspicious. "Where are your school bags?" Appa asked, raising an eyebrow. Amma, ever the detective, narrowed her eyes and muttered something about us hiding them to get out of school. Busted.

Just when we were reveling in our perfect little scheme, out walked Divi, all fresh-faced and smiling like she just woke up from a nap in Fairy Tale Land. She strolled up to us, totally calm, and in the most serene voice said, "I hid your bags last night. I had a dream that a thief was in the house, stealing things, and I saved your bags from him."

Pri and I froze. Our genius plan had been foiled—by none other than our little sister, Divi, the unintentional hero. With a big smile, Divi handed our school bags back, and like a pair of defeated soldiers, we trudged off to school, knowing we had just been outsmarted by a 5-year-old.

Guess we’ll have to save our “skip school” plans for another day!


Drunken Mama and the Lost Cows

It wasn’t exactly a busy day on the farm, so only Ramasamy Mama and Senthil were around, helping out. Amma, in her usual no-nonsense way, sent Ramasamy Mama to take the cows out to graze, while Senthil was assigned to another task. By evening, around 6:30 or 7:00 PM, the cows would typically wander back home, but that day... nothing. No cows.

Amma, growing concerned, started calling out, "Ramasamy! Ramasamy! Where are the cows?" But there was no answer. At this point, panic started to settle in. Amma and my sisters, with worried faces and determined steps, set out on a search mission. They eventually found the cows—scattered across the fields, happily munching on the crops! Of course, the cows weren’t picky about what they ate, so the crops were getting demolished, and chasing the cows back home turned into a mini cattle-herding Olympics. After a lot of running, shouting, and mooing, the cows were finally back in their enclosure.

But where was Ramasamy Mama? Senthil was immediately dispatched to find him. After some time, Senthil returned, dragging a stumbling, wobbly Ramasamy behind him. Ramasamy Mama was completely drunk—so much so that he couldn’t even walk straight, let alone handle a herd of cows. Amma’s face turned redder than a tomato, and she exploded: "What on earth were you doing, Ramasamy? You're completely drunk, and the cows have ruined the crops!"

In a stupor, Ramasamy, unable to focus, stared at Divi, who had innocently wandered up, and in a shaky voice, slurred, "Akka, I swear I didn’t drink! Please believe me!"

Divi and Pri, who were always quick to find humor in any situation, burst into uncontrollable laughter. And honestly, who could blame them? Ramasamyslurring, thinking Divi was Amma, pleading for his innocence—it was too much to handle. Even though Amma was absolutely fuming, her anger only grew when she saw us laughing at the situation.

With a huff and a few choice mutters under her breath, Amma stormed off, exasperated: "I can’t deal with this madness!" And, just like that, what started as a drama-filled evening turned into one of those stories we'd retell for years, with plenty of laughs and eye rolls from Amma every time Ramasamy Mama was mentioned.


Dravid and Ganguly Born on Our Farm

Divi and Pri were cricket-obsessed. I mean, they practically lived and breathed the game! They would skip school without a second thought if it meant they could catch a match. Divi was absolutely in love with Dravid, and Pri was practically in awe of Ganguly. It wasn’t just the cricket that got their hearts racing—it was the entire vibe of the game. So, when two cows on our farm had baby calves on the same day, Divi and Pri got the bright idea to name them after their cricketing heroes! Dravid for Divi’s favorite, and Ganguly for Pri’s.

 

The girls treated the calves like their new best friends, feeding them, cuddling with them, and even letting them lick their hands like little puppies. The calves, of course, were totally on board with this new life of luxury, following them around and making adorable little mooing sounds.

 

One rainy day, Amma gave the girls the task of taking the cows out to graze. Well, what could possibly go wrong with that? After a bit of running around, Divi and Pri came back looking like drowned rats, completely drenched from head to toe, and shivering from the cold. They had barely managed to get the cows back to their stalls before they started complaining about how cold and miserable it was.

 

Pri, being the responsible one (or at least trying to be), decided to bring Ganguly inside for some warmth. But, of course, Dravid had other plans. He refused to come inside. There was no way Divi was letting Dravid stay out in the cold, so she started dragging him through the rain, all the while muttering, "Come on, Dravid, stop being stubborn!"

 

Finally, after what felt like an eternity, Divi managed to get Dravid inside, and with a big sigh of relief, she said, "Ah, Pri, Dravid is so warm! It feels so good on such a cold, rainy day!"

 

But then, just as she was getting cozy, something clicked in Divi’s brain. The "warmth" wasn’t exactly coming from Dravid's body—it was coming from something else entirely. With a horrified realization, Divi looked down and said, "Wait a minute... Dravid is warm because he just peed on me!"

 

We all burst out into fits of laughter, and even Divi couldn’t help but join in. Poor Dravid! He had been more of a "live heater" than a calf that day. From then on, whenever anyone mentioned Dravid, we couldn’t help but picture him as a walking, peeing radiator.


Marutha Saved Amma

One sunny day, Amma and Marutha, who worked for us, went down to the riverbank to wash clothes—back in the days before washing machines took over the world! Amma would always wait for Appa to turn on the water for the crops, and in the meantime, she and Marutha would get to work with their laundry ritual by the river.

But on this particular day, something seemed off. As they were scrubbing away, Marutha suddenly stopped, squinting at the horizon. There was this strange noise, like the river was murmuring… or maybe even warning them. Marutha listened harder, and then it hit him. The sound wasn’t just any noise—it was the sound of floodwaters rushing toward them! A dam nearby had opened, and the river was about to become a roaring beast!

Marutha’s heart skipped a beat. With lightning speed, he grabbed Amma and screamed, “Amma, RUN! The river’s flooding!

Like an action movie hero, Marutha yanked Amma away from the water just in time. The river surged behind them, threatening to sweep everything in its path, but thanks to Marutha’s quick thinking, they were both safe. It was a close call, and we couldn’t help but breathe a collective sigh of relief.

Marutha may not be with us today, but we’ll never forget his bravery. Rest in peace, Marutha—you’ll always be our hero.


Atha Was a Big Trouble for Sleep

Atha, nearing 80, had a quirky habit of waking us up in the middle of the night, thinking it was already morning. Imagine being pulled from a cozy sleep only to hear, “Wake up, kids, the rooster is crowing!” We'd groggily stumble out of bed and follow her like sleepwalking zombies, ready for our hot water morning bath—a warm, steamy affair that felt like a mini spa experience in the bathroom.

One such night, Atha woke us up with her usual enthusiasm, "Come on, come on, the rooster is crowing!" She was certain it was time to start the day. So, still half asleep, we’d shuffle to the bathroom, where the warm water awaited us, and after a quick soak, we’d drag ourselves back to bed, only for Amma to gently say, "It’s not time yet! Go back to sleep!"

Now, Pri was not a fan of early mornings. In fact, she was the master of avoiding anything that involved waking up before the sun. So one day, Pri hatched a brilliant plan. “Atha, I’ll take a bath before bed,” she said with a sly smile. “You don’t need to wake me up early.” Atha, thrilled to not have to wake anyone up, agreed. Pri happily stayed in bed, while the rest of us still trudged to the bathroom at 3 AM (or so it felt!).

But me? Well, I was too soft-hearted to refuse Atha’s gentle pleas. Every time she’d tug at my arm and say, “Come on, dear, it’s time for your bath,” I’d get up without question, no matter how comfy my bed seemed. Guess I was the true sucker for early mornings!


Athai Got Hit by My Motorcycle

I'll never forget the thrill of getting our first bike! I was practically bouncing with excitement, but there was just one tiny problem—I didn’t know how to ride it. No worries, though! With the help of my trusty gang of friends, I figured out the basics, even though it probably looked like a disaster in motion. Pri had it easier. Shakthi Mama stepped in as her personal bike instructor, and before we knew it, Pri was doing stunts and riding with both hands off the handlebars like a pro!

 

Naturally, my competitive spirit kicked in, and I thought, "If Pri can be the bike queen, I can be the motorcycle queen!" So, I decided to learn how to ride the TVS 50 motorcycle. Despite Amma’s warnings—"Don’t even think about it!"—I couldn’t resist the temptation.

 

One day, I took the motorcycle out for a quick errand: buying cardamom for Amma. Feeling like I was on top of the world, I cruised through the village, trying my best to look like a pro. And then... I saw Chinnathai Athai and a couple of other ladies walking down the road, each carrying a bundle of grass. My heart skipped a beat—I tried to brake, but the motorcycle had other plans! It slammed right into Athai, sending her tumbling into a patch of bushes like a toppled tree!

 

I froze, my mind going blank. Athai was absolutely fine—thankfully—but I was in full panic mode, trying to figure out how to apologize without dying of embarrassment.

 

By the time I got home, word of my little adventure had already spread like wildfire. Amma was not impressed. I got a full-on lecture (and an earful I could still hear for days) about responsibility, but the best part? I had to march straight to Chinnathai Athai’s house and apologize. I was so mortified, I decided then and there that I would not be riding that motorcycle around the village again anytime soon.

 

For the next few weeks, I let Pri have all the fun while I swore off motorcycle escapades—at least, until my ego recovered!


Sunday, 2 February 2025

aws prep

 

What is cloud computing?
















Examples of Cloud Computing


  • Infrastructure as a Service
    • Amazon EC2
    • GCP
    • AZURE
    • RACKAPACE
    • Digital Ocean
    • Linode
  • Platform as a Service
    • Elastic Beanstalk
    • Heroku
    • Google app engine
    • Azure
  • Software as a Service:#Aws Service
    • Google apps (gmail)
    • Dropbox
    • Zoom













AWS IAM (Identity and Access Management) Explained Simply

Imagine AWS as a huge building with multiple rooms, each representing different AWS services like storage, databases, and computing power. AWS IAM is like the security system of this building that controls who can enter, which rooms they can access, and what actions they can perform.

Key Concepts in IAM (Explained Simply)

  1. Users 👤

    • Think of users as individual employees in a company. Each person needs specific permissions to do their job.
    • Example: A developer may need access to servers, while an accountant only needs access to billing information.
  2. Groups 👥

    • Instead of assigning permissions to each user separately, IAM allows you to create groups.
    • Example: All developers can be placed in a "Developers Group" with the same permissions.
  3. Policies 📜

    • These are rules that define what a user or group can and cannot do.
    • Example: A policy might allow a user to read files from storage but not delete them.
  4. Roles 🎭

    • Roles are like temporary access badges given to users or AWS services.
    • Example: A worker from another department might get a temporary access pass to enter a restricted area.
  5. Multi-Factor Authentication (MFA) 🔐

    • Adds an extra layer of security by requiring a second step (like a one-time code from your phone) to log in.

Why is IAM Important?

✅ Security – Prevents unauthorized access.
✅ Control – You can grant the least required access to users.
✅ Flexibility – Users can have different permissions for different tasks.



Root User (👑 AWS Account Owner)

What is the Root User?

  • The root user is the first user created when you sign up for AWS.
  • It has full access to all AWS services and resources.
  • The root user is tied to the AWS email address and password used during signup.

Capabilities of the Root User

✅ Full control over all AWS resources.
✅ Can create and delete IAM users and roles.
✅ Can modify billing settings and close the AWS account.
✅ Can enable special security settings like MFA (Multi-Factor Authentication) and account recovery.

Why Should You Avoid Using the Root User?

❌ Too powerful—if hacked, the entire AWS account is compromised.
❌ Cannot be restricted by IAM policies.
❌ AWS recommends using the root user only for critical tasks, then creating IAM users for daily operations.


2️⃣ IAM User (👤 Standard User with Controlled Access)

What is an IAM User?

  • An IAM (Identity and Access Management) User is a regular AWS user created under an AWS account.
  • IAM users do NOT have full access by default—they must be granted permissions.

Capabilities of an IAM User

✅ Can be assigned specific permissions (e.g., access to S3, EC2, or databases).
✅ Can belong to IAM Groups (e.g., "Developers", "Admins").
✅ Can have policies attached to limit what they can do.
✅ Can use MFA for extra security.

Example IAM User Permissions

  1. Read-Only Access (Can view AWS resources but cannot modify them).
  2. S3 Bucket Access (Can upload and download files from S3).
  3. EC2 Management (Can start and stop EC2 instances).
  4. Billing Access (Can view AWS bills but not modify settings).

Example of AWS IAM with Diagram

Scenario:

Imagine you own an online shopping website hosted on AWS. You have a team that manages different tasks, and you need to control who can access what.

Roles & Access Control:

  1. Admin (You) – Full access to all AWS services.
  2. Developers – Can create and update applications but cannot delete servers.
  3. Support Team – Can only view customer complaints but cannot access servers or databases.
  4. Billing Team – Can only view billing information.

IAM ensures that each person gets only the minimum access required for their job.


Diagram Representation:

Below is a simple IAM setup showing users, roles, and permissions:


+--------------------+ | AWS IAM | +--------------------+ │ ┌──────────────────────────┬───────────────┬───────────────────┐ │ │ │ │ ▼ ▼ ▼ ▼ +------------+ +------------+ +------------+ +------------+ | Admin | | Developer | | Support | | Billing | +------------+ +------------+ +------------+ +------------+ | Full Access | | App Deploy | | View Only | | View Only | | (Owner) | | No Delete | | No Edit | | Billing Data | +------------+ +------------+ +------------+ +------------+

How This Works in AWS IAM:

✅ Admin: Has a policy that allows "Full Access."
✅ Developer: Has a policy that allows "Read, Write, but No Delete."
✅ Support: Has a policy that allows "Read-Only Access."
✅ Billing: Has a policy that allows access only to billing data.

With IAM, you restrict access so that no one can accidentally or intentionally modify critical data.

AWS IAM Groups and User Membership Examples

IAM Groups help manage permissions by grouping multiple users under the same set of policies. However, AWS IAM has some specific rules:

  • user does not have to be in a group (they can have direct policies).
  • user can be in multiple groups at the same time.
  • AWS does NOT support nested groups (i.e., a group cannot be part of another group).

AWS IAM Groups and User Membership Examples

IAM Groups help manage permissions by grouping multiple users under the same set of policies. However, AWS IAM has some specific rules:

  • user does not have to be in a group (they can have direct policies).
  • user can be in multiple groups at the same time.
  • AWS does NOT support nested groups (i.e., a group cannot be part of another group).

1️⃣ Example: User Not in Any Group

A user can exist in AWS IAM without being in a group and still have permissions via directly attached policies.

Scenario:

  • User: JohnDoe
  • Policy: Directly attached to allow Read-Only access to S3.

Policy Attached to User Directly:


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::company-data" } ] }

✅ JohnDoe has access to S3 but is NOT part of any group.


2️⃣ Example: User in One Group

A user can be part of one or multiple groups, and they inherit permissions from that group.

Scenario:

  • User: Alice
  • Group: Developers
  • Permissions: Developers group has access to deploy applications.

Policy Attached to Developers Group:


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*" } ] }

✅ Alice is part of the "Developers" group, so she inherits the ability to start and stop EC2 instances.


3️⃣ Example: User in Multiple Groups

A user can be in multiple groups and receive combined permissions.

Scenario:

  • User: Bob
  • Groups: DevelopersDatabaseAdmins
  • Permissions:
    • Developers → Can start/stop EC2 instances
    • DatabaseAdmins → Can read/write to RDS (Relational Database Service)

Policy Attached to DatabaseAdmins Group:


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds:DescribeDBInstances", "rds:ModifyDBInstance" ], "Resource": "*" } ] }

✅ Bob gets permissions from both "Developers" and "DatabaseAdmins" groups, allowing him to manage EC2 and RDS.


4️⃣NESTED GROUPS

AWS IAM does NOT support nested groups. You cannot put Developers inside IT-Admins. Instead, a user must be manually added to multiple groups.


Summary Table:

UserGroupsPermissions
JohnDoe              ❌ (No Group)                                       Directly assigned S3 read-only access
Alice             ✅ (Developers)Inherits EC2 start/stop permissions
Bob                ✅ (Developers, DatabaseAdmins)Can manage EC2 and RDS


1. IAM Roles (Examples)

IAM Roles are used to grant temporary permissions to AWS services or users. Here are some common role examples:

Role NameWho Uses It?Purpose
EC2 Access RoleAWS EC2 InstancesAllows EC2 to read/write data from S3 or other AWS services.
Lambda Execution RoleAWS Lambda FunctionsAllows Lambda to interact with databases, S3, or other services.
Read-Only AuditorSecurity TeamProvides read-only access to AWS services for auditing.
Cross-Account RoleExternal AWS AccountsGrants access to another AWS account.
Admin RoleAdmin UsersFull control over AWS resources.

2. IAM Policies (Examples)

IAM Policies define what actions are allowed for users, roles, or services.

Example 1: Read-Only Access to S3

This policy allows a user to view S3 buckets but not modify them.


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::my-bucket" }, { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket/*" } ] }

Example 2: Full Access to EC2

This policy grants full permissions to manage EC2 instances.


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" } ] }

Example 3: Restrict User to Only View Billing Information

This policy ensures a user can only see AWS billing details.


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aws-portal:ViewBilling", "aws-portal:ViewAccount" ], "Resource": "*" } ] }

AWS IAM Policies:


IAM policies are rules that define what actions are allowed or denied for a user, group, or role in AWS. They help control who can access what in your AWS environment.


1️⃣ Types of IAM Policies

There are several types of IAM policies, each serving different purposes.

1. AWS Managed Policies (Predefined by AWS)

  • AWS provides built-in policies for common use cases.
  • Example: AdministratorAccess (full access to AWS) and ReadOnlyAccess (view-only permissions).

✅ Best for: Quick setup, using AWS-recommended permissions.


2. Customer Managed Policies (Created by You)

  • Custom policies designed to meet specific security and access needs.
  • Example: A policy that allows users to start and stop EC2 instances but not delete them.

✅ Best for: When AWS Managed Policies don’t fit your needs.


3. Inline Policies (Directly Attached to a User, Group, or Role)

  • Inline policies are directly embedded into a user, group, or role instead of being a separate reusable policy.
  • Example: An inline policy that gives an IAM user access to a specific S3 bucket only.

✅ Best for: Special one-time permissions that shouldn’t be reused.


2️⃣ IAM Policy Structure (JSON Format)

IAM policies are written in JSON format and consist of:

KeyDescription
VersionSpecifies the policy language version (always "2012-10-17")
StatementThe set of rules (allow or deny actions)
EffectAllow or Deny (whether the action is permitted)
ActionThe AWS service actions (e.g., s3:PutObject for S3)
ResourceSpecifies which AWS resource the policy applies to
Condition(Optional) Adds extra conditions, like time-based access

3️⃣ Example IAM Policies

Example 1: Read-Only Access to S3

This policy allows a user to list and read objects in an S3 bucket but not modify them.

json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ] } ] }

Example 2: Full Access to EC2

This policy allows a user to perform any action on EC2 instances.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:*", "Resource": "*" } ] }

Example 3: Allow Access to Specific S3 Bucket Only

This policy allows a user to upload and download files from a specific bucket.


{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::company-reports/*" } ] }

Example 4: Deny Deletion of S3 Objects

This policy prevents users from deleting objects in an S3 bucket.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "s3:DeleteObject", "Resource": "arn:aws:s3:::important-data/*" } ] }

4️⃣ AWS Policy Evaluation Logic

AWS follows these rules to determine whether a request is allowed or denied:

1️⃣ Explicit Deny Wins

  • If a policy explicitly denies an action, it is always denied.

2️⃣ Explicit Allow If No Deny Exists

  • If there’s no deny, AWS checks if there’s an explicit allow.

3️⃣ Default Deny (Implicit Deny)

  • If neither allow nor deny is found, the request is denied by default.


How MFA works in AWS:

In AWS (Amazon Web Services)Multi-Factor Authentication (MFA) is an added layer of security that requires users to provide two or more forms of authentication when accessing their AWS resources. MFA enhances the security of your AWS account by ensuring that even if an attacker gains access to your password, they cannot access your account without the second form of authentication.


  1. Something you know: Your AWS credentials (username and password).
  2. Something you have: A second factor, typically a time-sensitive code generated by an MFA device (hardware or virtual).

AWS supports two types of MFA:

  • Virtual MFA devices: These are software-based (such as mobile apps like Google Authenticator, Authy, or AWS's own MFA app) that generate time-sensitive, rotating codes.
  • Hardware MFA devices: Physical devices (like a key fob or USB stick) that generate time-sensitive codes for authentication.

Setting up MFA in AWS:

  1. Go to the AWS Management Console.
  2. Navigate to IAM (Identity and Access Management).
  3. Choose the Users section and select the user to enable MFA for.
  4. In the Security credentials tab, find Multi-factor authentication (MFA) and click Assign MFA device.
  5. Follow the steps to set up a Virtual MFA device (e.g., using the Google Authenticator app) or a Hardware MFA device.

Why use MFA in AWS?

  • Increased Security: Adding MFA ensures that an attacker who obtains your password will still need the physical MFA device to access your account.
  • Compliance: Certain compliance frameworks (e.g., PCI DSS, HIPAA) require MFA to protect sensitive information.
  • Prevent Unauthorized Access: Even if an attacker compromises your password or an API key, MFA prevents unauthorized access.

Types of MFA in AWS:

  1. Root User MFA: Enabling MFA on the root user of your AWS account is highly recommended, as the root user has unrestricted access to all resources.
  2. IAM User MFA: Enabling MFA for individual IAM users adds an additional security layer for accessing AWS services.
  3. Federated User MFA: If you use federated authentication (via AWS SSO or third-party providers), you can configure MFA for federated users as well.

By configuring MFA, AWS users can significantly enhance their account security and reduce the risks associated with unauthorized access.



Multi-Factor Authentication (MFA) in AWS

What is MFA in AWS?

  • MFA is an additional security layer that requires two or more forms of authentication.
  • Enhances account security by requiring both a password and a second factor (e.g., a time-sensitive code).



IAM Policy, Role, and MFA

Scenario: Securing Access to an S3 Bucket


1. Root User:

  • Enable MFA on the root user to add an extra layer of protection for the AWS account.

2. IAM User:

  • Create an IAM user called JohnDoe.
  • Enable MFA for the JohnDoe IAM user to ensure secure access.

3. IAM Group:

  • Create an IAM group called S3Admins.
  • Add JohnDoe to the S3Admins group to grant him group-based permissions.

4. IAM Policy (Access Control for S3):

  • Create an IAM policy that allows access to an S3 bucket. This policy can be attached to the S3Admins group (or directly to individual users or roles).

  • Here’s an example policy that allows full access to a specific S3 bucket (my-bucket):

    Example Policy for Full S3 Access (JSON format):

    json
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", // Allow all S3 actions (list, read, write, delete) "Resource": [ "arn:aws:s3:::my-bucket", // Allow access to the bucket itself "arn:aws:s3:::my-bucket/*" // Allow access to all objects inside the bucket ] } ] }
  • Explanation:

    • Action: The s3:* action grants all possible permissions (list, upload, delete, etc.) for the S3 service.
    • Resource: The arn:aws:s3:::my-bucket allows access to the bucket itself, and arn:aws:s3:::my-bucket/* allows access to all objects within that bucket.

5. IAM Role:

  • Create an IAM role (e.g., EC2-S3-Access-Role) for an EC2 instance that needs to access the same S3 bucket.
  • Attach the same S3 access policy to the role.
  • Role assumption: The EC2 instance will assume this role to access the S3 bucket without needing permanent credentials.

6. MFA for IAM User and Root User:

  • Enable MFA for both the root user and the IAM user JohnDoe to enhance security.

Steps to Implement:

  1. Root User MFA: Enable MFA on the root user of the AWS account.
  2. Create IAM User JohnDoe: Create the JohnDoe user and enable MFA for them.
  3. Create Group S3Admins: Create the group and attach the above S3 access policy.
  4. Add JohnDoe to S3Admins Group: Add JohnDoe to the group to grant them access.
  5. Create IAM Role EC2-S3-Access-Role: Create a role for EC2 with the same S3 policy and allow EC2 instances to assume this role.
  6. Attach MFA to IAM User: Enable MFA for JohnDoe to ensure secure access to AWS Management Console.

Nature’s Charm: A Scenic Walk Along Odiham Canal

 Last weekend, I went for a lovely walk with friends along the Odiham Canal. We started at the Odiham Boat House and followed the peaceful c...