All Projects → Luzifer → Awsenv

Luzifer / Awsenv

Licence: apache-2.0
awsenv is intended as a local credential store for people using more than one AWS account at the same time

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Awsenv

Cfn Secret Provider
A CloudFormation custom resource provider for deploying secrets and keys
Stars: ✭ 125 (+86.57%)
Mutual labels:  aws, credentials
Aws Vault
A vault for securely storing and accessing AWS credentials in development environments
Stars: ✭ 5,626 (+8297.01%)
Mutual labels:  aws, credentials
Aws Secrets Manager Credentials Provider Plugin
AWS Secrets Manager Credentials Provider for Jenkins
Stars: ✭ 45 (-32.84%)
Mutual labels:  aws, credentials
Curso Aws Com Terraform
🎦 🇧🇷 Arquivos do curso "DevOps: AWS com Terraform Automatizando sua infraestrutura" publicado na Udemy. Você pode me ajudar comprando o curso utilizando o link abaixo.
Stars: ✭ 62 (-7.46%)
Mutual labels:  aws
Binaryalert
BinaryAlert: Serverless, Real-time & Retroactive Malware Detection.
Stars: ✭ 1,125 (+1579.1%)
Mutual labels:  aws
Holepunch
Punch holes in your AWS security groups.
Stars: ✭ 66 (-1.49%)
Mutual labels:  aws
Module Security Public
The public documentation for the gruntwork-io/module-security repo, which contains packages for setting up best practices for managing secrets, credentials, and servers
Stars: ✭ 67 (+0%)
Mutual labels:  aws
Ha Sap Terraform Deployments
Automated SAP/HA Deployments in Public/Private Clouds
Stars: ✭ 61 (-8.96%)
Mutual labels:  aws
Ask Around Me
The Ask Around Me example serverless web application. See the Compute Blog series and video series for more information. Contact @jbesw for info.
Stars: ✭ 67 (+0%)
Mutual labels:  aws
Contacts api
Serverless RESTful API with AWS Lambda, API Gateway and DynamoDB
Stars: ✭ 66 (-1.49%)
Mutual labels:  aws
Learn Aws
☁️ My journey learning Amazon Web Services
Stars: ✭ 65 (-2.99%)
Mutual labels:  aws
Terraform Security Scan
Run a security scan on your terraform with the very nice https://github.com/liamg/tfsec
Stars: ✭ 64 (-4.48%)
Mutual labels:  aws
React Deploy S3
Deploy create react app's in AWS S3
Stars: ✭ 66 (-1.49%)
Mutual labels:  aws
Terraform Modules
Reusable Terraform modules
Stars: ✭ 63 (-5.97%)
Mutual labels:  aws
Ec2 Metadata
An easy interface to query the EC2 metadata API, with caching.
Stars: ✭ 67 (+0%)
Mutual labels:  aws
Aws Config To Elasticsearch
Generates an AWS Config Snapshot and ingests it into ElasticSearch for further analysis using Kibana
Stars: ✭ 62 (-7.46%)
Mutual labels:  aws
S3 Blob Store
☁️ Amazon S3 blob-store
Stars: ✭ 66 (-1.49%)
Mutual labels:  aws
Vapor Aws Lambda Runtime
Run your Vapor api server on AWS Lambda using the official Swift Server runtime.
Stars: ✭ 65 (-2.99%)
Mutual labels:  aws
Lambda Native
Make .NET AWS Lambda functions start 10x faster using LambdaNative.
Stars: ✭ 64 (-4.48%)
Mutual labels:  aws
Terraform Aws S3 Log Storage
This module creates an S3 bucket suitable for receiving logs from other AWS services such as S3, CloudFront, and CloudTrail
Stars: ✭ 65 (-2.99%)
Mutual labels:  aws

Go Report Card

Luzifer / awsenv

awsenv is intended as a local credential store for people using more than one AWS account at the same time.

For security considerations about this software please refer to the security.md file in this repository.

Features

  • Secure storage of credentials (AES256)
  • No more access when credential store is "locked"
  • Export credentials for your shells eval function
  • Amazon STS support to open the web-console without login-hazzle

Installation

From source

go get -u github.com/Luzifer/awsenv

From binary

  1. Go to the releases page
  2. Download the binary for your system and put into your $PATH

Supported shells

  • bash / zsh
    • Put this function into your ~/.bashrc / ~/.zshrc and you can access your environments using set_aws <name>
function set_aws {
  eval $(awsenv shell $1)
}
function login_aws {
  open $(awsenv console $1)
}
  • fish
    • Put this function into ~/.config/fish/functions/set_aws.fish and you can access your environments using set_aws <name>
function set_aws --description 'Set the AWS environment variables' --argument AWS_ENV
	eval (awsenv shell $AWS_ENV)
end
function login_aws --description 'Open browser with AWS console' --argument AWS_ENV
	open (awsenv console $AWS_ENV)
end

Sample workthrough

Installation

$ curl -sSLfo awsenv https://github.com/Luzifer/awsenv/releases/download/v0.11.1/awsenv_linux_amd64
$ chmod 0755 awsenv
$ sudo mv awsenv /usr/local/bin/

Adding an environment and using it

# We can not list because the credentials are locked
$ awsenv list
ERRO[0000] No password is available. Use 'unlock' or provide --password.

# Unlock the credentials (now the password is set for later)
$ awsenv unlock
Password: demo

# We can now list without errors but have no environments
$ awsenv list

# Lets add an environment
$ awsenv add --region eu-west-1 demoenv
AWS Access-Key: myaccesskey
AWS Secret-Access-Key: mysecretkey
INFO[0010] Credential 'demoenv' has been created

# Now we can list the environment we just created
$ awsenv list
demoenv

# With the get command we can display the information
$ awsenv get demoenv
Credentials for the 'demoenv' environment:
 AWS Access-Key:        myaccesskey
 AWS Secret-Access-Key: mysecretkey
 AWS EC2-Region:        eu-west-1

# The lock command will secure the credentials again
$ awsenv lock
$ awsenv get demoenv
ERRO[0000] No password is available. Use 'unlock' or provide --password.

# We need to unlock it with the same credentials
$ awsenv unlock
Password: demo
$ awsenv get demoenv
Credentials for the 'demoenv' environment:
 AWS Access-Key:        myaccesskey
 AWS Secret-Access-Key: mysecretkey
 AWS EC2-Region:        eu-west-1

# We're currently working in a bash without AWS ENV vars
$ env | grep AWS

# But we can load them using the set_aws function
$ set_aws demoenv
$ env | grep AWS
AWS_SECRET_ACCESS_KEY=mysecretkey
AWS_ACCESS_KEY_ID=myaccesskey
AWS_ACCESS_KEY=myaccesskey
AWS_SECRET_KEY=mysecretkey

# Now the prompt command can tell you which env is set
$ awsenv prompt
demoenv

# You also can run commands with AWS crentials directly
$ awsenv run demoenv -- env | grep AWS
AWS_ACCESS_KEY_ID=myaccesskey
AWS_SECRET_ACCESS_KEY=mysecretkey
AWS_ACCESS_KEY=myaccesskey
AWS_SECRET_KEY=mysecretkey
AWS_REGION=us-east-1
AWS_DEFAULT_REGION=us-east-1

# Lets try to unlock with a wrong password
$ awsenv lock
$ awsenv unlock
Password: fooo

# The database is now not readable for us
$ awsenv l
ERRO[0000] Unable to read credential database

# As soon as we unlock with the right password it works again
$ awsenv unlock
Password: demo
$ awsenv l
demoenv
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].