<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_required_iam_policy(self):
 """ Return an IAM policy granting all of the permissions needed for awslimitchecker to fully function. This returns a dict suitable for json serialization to a valid IAM policy. Internally, this calls :py:meth:`~._AwsService.required_iam_permissions` on each :py:class:`~._AwsService` instance. :returns: dict representation of IAM Policy :rtype: dict """

        required_actions = [
            'support:*',
            'trustedadvisor:Describe*',
            'trustedadvisor:RefreshCheck'
        ]
        for cls in self.services.values():
            required_actions.extend(cls.required_iam_permissions())
        policy = {
            'Version': '2012-10-17',
            'Statement': [{
                'Effect': 'Allow',
                'Resource': '*',
                'Action': sorted(list(set(required_actions))),
            }],
        }
        return policy