AWS IAM role has a trust relationship with a wildcard principal

Description

This rule ensures that none of your IAM roles have a trust policy which includes a wildcard as a Principal. It is possible to specify a wildcard principal which permits any principal, including those outside your AWS organization, the ability to assume the role. It is strongly discouraged to use the wildcard principal in a trust policy unless there is a Condition element to restrict access.

Rationale

When a role has a trust relationship with a wildcard Principal, this means that any AWS account (including those outside your AWS organization) can assume that role. Roles with this level of access may be targeted by an adversary to compromise the entire AWS account.

Remediation

Datadog recommends reducing the permissions attached to an IAM role to the minimum necessary for it to fulfill its function. You can use AWS Access Advisor to identify effective permissions used by your instances, and use AWS IAM Access Analyzer to generate an IAM policy based on past CloudTrail events.

Any role with a trust relationship involving a wildcard should be audited to ensure their validity and compliance with any security requirements set in place by your organization. In addition, the use of a Condition element is strongly encouraged.