You know that sinking feeling when your CI pipeline fails because someone forgot to rotate a key? That is the smell of ungoverned credentials drifting through your infrastructure. IAM Roles in Tekton kill that smell. They let you run secure, repeatable builds that borrow access just in time, and never hold secrets longer than needed.
Tekton is a Kubernetes-native CI/CD engine built for pipelines you can version and automate like any other code. IAM Roles define who or what has permission to touch cloud resources. When combined, IAM Roles Tekton creates a workflow where pipelines act as trusted service identities instead of credential hoarders. It turns “who can deploy” from a shared key problem into a controlled, auditable principle in your system.
Here is the gist: each Tekton task runs in a Kubernetes pod, and that pod can assume a cloud IAM Role using your cluster’s identity provider. Instead of embedding long-lived access keys, you map the service account running the task to a scoped IAM Role. The runner then fetches temporary credentials at runtime via OIDC federation or your provider’s native endpoint. No static secrets, no hidden Jenkins files.
This setup leans on existing trust chains. For AWS you might use IRSA (IAM Roles for Service Accounts), while GCP and Azure rely on similar identity bindings. The effect is identical: per-task, per-run access defined by policy. Auditors love it, security teams breathe easier, and developers stop waiting for someone to paste secret tokens.
If it refuses to assume a role, check your OIDC audience and trust relationship first. Most errors trace back to mismatched provider URIs or roles not linked to the correct Kubernetes namespace. Treat it like debugging a permissions boundary, not an application bug. The policy simulation tools in AWS IAM or GCP IAM Explorer are your best friends here.