Skip to content

Commit 62f9312

Browse files
committed
Add support for AWS IMDSv2 in Availability Zone resolver
This is an advised security improvement for AWS instances. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html
1 parent 82b8cc7 commit 62f9312

File tree

1 file changed

+8
-0
lines changed
  • lib/facter/resolvers

1 file changed

+8
-0
lines changed

lib/facter/resolvers/az.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,21 @@ def read_facts(fact_name)
2626

2727
def get_data_from(url)
2828
headers = { Metadata: 'true' }
29+
headers['X-aws-ec2-metadata-token'] = v2_token if v2_token
2930
Facter::Util::Resolvers::Http.get_request(url, headers, { session: determine_session_timeout })
3031
end
3132

3233
def determine_session_timeout
3334
session_env = ENV['AZ_SESSION_TIMEOUT']
3435
session_env ? session_env.to_i : AZ_SESSION_TIMEOUT
3536
end
37+
38+
def v2_token
39+
@v2_token ||= begin
40+
token = Facter::Util::Resolvers::AwsToken.get
41+
token == '' ? nil : token
42+
end
43+
end
3644
end
3745
end
3846
end

0 commit comments

Comments
 (0)