IAM roles are an integral part of AWS. In the very simplest terms, roles can be assumed to supply a specific set of permissions to someone/something for a temporary amount of time (the default being 1 hour). This someone or something could be a person, an application, an AWS service, another AWS account, or really anything that programmatically accesses AWS.
Backdooring role trust relationships
IAM role trust policies
An IAM role has a document associated with it that is known as its trust policy. The trust policy is a JSON policy document (for example IAM policies such as ReadOnlyAccess or AdministratorAccess) that specifies who/what can assume that role and under what conditions that is allowed or denied. A common trust...