### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When attempting to list roles where permission boundaries are attached the response cannot be serialized 

`aws --endpoint-url=http://localhost:4566 iam list-roles --region ap-southeast-2`
```
An error occurred (InternalError) when calling the ListRoles operation (reached max retries: 2): exception while calling iam.ListRoles: Invalid type when serializing AttachedPermissionsBoundary: '<Element 'member' at 0xffff8275ef20>' cannot be parsed to structure.
```

### Expected Behavior

Expect that all roles are listed

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

* Create an IAM policy
* Create an IAM role which used the policy as a permission boundary
* Attempt to list all roles with `aws --endpoint-url=http://localhost:4566 iam list-roles --region ap-southeast-2`


### Environment

```markdown
- OS: MacOS
- LocalStack: latest
```


### Anything else?

_No response_
policy_name = "policy-{}".format(short_uid())
        policy_document = {
            "Version": "2012-10-17",
            "Statement": [
                {
                    "Action": ["s3:GetObjectVersion", "s3:ListBucket"],
                    "Effect": "Allow",
                    "Resource": ["arn:aws:s3:::bucket_name"],
                }
            ],
        }
        policy_arn = aws_client.iam.create_policy(
            PolicyName=policy_name, Path="/", PolicyDocument=json.dumps(policy_document)
        )["Policy"]["Arn"]
        rs = aws_client.iam.simulate_principal_policy(
            PolicySourceArn=policy_arn,
            ActionNames=["s3:PutObject", "s3:GetObjectVersion"],
            ResourceArns=["arn:aws:s3:::bucket_name"],
        )
        assert rs["ResponseMetadata"]["HTTPStatusCode"] == 200
        evaluation_results = rs["EvaluationResults"]
        assert len(evaluation_results) == 2
        actions = {evaluation["EvalActionName"]: evaluation for evaluation in evaluation_results}
        assert "s3:PutObject" in actions
        assert actions["s3:PutObject"]["EvalDecision"] == "explicitDeny"
        assert "s3:GetObjectVersion" in actions
        assert actions["s3:GetObjectVersion"]["EvalDecision"] == "allowed"
    def test_create_role_with_assume_role_policy(self, aws_client):