AWS Credential Manager is a macOS menu bar app for managing temporary AWS credentials with 1Password.
It supports two credential flows:
STS- Uses long-lived AWS credentials and MFA to generate temporary credentials.
SSO- Uses AWS IAM Identity Center and stores reusable session state in 1Password.
Generated credentials are written to ~/.aws/credentials under the profile name you choose.
- Runs as a menu bar app on macOS
- Stores configuration and secrets in 1Password
- Generates temporary AWS credentials and writes them to
~/.aws/credentials - Supports
GetSessionTokenandAssumeRole - Supports AWS IAM Identity Center based login
- Can auto-refresh credentials before expiration
- macOS
- 1Password desktop app
Integrate with other appsenabled in 1Password- Access to an AWS account using either:
- AWS access key + MFA
- AWS IAM Identity Center
Download the latest aws-credential-manager-macos.zip from the GitHub Releases page, then unzip it and launch AWS Credential Manager.app.
If macOS blocks the app because it is an unsigned development build, open it from Finder with Control + click -> Open.
Open the 1Password desktop app and make sure:
- you are signed in to the account you want to use
Settings->Developer->Integrate with other appsis enabled
Launch the app and click the key icon in the macOS menu bar.
Open 1Password Accounts and add the 1Password account names you want this app to use.
Examples:
AKIO KATAYAMAsoracom
After saving, those accounts become selectable when creating or editing configs.
Click Add Config.
You can choose:
New Item- Create a new managed item in 1Password
Import Existing- Import an existing 1Password item and save it as a managed config
Use STS when you want to generate temporary credentials from AWS access keys and MFA.
Fields:
Setting NameProfile NameAuto RefreshAWS Access Key IDAWS Secret Access KeyMFA ARNMFA TOTP URI or CodeRole ARNRole Session NameExternal IDSession Duration MinutesSTS Region
Behavior:
- If
Role ARNis blank, the app usesGetSessionToken - If
Role ARNis set, the app usesAssumeRole
Use SSO when you want to generate credentials from AWS IAM Identity Center.
Fields:
Setting NameProfile NameAuto RefreshSSO Start URLSSO RegionUsernamePasswordMFA TOTP URI or CodeAWS Account IDAWS Role NameSession Duration Minutes
Notes:
SSO Start URLshould be the URL shown by AWS IAM Identity Center, for examplehttps://<tenant>.awsapps.com/start- The app opens a browser for sign-in when needed
- The app stores reusable SSO session state in 1Password and loads it into memory at startup and when generating credentials
Click Generate on a config.
The app will:
- Read the config from 1Password
- Read MFA or session state from 1Password
- Generate temporary AWS credentials
- Update
~/.aws/credentials
The generated profile name is the value in Profile Name.
If Auto Refresh is set to On, the app checks configs periodically and refreshes credentials before they expire.
For SSO configs:
- refresh token and related session state are stored in 1Password
- the app loads them into memory on startup
- the app updates the stored session state after successful SSO generation
This means SSO auto refresh can continue after app restart without forcing a full browser login every time, as long as the saved session state is still valid.
For managed items created by this app:
- item title format is
[aws-credential-manager] <Setting Name> - the selected 1Password account and vault are used
- secrets are stored in 1Password, not in local metadata
The local app metadata only keeps non-secret summary information used for the UI and scheduling.
Import Existing uses a step-by-step flow:
- Select 1Password account
- Select vault
- Select item
- Review and save
You can search by partial match in both vault and item lists.
The config list shows:
- setting name
- auth type
- profile name
- credential expiration
- for SSO:
- whether a refresh token is loaded
- current SSO session expiration if available
Check:
- 1Password desktop app is running
Integrate with other appsis enabled- the correct 1Password account is selected
If needed, use Connect 1Password again.
The app may be waiting for browser sign-in. If you want to stop that flow, press Cancel.
Check:
- the target
Profile Name - file permissions for
~/.aws/credentials - whether the AWS or SSO settings are valid
- macOS only
- unsigned development build by default
- depends on the 1Password desktop app integration
Main directories:
Build a distributable app:
./scripts/build-distributable.shOutput:
dist/AWS Credential Manager.appdist/aws-credential-manager-macos.zip