Skip to content

Instantly share code, notes, and snippets.

@naavveenn
Last active June 22, 2018 03:21
Show Gist options
  • Save naavveenn/2df522b131aabcb6272ba264f64090e0 to your computer and use it in GitHub Desktop.
Save naavveenn/2df522b131aabcb6272ba264f64090e0 to your computer and use it in GitHub Desktop.
---
- hosts: local
connection: local
vars_files:
- /root/creds.yml #contains access_keys and secret keys for my msp account
tasks:
- name: Get STS credentials
sts_assume_role:
role_arn: "arn:aws:iam::xxxxxxxxxxx:role/MSPCrossAccount" #Cross-account role_arn
profile: test #profile name that's mentioned in .aws/config file
region: ap-south-1
role_session_name: ansible_test # you can specify any name in this field
register: assumed_role
- debug:
msg: "{{ assumed_role }}"
- name: get instance info
ec2_instance_facts:
aws_access_key: "{{ assumed_role.sts_creds.access_key }}"
aws_secret_key: "{{ assumed_role.sts_creds.secret_key }}"
security_token: "{{ assumed_role.sts_creds.session_token }}"
filters:
"tag:Environment": prod
register: out
- debug:
msg: "{{ out }}"
@naavveenn
Copy link
Author

naavveenn commented Jun 22, 2018

Make sure you have valid entries in .aws/config file. Below is the example
[profile test]
role_arn = arn:aws:iam::xxxxxxxxxxxxx:role/MSPCrossAccount
source_profile = msp # this points to your access keys and secret keys in .aws/credential file
region = ap-south-1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment