# Using GitHub Actions OIDC to authenticate with AWS without hardcoded IAM credentials

DevFeed: [Using GitHub Actions OIDC to authenticate with AWS without hardcoded IAM credentials](<https://devfeed.tech/articles/don-t-hardcode-iam-credentials-in-github-22567.md>)

Original publisher: [Read original article](<https://tech.scribd.com/blog/2026/teraform-oidc-module.html>)

Author: Oleh Motrunych

Published: 2026-01-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scribd Tech](<https://devfeed.tech/sources/scribd-tech.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [AWS IAM](<https://devfeed.tech/topics/aws-iam.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-keys](<https://devfeed.tech/tags/api-keys.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [iam](<https://devfeed.tech/tags/iam.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

## AI overview

This tutorial explains how Scribd uses GitHub Actions with AWS and why hardcoded API keys and tokens are difficult to manage securely. It introduces AWS IAM OpenID Connect identity providers and the open-source terraform-oidc-module for establishing trust between GitHub and AWS and configuring deployment permissions.

## Source excerpt

Scribd deploys a lot of code from GitHub to AWS using GitHub Actions, which means many of our Actions need to access AWS resources. Managing AWS API keys and tokens for different IAM users is time-consuming, brittle, and insecure. Managing key-distribution between AWS and GitHub also makes it difficult to track which keys go where, when they should be rotated, and what permissions those keys have. Fortunately AWS supports creating OpenID Connect identity providers which is an ideal tool handle this kind of cross-cloud authentication in a more maintainable way.