How can Shoryuken Process read aws credentials from IAM profile

Viewed 10

We have a shoryuken worker process setup in rails application (ruby 2.6.6, rails > 5). this is the shoryuken.yml.erb file

:aws:
  :access_key_id: ?
  :secret_access_key: ?
  :region: <%= Settings.aws.region %>
:concurrency: 10
:daemon: false
:pidfile: tmp/shoryuken.pid
:logfile: log/shoryuken.log.<%= Time.now.strftime('%Y%m%d') %>
:queues:
  - [<%= Settings.aws.sqs.use_case_1_queue_name %>, 2]
  - [<%= Settings.aws.sqs.use_case_2_queue_name %>, 1]
development:
  :verbose: true

And we start the worker using shoryuken -R -C ./shoryuken.yml Please note the -R option since we would want it to run rails initializers in order to access Settings constant in the above shoryuken.yml.erb

It all looked good but then we figured out that the AWS credentials are not being stored in application setting , but in IAM role. So how will I pass the aws-sdk credential (stored using IAM) to shoryuken process.

If there are no solution, then I will need to finally store aws credentials in application setting which might be a security issue according to infra team.

Thank you for this wonderful library . Awaiting a response on this issue

0 Answers
Related