guardicore / guardicore/monkey
Not able to retrieve metadata from AWS EC2 instance
- Dominant language
- Python
- Stars
- 7.1k
- Forks
- 830
- PR merge metrics
- No merged PRs in 30d
Description
## Describe the bug
When running an Monkey Island on AWS EC2 instance we are not able to retrieve the metadata. In order to read the AWS Instance metadata we need to send a token along with the request to receive the metadata. The related code is in `aws_metadata.py`
More info: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-retrieval.html
## To Reproduce
Steps to reproduce the behavior:
1. Create AWS EC2 instance
2. Run the Monkey Island on the instance
3. See that the Run on AWS button is not showing
4. Check the logs and see the following log:
```
2024-08-06 09:31:52,356 - DEBUG - connectionpool.py:473 - _make_request() - [http://ip:80](http://ip/) "GET /latest/meta-data/instance-id HTTP/1.1" 401 343
2024-08-06 09:31:52,358 - DEBUG - aws_metadata.py:31 - fetch_aws_instance_metadata() - Failed init of AWSInstance while getting metadata: 401 Client Error: Unauthorized for url: http://ip/latest/meta-data/instance-id
```
## Expected behavior
Add a function to retrieve the token before requesting the aws metadata
Contributor guide
Assessment
This issue has not been assessed yet.