You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+42-10Lines changed: 42 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Limes
2
2
Limes provides an easy work flow with MFA protected access keys, temporary credentials and access to multiple roles/accounts.
3
3
4
-
Limes is a Local Instance MEtadata Service and emulates parts of the [AWS Instance Metadata Service](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) running on Amazon Linux. The AWS SDK and AWS CLI can therefor utilize this service to authenticate.
4
+
Limes is the Local Instance MEtadata Service and emulates parts of the [AWS Instance Metadata Service](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html) running on Amazon Linux. The AWS SDK and AWS CLI can therefor utilize this service to authenticate.
5
5
6
6
## Warning
7
7
The AWS SDK refreshes credentials automatically when using limes. So **all** services will change profile if the profile is changed in limes.
@@ -30,6 +30,31 @@ sudo ip link set dev lo:metadata up
There is currently a bug in the completer for the AWS CLI that makes it misbehave when used with `_command_offset`. This can be solved by adding a secondary completion entry for the AWS CLI. To make this persistent add it to your bash configuration.
47
+
48
+
**Linux**
49
+
```
50
+
complete -C '/usr/local/bin/aws_completer' limes run aws
51
+
```
52
+
53
+
**Mac (Brew)**
54
+
```
55
+
complete -C "$(brew --prefix)/bin/aws_completer" limes run aws
56
+
```
57
+
33
58
## Configuring IAM (Identity and Access Management)
34
59
To be done
35
60
@@ -50,26 +75,33 @@ Running `limes` in your terminal prints usage information.
50
75
The service is started with `limes start`.
51
76
52
77
#### Assuming Profiles
53
-
A profile is assumed with `limes profile <profile-name>`, where profile-name is
54
-
a configured profile. Please note that this does not refer to AWS profiles but
55
-
profiles configured in limes.
78
+
A profile is assumed with `limes assume <profile-name>`, where profile-name is a configured profile. Please note that this does not refer to AWS profiles but profiles configured in limes.
79
+
80
+
#### Running Applications with Alternate Profile
81
+
If you have assumed a role on limes you might want to run an application once with an alternate profile. This is possible without assuming the profile with the `run` subcommand.
82
+
83
+
```
84
+
limes --profile <name> run <application> [args...]
85
+
```
86
+
87
+
**Tip**
88
+
With `limes --profile <name> run bash` it is possible to quickly start a shell with exported environment variables that is valid for an hour.
89
+
90
+
#### Protected Profiles
91
+
By adding `protected: true` to your profile it will not be possible to assume that role. It will only be possible to utilize the subcommands `run` and `env`.
56
92
57
93
#### Service Status
58
-
By running `limes status` it is possible to see the current status, and also it can detect common problems and misconfigurations.
94
+
By running `limes status` it is possible to see the current status, and also it can detect common problems and misconfiguration.
59
95
60
96
## Known Problems
61
-
If AWS environment variables, `.aws/credentials` or `.aws/config` are present there is a chance that the limes does not work. This can be checked with `limes status`
97
+
If AWS environment variables, `.aws/credentials` or `.aws/config` are present there is a chance that the limes does not work. This can be checked with `limes status`.
62
98
63
99
## Security
64
100
The service should be configured on the loop back device, and only accessible from the host it is running on.
65
101
66
102
**Note:** It is important not to run any service that could forwards request on the host running Limes as this would be a security risk. However, this is no difference from the setup on an Amazon Linux instance in AWS. If an attacker could forward requests to 169.254.169.254/24 your credentials could be compromised. Please note that an attacker could utilize a DNS to resolve to this address, so always be aware where you forward requests to.
67
103
68
104
## Roadmap
69
-
* Add support for running commands
70
-
* Add support for providing MFA with client to enable to start as a service
71
-
* Add support for temporary move/remove AWS configuration files
0 commit comments