Using Roles for a Service
So as we mentioned before, Role is important part of IAM since it supports security of service indirectly. Let's imagine the scenario we want EC2 instance to access our S3 bucket (object storage) and receive some files from it. Since we have to do it programmatically, need to use cli for that. But cli is not enough, we need some kind of credentials to authenticate ourselves into the service. We can use access credentials and Roles for that.
Let's list S3 buckets using the command below, but it will display and error. It couldn't find the credentials that will help it to authenticate.
Search IAM and navigate to the users page.
Click to the "create access key" button.
Choose "Command line interface" option.
Copy the credentials and paste into the cli.
Use aws-cli utility tool to add credentials.
And then you will be able to list all the available buckets.
The issue with this approach is that it is not recommended and secure way to store access credentials like that. Because if attacker has access to our instance this mean it will able to use this credential for further exploitation.
Let me show you better approach. Let's create a role first.
Since we will use this role for EC2 service. We must choose AWS service option and EC2 service.
Don't forget to add permission to this role too, otherwise you will face with the error message.
Let's attach this role to our EC2 instance.
Select the role we want to attach.
That is it, we now successfully attached our role to this instance.
Comments
Post a Comment