Authentication
The auth section of the atmos.yaml configures how Atmos authenticates with cloud providers. It supports AWS SSO, SAML, OIDC, GitHub Actions, GCP Workload Identity Federation, Azure, and static user credentials with a unified configuration model.
Quick Start
atmos.yaml
Configuration Reference
Top-Level Structure
atmos.yaml
Subpages
- Providers - Configure authentication providers (AWS SSO, SAML, GitHub OIDC, GCP, Azure)
- Identities - Configure identities and identity chaining
- Keyring - Configure credential storage backends
- Logs - Configure auth-specific logging
Integrations
Integrations are client-only credential materializations that derive from identities. They are automatically triggered during atmos auth login when auto_provision is enabled (the default).
Supported integration kinds:
aws/ecr— Login to AWS Elastic Container Registry. See ECR Authentication Tutorial.aws/eks— Generate EKS kubeconfig for kubectl access. See EKS Kubeconfig Authentication Tutorial.
Disabling Authentication
In CI/CD environments, you may want to disable Atmos-managed authentication and use native cloud provider credentials.
# Via CLI flag
atmos terraform plan mycomponent --stack=dev --identity=false
# Via environment variable
export ATMOS_IDENTITY=false
atmos terraform plan mycomponent --stack=dev
Recognized disable values: false, 0, no, off (case-insensitive)
When disabled:
- Atmos skips all identity authentication
- Falls back to standard cloud provider SDK credential resolution
- Works even when
atmos.yamlhas identity configurations
Environment Variables
ATMOS_IDENTITY- Default identity name, or
falseto disable. ATMOS_KEYRING_TYPE- Keyring backend (
system,file,memory). ATMOS_KEYRING_PASSWORD- Password for file keyring.
ATMOS_XDG_CONFIG_HOME- Override config directory for AWS files.
ATMOS_XDG_DATA_HOME- Override data directory for file keyring.
Complete Example
atmos.yaml
Using Profiles
Use Atmos profiles to define different authentication configurations for various use cases. Each profile is a directory containing YAML files.
Profile structure:
profiles/
├── developer/
│ └── auth.yaml # Developer auth config
├── ci/
│ └── auth.yaml # CI/CD auth config
└── platform/
└── auth.yaml # Platform engineer auth config
profiles/developer/auth.yaml
profiles/ci/auth.yaml
profiles/platform/auth.yaml
# Activate a profile
atmos --profile developer terraform plan myapp -s dev
ATMOS_PROFILE=ci atmos terraform apply myapp -s prod
Related Commands
📄️ atmos auth login
Authenticate with a configured identity
📄️ atmos auth whoami
Show current authentication status
📄️ atmos auth validate
Validate authentication configuration
📄️ atmos auth shell
Start a shell with identity credentials
📄️ atmos auth exec
Execute a command with identity credentials
📄️ atmos auth env
Export credentials as environment variables
📄️ atmos auth console
Open cloud console in browser
📄️ atmos auth list
List available identities and providers
📄️ atmos auth logout
Clear cached credentials
📄️ atmos aws ecr login
Login to AWS ECR registries
📄️ atmos aws eks token
Generate EKS bearer tokens for kubectl
Tutorials
- ECR Authentication — Complete guide for authenticating to AWS ECR using Atmos integrations
- EKS Kubeconfig Authentication — Complete guide for EKS kubeconfig generation using Atmos integrations
- Azure Authentication — Complete guide for Azure device code, OIDC, and CLI authentication
See Also
- Profiles — Environment-specific configuration overrides
- Stack Auth Configuration — Configure authentication at the stack level