{"id":24517783,"url":"https://github.com/fstab50/gcreds","last_synced_at":"2026-04-25T18:32:53.026Z","repository":{"id":172340020,"uuid":"330015419","full_name":"fstab50/gcreds","owner":"fstab50","description":"Automated generation and management of  Amazon STS temporary IAM credentials","archived":false,"fork":false,"pushed_at":"2022-11-30T01:50:31.000Z","size":26886,"stargazers_count":0,"open_issues_count":11,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-15T11:11:13.927Z","etag":null,"topics":["amazon-web-services","authentication","authorization","automation","aws","client-side","desktop","iam","iam-role","sts"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fstab50.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-01-15T20:29:32.000Z","updated_at":"2021-01-31T21:10:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"f30ed1a3-7ba0-4d63-a7d3-293e71bff20e","html_url":"https://github.com/fstab50/gcreds","commit_stats":null,"previous_names":["fstab50/gcreds"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fstab50/gcreds","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fstab50%2Fgcreds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fstab50%2Fgcreds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fstab50%2Fgcreds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fstab50%2Fgcreds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fstab50","download_url":"https://codeload.github.com/fstab50/gcreds/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fstab50%2Fgcreds/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32273214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amazon-web-services","authentication","authorization","automation","aws","client-side","desktop","iam","iam-role","sts"],"created_at":"2025-01-22T01:35:14.311Z","updated_at":"2026-04-25T18:32:53.009Z","avatar_url":"https://github.com/fstab50.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"top\"\u003e\u003c/a\u003e\n* * *\n# gcreds\n* * *\n\n## Summary\n\n**gcreds** (pronounced \"gee-creds\" for _generate credentials_) is a utility for creation and managment of IAM temporary access credentials using Amazon's [Security Token Service (STS)](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html).  [Temporary credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) are used to access AWS resources when assuming a role identity.\n\nFor more information on the above terms and functions, see [an explanation of IAM roles in the Amazon Web Services](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) documentation.\n\n**Version**:\t2.4.6\n\n\n* * *\n\n## Contents\n\n* [**Purpose**](#purpose)\n\n* [**Dependencies**](#dependencies)\n\n* [**Program Options**](#program-options)\n\n* [**Build Options**](#build-options)\n\n* [**Configuration**](#configuration)\n\n* [**Installation**](#installation)\n    * [Ubuntu, Linux Mint, Debian-based Distributions](#debian-distro-install)\n    * [Redhat, CentOS](#redhat-distro-install)\n    * [Amazon Linux 2, Fedora](#amzn2-distro-install)\n\n* [**Generating STS Credentials**](#generating-sts-credentials)\n\n* [**Auto Refresh Mode**](#auto-refresh-mode)\n\n* [**Screenshots**](#screenshots)\n\n* [**Author \u0026 Copyright**](#author--copyright)\n\n* [**License**](#license)\n\n* [**Disclaimer**](#disclaimer)\n\n--\n\n[back to the top](#top)\n\n* * *\n\n## Purpose ##\n\n**gcreds** requests temporary credentials from [Amazon's Security Token Service (STS)](http://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html) for roles that normally require [multi-factor credentials](https://en.wikipedia.org/wiki/Multi-factor_authentication) in order to authenticate.\n\nA primary use case for **gcreds** is generating a temporary set of AWS access credentials for programmatic use by automation tools running on your local machine.\n\n**gcreds** manages temporary credentials it generates to prevent corruption of your local awscli config. When generating new temporary credentials, **gcreds** will automatically clear expired credentials from your local awscli config to block the presence of duplicate sets of credentials.\n\n\n#### Previous Releases ####\n* [v2.0 Release Notes](./notes/release_v2.0.md)\n* [v1.2 Release Notes](./notes/release_v1.2.md)\n* [v1.0 Release Notes](./notes/release_v1.0.md)\n* [v1.3 Release Notes](./notes/release_v1.3.md)\n\n--\n\n[back to the top](#top)\n\n* * *\n\n## Dependencies\n\n[gcreds](https://github.com/fstab50/gcreds) requires the following:\n\n- [Python version 3.6+](https://docs.python.org/3/)\n- Installation Amazon CLI tools (awscli, see Installation section)\n- [jq](https://stedolan.github.io/jq), a json parser generally available from your distribution repo\n- bash (4.x)\n- Standard linux utilities:\n    * grep\n    * awk\n    * sed\n    * cat\n    * hostname\n\n--\n\n[back to the top](#top)\n\n* * *\n\n## Program Options\n\nTo display the **gcreds** help menu:\n\n```bash\n    $ gcreds --help\n```\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/help-menu.png\" target=\"_blank\"\u003e\u003cimg src=\"./assets/help-menu.png\"\u003e\n\u003c/p\u003e\n\n--\n\n[back to the top](#top)\n\n* * *\n## Build options\n\n**[GNU Make](https://www.gnu.org/software/make) Targets**.  Type the following to display the available make targets from the root of the project:\n\n```bash\n    $  make help\n```\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/make-help.png\" target=\"_blank\"\u003e\u003cimg src=\"./assets/make-help.png\"\u003e\n\u003c/p\u003e\n\n--\n\n[back to the top](#top)\n\n* * *\n## Configuration\n\nConfigure [gcreds](https://github.com/fstab50/gcreds) runtime options by entering the configuration menu:\n\n```bash\n    $ gcreds --configure\n```\n\n[![cinfugyre2](./assets/configure-1.png)](http://images.awspros.world/gcreds/configure-1.png)\u0026nbsp;\n\n--\n\nIf the same IAM user will be utilised to generate role credentials, set the default gcreds IAM user here to avoid entering \"--profile \u003cuser\u003e\" every time gcreds is called to generate credentials for your local awscli configuration:\n\n[![option a](./assets/configure-2.png)](http://images.awspros.world/gcreds/configure-2.png)\n\n--\n\nChoose a default color scheme for gcreds accent highlighting via the next menu:\n\n[![configure3](./assets/configure-3.png)](http://images.awspros.world/gcreds/configure-3.png)\u0026nbsp;\n\n--\n\n\n[![configure4](./assets/configure-4.png)](http://images.awspros.world/gcreds/configure-4.png)\n\n--\n\n[back to the top](#top)\n\n* * *\n## Installation\n* * *\n\n\u003ca name=\"debian-distro-install\"\u003e\u003c/a\u003e\n### Ubuntu, Linux Mint, Debian variants  (Python 3.6+)\n\nThe easiest way to install **gcreds** on debian-based Linux distributions is via the debian-tools package repository:\n\n\n1. Open a command line terminal.\n\n    [![deb-install0](./assets/deb-install-0.png)](http://images.awspros.world/gcreds/deb-install-0.png)\n\n2. Download and install the repository definition file\n\n    ```\n    $ sudo apt install wget\n    ```\n\n    ```\n    $ wget http://awscloud.center/deb/debian-tools.list\n    ```\n\n    [![deb-install1](./assets/deb-install-1.png)](http://images.awspros.world/gcreds/deb-install-1.png)\n\n    ```\n    $ sudo chown 0:0 debian-tools.list \u0026\u0026 sudo mv debian-tools.list /etc/apt/sources.list.d/\n    ```\n\n3. Install the package repository public key on your local machine\n\n    ```\n    $ wget -qO - http://awscloud.center/keys/public.key | sudo apt-key add -\n    ```\n\n    [![deb-install2](./assets/deb-install-2.png)](http://images.awspros.world/gcreds/deb-install-2.png)\n\n4. Update the local package repository cache\n\n    ```\n    $ sudo apt update\n    ```\n\n5. Install **gcreds** os package\n\n    ```\n    $ sudo apt install gcreds\n    ```\n\n    Answer \"y\":\n\n    [![deb-install3](./assets/deb-install-3.png)](http://images.awspros.world/gcreds/deb-install-3.png)\n\n\n6. Verify Installation\n\n    ```\n    $ apt show gcreds\n    ```\n\n    [![apt-show](./assets/deb-install-4.png)](http://images.awspros.world/gcreds/deb-install-4.png)\n\n\n[back to the top](#top)\n\n* * *\n\n\u003ca name=\"redhat-distro-install\"\u003e\u003c/a\u003e\n### Redhat, CentOS  (Python 3.6+)\n\nThe easiest way to install **gcreds** on redhat-based Linux distributions is via the developer-tools package repository:\n\n\n1. Open a command line terminal.\n\n    [![rpm-install0](./assets/rpm-install-0.png)](http://images.awspros.world/gcreds/rpm-install-0.png)\n\n2. Install the official epel package repository\n\n    ```\n    $ sudo yum install epel-release\n    ```\n\n2. Download and install the repo definition file\n\n    ```\n    $ sudo yum install wget\n    ```\n\n    [![rpm-install1](./assets/rpm-install-1.png)](http://images.awspros.world/gcreds/rpm-install-1.png)\n\n    ```\n    $ wget http://awscloud.center/rpm/developer-tools.repo\n    ```\n\n    [![rpm-install2](./assets/rpm-install-2.png)](http://images.awspros.world/gcreds/rpm-install-2.png)\n\n    ```\n    $ sudo chown 0:0 developer-tools.repo \u0026\u0026 sudo mv developer-tools.repo /etc/yum.repos.d/\n    ```\n\n    [![rpm-install2b](./assets/rpm-install-2b.png)](http://images.awspros.world/gcreds/rpm-install-2b.png)\n\n\n3. Delete the local repository cache, then Update the cache with new package references\n\n    ```\n    $ sudo rm -fr /var/cache/yum\n    $ sudo yum update -y\n    ```\n\n4. Install the **gcreds** os package\n\n    ```\n    $ sudo yum install gcreds\n    ```\n\n    [![rpm-install3](./assets/rpm-install-3.png)](http://images.awspros.world/gcreds/rpm-install-3.png)\n\n\n    Answer \"y\":\n\n    [![rpm-install4](./assets/rpm-install-4.png)](http://images.awspros.world/gcreds/rpm-install-4.png)\n\n\n5. Verify Installation\n\n    ```\n    $ yum info gcreds\n    ```\n\n    [![rpm-install5](./assets/rpm-install-5.png)](http://images.awspros.world/gcreds/rpm-install-5.png)\n\n\n[back to the top](#top)\n\n* * *\n\u003ca name=\"amzn2-distro-install\"\u003e\u003c/a\u003e\n### Amazon Linux 2 / Fedora (Python 3.7+)\n\nRedhat Package Manager (RPM) format used by Amazon Linux under development.  Check [amzn2.awscloud.center](http://s3.us-east-2.amazonaws.com/amzn2.awscloud.center/index.html) page for updates.\n\n--\n\n[back to the top](#top)\n\n* * *\n\n## Generating STS Credentials ##\n\n#### Output when generating credentials\n\n```bash\n    $ gcreds --profile \u003ciam_user\u003e --accounts list.accounts --refresh-hours 4\n```\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/stdout.png\"\u003e\u003cimg src=\"./assets/stdout.png\"\u003e\n\u003c/p\u003e\n\n\n#### Modifications to local awscli configuration (account ids have been obscured):\n\n```bash\n    $ less ./aws/credentials\n```\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/credentials.png\"\u003e\u003cimg src=\"./assets/credentials.png\"\u003e\n\u003c/p\u003e\n\n\n#### Example Use of profiles created by **greds**:\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/example-usage.png\"\u003e\u003cimg src=\"./assets/example-usage.png\"\u003e\n\u003c/p\u003e\n\n\n#### Log File\n\nColoration courtesy of [source-highlight](https://www.gnu.org/software/src-highlite).\n\n```bash\n    $ cat /var/log/gcreds.log\n```\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/log-output.png\"\u003e\u003cimg src=\"./assets/log-output.png\"\u003e\n\u003c/p\u003e\n\n\n* * *\n\n## Auto Refresh Mode ##\n\n#### Automatic regeneration of temporary credentials\n\n```bash\n    $ gcreds --profile \u003ciam_user\u003e --accounts list.accounts --refresh-hours 4\n```\n\n#### Output during generation of credentials:\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/auto-gen.png\"\u003e\u003cimg src=\"./assets/auto-gen.png\"\u003e\n\u003c/p\u003e\n\n#### Authentication Status\n\nRuntime statistics displayed while authenitcation is active.   Alternatively, the command below displays same information anytime.\n\n```bash\n    $ gcreds  --show\n```\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/gcreds-status.png\"\u003e\u003cimg src=\"./assets/gcreds-status.png\"\u003e\n\u003c/p\u003e\n\n\n[back to the top](#top)\n\n* * *\n\n## Screenshots\n\n#### Green Accent Scheme\n\n```bash\n    $ gcreds  --help\n```\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/help-menu-green.png\"\u003e\u003cimg src=\"./assets/help-menu-green.png\"\u003e\n\u003c/p\u003e\n\n\n[back to the top](#top)\n\n* * *\n\n#### Blue Accent Scheme (green terminal)\n\n\u003cp align=\"right\"\u003e\n    \u003ca href=\"http://images.awspros.world/gcreds/help-menu-blue.png\"\u003e\u003cimg src=\"./assets/help-menu-blue.png\"\u003e\n\u003c/p\u003e\n\n\n[back to the top](#top)\n\n* * *\n\n## Author \u0026 Copyright\n\nAll works contained herein copyrighted via below author unless work is explicitly noted by an alternate author.\n\n* Copyright Blake Huber, All Rights Reserved.\n\n[back to the top](#top)\n\n* * *\n\n## License\n\n* Software contained in this repo is licensed under the [license agreement](./LICENSE.md).  You may display the license and copyright information by issuing the following command:\n\n```\n$ gcreds --version\n```\n\n[![help](./assets/version-copyright.png)](https://images.awspros.world/gcreds/version-copyright.png)\n\n\n[back to the top](#top)\n\n* * *\n\n## Disclaimer\n\n*Code is provided \"as is\". No liability is assumed by either the code's originating author nor this repo's owner for their use at AWS or any other facility. Furthermore, running function code at AWS may incur monetary charges; in some cases, charges may be substantial. Charges are the sole responsibility of the account holder executing code obtained from this library.*\n\nAdditional terms may be found in the complete [license agreement](./LICENSE.md).\n\n[back to the top](#top)\n\n* * *\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffstab50%2Fgcreds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffstab50%2Fgcreds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffstab50%2Fgcreds/lists"}