aws-keychain-util 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/aws-keychain-util.gemspec +2 -2
- data/bin/aws-creds +7 -7
- data/lib/aws-keychain-util.rb +7 -8
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 27605c262ccf5d07a36f56918a04d4b9c3f012ad
|
4
|
+
data.tar.gz: 8790d93d8bc976e41cf132fb9724f88a38917181
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40cbeceef571c407749c645ee1fb72b748dddee8564a13c58406282da439dd6dbbcf6e5721ab705945ada9b0b59d9f2d5c1380fee7895955fb4b3a5db661cb51
|
7
|
+
data.tar.gz: 523a878f9f686ce5ef81e409957cfc778a40813584d0340f0ecfc12af07c26c20d540b0d0d5817b2e94ba813ffd09f51192a747da7a0413c7084044426a59d02
|
data/aws-keychain-util.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "aws-keychain-util"
|
7
|
-
gem.version = '0.0.
|
7
|
+
gem.version = '0.0.12'
|
8
8
|
gem.authors = ["Zach Wily"]
|
9
9
|
gem.email = ["zach@zwily.com"]
|
10
10
|
gem.description = %q{Helps manage a keychain of AWS credentials on OS X.}
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
16
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
17
|
gem.require_paths = ["lib"]
|
18
18
|
|
19
|
-
gem.add_dependency('ruby-keychain')
|
19
|
+
gem.add_dependency('ruby-keychain', '~> 0.2.0')
|
20
20
|
gem.add_dependency('highline')
|
21
21
|
gem.add_dependency('aws-sdk-v1')
|
22
22
|
end
|
data/bin/aws-creds
CHANGED
@@ -151,18 +151,18 @@ when 'mfa'
|
|
151
151
|
sts_item.delete
|
152
152
|
sts_token.delete if sts_token
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
item, token = get_item(item_name)
|
156
156
|
sts = AWS::STS.new(:access_key_id => item.attributes[:account], :secret_access_key => item.password)
|
157
157
|
begin
|
158
158
|
response = sts.new_session(:duration => (60 * 60 * 12), :serial_number => item.attributes[:comment], :token_code => code)
|
159
159
|
temp_item = keychain.generic_passwords.create(:label => "#{item_name} mfa",
|
160
|
-
:account => response.credentials[:access_key_id],
|
161
|
-
:password=> response.credentials[:secret_access_key],
|
160
|
+
:account => response.credentials[:access_key_id],
|
161
|
+
:password=> response.credentials[:secret_access_key],
|
162
162
|
:comment => response.expires_at.to_i.to_s)
|
163
163
|
temp_token = keychain.generic_passwords.create(:label => "#{item_name} token",
|
164
|
-
:account => "#{response.credentials[:access_key_id]}_token",
|
165
|
-
:password=> response.credentials[:session_token],
|
164
|
+
:account => "#{response.credentials[:access_key_id]}_token",
|
165
|
+
:password=> response.credentials[:session_token],
|
166
166
|
:comment => response.expires_at.to_i.to_s)
|
167
167
|
|
168
168
|
puts "MultiFactorAuthentication succeeded, expiration is #{response.expires_at}"
|
@@ -181,6 +181,7 @@ when 'env'
|
|
181
181
|
puts "export AWS_CREDS_NAME=\"#{item.attributes[:label]}\""
|
182
182
|
if token
|
183
183
|
puts "export AWS_SECURITY_TOKEN=\"#{token.password}\""
|
184
|
+
puts "export AWS_SESSION_TOKEN=\"#{token.password}\""
|
184
185
|
end
|
185
186
|
|
186
187
|
when 'shell'
|
@@ -197,7 +198,7 @@ when 'shell'
|
|
197
198
|
aws_env['AWS_SECRET_ACCESS_KEY'] = aws_env['AWS_SECRET_KEY'] = item.password
|
198
199
|
aws_env['AWS_CREDS_NAME'] = item.attributes[:label]
|
199
200
|
if token
|
200
|
-
aws_env['AWS_SECURITY_TOKEN'] = token.password
|
201
|
+
aws_env['AWS_SECURITY_TOKEN'] = aws_env['AWS_SESSION_TOKEN'] = token.password
|
201
202
|
end
|
202
203
|
|
203
204
|
if ARGV.empty?
|
@@ -215,4 +216,3 @@ else
|
|
215
216
|
puts "Usage: #{$0} <command> <arguments>"
|
216
217
|
puts " Commands: init, ls, add, cat, env, mfa, rm, shell"
|
217
218
|
end
|
218
|
-
|
data/lib/aws-keychain-util.rb
CHANGED
@@ -2,16 +2,15 @@ module AwsKeychainUtil
|
|
2
2
|
PREFS_FILE = File.expand_path "~/.aws-keychain-util"
|
3
3
|
|
4
4
|
def self.load_keychain
|
5
|
-
|
6
|
-
|
7
|
-
Keychain.open(prefs['aws_keychain_name'])
|
8
|
-
else
|
9
|
-
Keychain.default
|
10
|
-
end
|
11
|
-
keychain
|
5
|
+
name = prefs['aws_keychain_name']
|
6
|
+
name ? Keychain.open(name) : Keychain.default
|
12
7
|
end
|
13
8
|
|
14
9
|
def self.prefs
|
15
|
-
|
10
|
+
if File.exist? PREFS_FILE
|
11
|
+
JSON.parse(File.read(PREFS_FILE))
|
12
|
+
else
|
13
|
+
{}
|
14
|
+
end
|
16
15
|
end
|
17
16
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-keychain-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zach Wily
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-keychain
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 0.2.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 0.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: highline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|