<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thibaut Tauveron</title>
    <link>https://blog.tauveron.com/</link>
    <description>Recent content on Thibaut Tauveron</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 31 Jan 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://blog.tauveron.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Le génie logiciel peut-il encore rester une exception ?</title>
      <link>https://blog.tauveron.com/genie-logiciel-exception-responsabilite/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/genie-logiciel-exception-responsabilite/</guid>
      <description>&lt;h1 id=&#34;modèle-québécois-en-ingénierie&#34;&gt;Modèle québécois en ingénierie &lt;a href=&#34;#mod%c3%a8le-qu%c3%a9b%c3%a9cois-en-ing%c3%a9nierie&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Au Québec, l’ingénierie est encadrée par un principe simple mais exigeant : certaines décisions techniques engagent la sécurité du public et, à ce titre, ne peuvent pas être prises par n’importe qui, ni n’importe comment.&lt;/p&gt;&#xA;&lt;p&gt;L’&lt;strong&gt;Ordre des ingénieurs du Québec&lt;/strong&gt; structure cette responsabilité autour de plusieurs mécanismes bien connus : &lt;strong&gt;un titre protégé&lt;/strong&gt;, &lt;strong&gt;des actes réservés&lt;/strong&gt;, une obligation de compétence, et surtout une &lt;strong&gt;responsabilité personnelle envers la société&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GCP IAM Watcher: Monitor Google Cloud IAM Changes</title>
      <link>https://blog.tauveron.com/gcp-iam-watcher-lightweight-monitoring-for-google-cloud-iam-changes/</link>
      <pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/gcp-iam-watcher-lightweight-monitoring-for-google-cloud-iam-changes/</guid>
      <description>&lt;p&gt;Identity and Access Management (IAM) sits at the core of every cloud security program. The roles and permissions granted to users, service accounts, and groups directly define what they can access - and therefore how much damage can be done if credentials are misused.&lt;/p&gt;&#xA;&lt;p&gt;That’s why monitoring IAM changes is a critical part of a defense-in-depth strategy. A single misconfigured role binding can expose sensitive data, weaken compliance posture, or enable lateral movement in the event of compromise.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Practical Guide to GCP Metadata Server with a Real Use Case</title>
      <link>https://blog.tauveron.com/a-practical-guide-to-gcps-metadata-server-with-a-real-use-case/</link>
      <pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/a-practical-guide-to-gcps-metadata-server-with-a-real-use-case/</guid>
      <description>&lt;h3 id=&#34;the-3am-problem&#34;&gt;The 3am problem &lt;a href=&#34;#the-3am-problem&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;It was Friday evening, and I was on-call.&lt;/p&gt;&#xA;&lt;p&gt;One of our central software components had a nasty bug. At random times, especially in the middle of the night, it would just stop consuming Pub/Sub messages. There was no fix ready, and the only way to keep things running was to manually restart the Kubernetes deployment.&lt;/p&gt;&#xA;&lt;p&gt;Restarting it wasn’t difficult. But being paged at 3AM repeatedly? Not fun.&lt;/p&gt;&#xA;&lt;h3 id=&#34;weekend-peace-no-pages-please&#34;&gt;Weekend peace, No pages please &lt;a href=&#34;#weekend-peace-no-pages-please&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;I had two goals:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Mastering GCP IAM: Secure Your Google Cloud Environment</title>
      <link>https://blog.tauveron.com/mastering-iam-in-gcp-a-practical-guide-to-securing-your-cloud/</link>
      <pubDate>Mon, 07 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/mastering-iam-in-gcp-a-practical-guide-to-securing-your-cloud/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Identity and Access Management (IAM) in Google Cloud Platform (GCP) is the backbone of secure cloud operations. It determines &lt;strong&gt;who can do what, where&lt;/strong&gt; — across your entire GCP organization. Whether you&amp;rsquo;re deploying a serverless app, managing infrastructure via Terraform, or granting temporary developer access, IAM decisions can either safeguard or expose your environment.&lt;/p&gt;&#xA;&lt;p&gt;This blog post is a &lt;strong&gt;hands-on guide&lt;/strong&gt; to mastering IAM in GCP — not just from a theoretical angle, but through the lens of &lt;strong&gt;real-world security practices&lt;/strong&gt;, &lt;strong&gt;tooling tips&lt;/strong&gt;, and &lt;strong&gt;hard-earned lessons&lt;/strong&gt; from working with complex GCP organizations.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golden Signals on Google Cloud with Managed Prometheus</title>
      <link>https://blog.tauveron.com/golden-signals-with-google-cloud-built-in-metrics-managed-prometheus/</link>
      <pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/golden-signals-with-google-cloud-built-in-metrics-managed-prometheus/</guid>
      <description>&lt;h2 id=&#34;introduction-the-power-of-golden-signals-at-the-edge&#34;&gt;Introduction: The Power of Golden Signals at the Edge &lt;a href=&#34;#introduction-the-power-of-golden-signals-at-the-edge&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;It’s late Friday afternoon—the kind of time you really &lt;em&gt;don’t&lt;/em&gt; want something to go wrong—when the reports start coming in: the mobile app is painfully slow, eventually showing a generic “something went wrong” message.&lt;/p&gt;&#xA;&lt;p&gt;I pull up the dashboards, and the problem is instantly visible at the edge: the &lt;strong&gt;API Gateway is returning a surge of 500 errors&lt;/strong&gt;, with noticeable spikes in latency. It’s clear the issue is affecting all users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>6 Practical Ways to Reduce Your GCP Costs</title>
      <link>https://blog.tauveron.com/6-practical-ways-to-reduce-your-gcp-costs/</link>
      <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/6-practical-ways-to-reduce-your-gcp-costs/</guid>
      <description>&lt;p&gt;Running workloads in Google Cloud Platform (GCP) gives you powerful infrastructure, but costs can add up quickly if you&amp;rsquo;re not careful. Here are six actionable strategies I personally use to keep my GCP bill under control.&lt;/p&gt;&#xA;&lt;h2 id=&#34;leverage-committed-use-discounts-wisely&#34;&gt;Leverage Committed Use Discounts Wisely &lt;a href=&#34;#leverage-committed-use-discounts-wisely&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;GCP offers two types of &lt;strong&gt;Committed Use Discounts (CUDs)&lt;/strong&gt;: &lt;strong&gt;spend-based&lt;/strong&gt; and &lt;strong&gt;resource-based&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;Spend-based CUDs&lt;/strong&gt; are simpler to manage—you commit to spending a fixed amount on specific services (like Compute Engine or Cloud SQL), and GCP gives you a discount across eligible usage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zero-Trust Access on GCP with Azure AD and IAP</title>
      <link>https://blog.tauveron.com/achieving-zero-trust-access-on-gcp-with-azure-ad-iap-and-nginx-ingress/</link>
      <pubDate>Fri, 13 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/achieving-zero-trust-access-on-gcp-with-azure-ad-iap-and-nginx-ingress/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction &lt;a href=&#34;#introduction&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Building secure public access to internal apps — without a VPN — is a common challenge in modern cloud environments. During one of my recent projects, I needed a secure and scalable way to expose internal web tools (like ArgoCD and Grafana) across multiple environments (DEV, QA, PROD). The solution had to support:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSO via Azure Active Directory&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Fine-grained, host-level access control&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A VPN-free experience&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Low operational cost&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;To solve this, I designed and deployed a cloud-native architecture using &lt;strong&gt;Google Cloud Identity-Aware Proxy (IAP)&lt;/strong&gt;, &lt;strong&gt;Workforce Identity Federation&lt;/strong&gt;, and &lt;strong&gt;nginx ingress&lt;/strong&gt; in GKE. Here&amp;rsquo;s how it works and how you can build a similar setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Passed the CISSP Exam: Study Guide &amp; Strategy</title>
      <link>https://blog.tauveron.com/breaking-down-the-cissp/</link>
      <pubDate>Sat, 10 May 2025 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/breaking-down-the-cissp/</guid>
      <description>&lt;h2 id=&#34;my-background&#34;&gt;My Background &lt;a href=&#34;#my-background&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Before diving into how I prepared for and passed the CISSP exam, I want to give a bit of context about my professional background and why I decided to pursue this certification in the first place.&lt;/p&gt;&#xA;&lt;p&gt;I’m a software engineer with a strong focus on cloud, security, and DevOps. Over the years, I’ve built and secured cloud platforms across industries like banking, fintech, medtech, and consulting, always aiming to align business needs with technical solutions.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Hive - TryHackMe Challenge</title>
      <link>https://blog.tauveron.com/the-hive-tryhackme-challenge/</link>
      <pubDate>Tue, 09 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/the-hive-tryhackme-challenge/</guid>
      <description>&lt;p&gt;If you haven’t checked out &lt;a href=&#34;https://tryhackme.com&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TryHackMe&lt;/a&gt; yet, it’s a fantastic platform for learning cybersecurity through hands-on challenges. The site offers a wide variety of “rooms” — self-contained virtual environments that simulate real-world systems with intentional vulnerabilities. Each room is designed to help you build practical skills by hunting down hidden flags through enumeration, exploitation, and lateral thinking.&lt;/p&gt;&#xA;&lt;p&gt;What’s especially cool is that the community can contribute their own rooms, which makes for a fun and ever-evolving ecosystem of challenges — and a great way to learn from others.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reverse Engineering Siebel Test Automation Jenkins Plugin</title>
      <link>https://blog.tauveron.com/reverse-engineering-the-siebel-test-automation-jenkins-plugin/</link>
      <pubDate>Sat, 07 Aug 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/reverse-engineering-the-siebel-test-automation-jenkins-plugin/</guid>
      <description>&lt;p&gt;A while back, I had the opportunity to work with a Swedish insurance company on enhancing their DevOps capabilities. Like many large enterprises, they were using &lt;strong&gt;Oracle Siebel&lt;/strong&gt; as their CRM system—and one of the big challenges was introducing &lt;strong&gt;automated smoke testing&lt;/strong&gt; into their existing workflow.&lt;/p&gt;&#xA;&lt;p&gt;Siebel isn’t exactly known for being automation-friendly out of the box, but Oracle does offer tools to support test automation. During that project, I dug into those tools and even reverse-engineered a Jenkins plugin to better understand how it all worked—and to ultimately &lt;strong&gt;remove Jenkins from the equation entirely&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Palsforlife – TryHackMe Challenge</title>
      <link>https://blog.tauveron.com/palsforlife-tryhackme-challenge/</link>
      <pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/palsforlife-tryhackme-challenge/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://tryhackme.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;TryHackMe&lt;/a&gt; is an awesome platform for learning cybersecurity through hands-on labs. Their gamified approach makes diving into new tools and techniques genuinely fun. As I was progressing through various challenges, I noticed there was only &lt;em&gt;one&lt;/em&gt; room that touched on Kubernetes.&lt;/p&gt;&#xA;&lt;p&gt;Given how much Kubernetes has exploded in popularity in recent years, it’s becoming an increasingly attractive target — which means it&amp;rsquo;s just as important to understand how clusters can be exploited as it is to secure them. That’s what inspired me to design and propose a room focused on Kubernetes, blended with a bit of &lt;em&gt;World of Warcraft&lt;/em&gt; flair — and thus, &lt;a href=&#34;https://tryhackme.com/room/palsforlife&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;&lt;strong&gt;Palsforlife&lt;/strong&gt;&lt;/a&gt; was born.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Capitalizing on Your Linux Command History</title>
      <link>https://blog.tauveron.com/capitalizing-on-your-linux-command-history/</link>
      <pubDate>Tue, 09 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/capitalizing-on-your-linux-command-history/</guid>
      <description>&lt;p&gt;When working with Linux, I often forget commands I don’t use regularly — and I definitely don’t enjoy retyping long ones. Luckily, &lt;code&gt;bash&lt;/code&gt; keeps a history of previously executed commands, which we can leverage to save time and boost productivity.&lt;/p&gt;&#xA;&lt;h3 id=&#34;making-the-most-of-bash-history&#34;&gt;Making the Most of Bash History &lt;a href=&#34;#making-the-most-of-bash-history&#34; class=&#34;anchor&#34;&gt;🔗&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;The simplest way to access past commands is by pressing the &lt;strong&gt;up and down arrow keys&lt;/strong&gt;. A more powerful method is using &lt;strong&gt;Ctrl-R&lt;/strong&gt;, which lets you start typing a command and autocompletes it based on history.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploy Traefik on GKE with Google L7 Load Balancer</title>
      <link>https://blog.tauveron.com/deploying-traefik-in-gke-using-the-google-https-load-balancer-l7/</link>
      <pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/deploying-traefik-in-gke-using-the-google-https-load-balancer-l7/</guid>
      <description>&lt;p&gt;When deploying services in Google Kubernetes Engine (GKE), one of the first things we typically do is expose them externally. The simplest approach is to set the &lt;code&gt;type: LoadBalancer&lt;/code&gt; on a Kubernetes &lt;code&gt;Service&lt;/code&gt;, which provisions a &lt;strong&gt;regional External TCP/UDP Network Load Balancer&lt;/strong&gt; (L4) for you automatically. This works well for basic needs—especially if you&amp;rsquo;re exposing raw TCP services like SSH or Jenkins agents.&lt;/p&gt;&#xA;&lt;p&gt;However, there are two downsides:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;It&amp;rsquo;s regional&lt;/strong&gt;, which can introduce latency for users located far from your cluster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A TCP proxy between networks in GCP</title>
      <link>https://blog.tauveron.com/a-tcp-proxy-between-networks-in-gcp/</link>
      <pubDate>Mon, 08 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://blog.tauveron.com/a-tcp-proxy-between-networks-in-gcp/</guid>
      <description>&lt;p&gt;Connecting isolated networks in Google Cloud without peering can be tricky, especially when overlapping IPs and security boundaries are involved.&lt;/p&gt;&#xA;&lt;p&gt;In this post, I’ll walk through a practical solution I implemented to bridge two GCP networks using a lightweight TCP proxy. Rather than relying on complex subnet gymnastics or network peering, I used a dual-NIC VM and HAProxy to cleanly route traffic across projects. It’s a scalable pattern that keeps networks decoupled while still allowing secure communication between them.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
