What is gimme-aws-creds and how does it work?
mastergimme-aws-creds is a Python CLI tool designed to acquire temporary AWS credentials via AWS STS using Okta as a SAML Identity Provider (IdP).
Core Workflow
- Authentication: Authenticates the user via Okta (supporting both Okta Classic and Okta Identity Engine).
- MFA: Handles various Multi-Factor Authentication flows (Push, TOTP, SMS, Email, Voice, DUO, WebAuthn, etc.).
- SAML Exchange: Retrieves SAML assertions from Okta and exchanges them for temporary AWS STS credentials (or Alibaba Cloud RAM credentials).
- Credential Delivery:
- Automatically writes credentials to
~/.aws/credentials(or~/.aliyun/config.jsonfor Alibaba Cloud). - Can output credentials to
stdoutin various formats like shell exports (export), JSON, or Windows PowerShell (windows).
- Automatically writes credentials to
Key Capabilities
- Multi-Cloud: Supports AWS (standard, GovCloud, China partitions) and Alibaba Cloud RAM.
- Profile Management: Supports multiple configuration profiles with inheritance using the
inherits = parent_profilesyntax. - Account Resolution: Automatically resolves AWS account IDs to friendly aliases by scraping the AWS sign-in page.