### 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_
test_policy_document = {
            "Version": "2012-10-17",
            "Statement": {
                "Effect": "Allow",
                "Action": "s3:ListBucket",
                "Resource": "arn:aws:s3:::example_bucket",
            },
        }
        test_user_name = "test-user"
        aws_client.iam.create_user(UserName=test_user_name)
        response = aws_client.iam.create_policy(
            PolicyName="test-policy", PolicyDocument=json.dumps(test_policy_document)
        )
        test_policy_arn = response["Policy"]["Arn"]
        assert get_aws_account_id() in test_policy_arn
        aws_client.iam.attach_user_policy(UserName=test_user_name, PolicyArn=test_policy_arn)
        attached_user_policies = aws_client.iam.list_attached_user_policies(UserName=test_user_name)
        assert len(attached_user_policies["AttachedPolicies"]) == 1
        assert attached_user_policies["AttachedPolicies"][0]["PolicyArn"] == test_policy_arn
        
        aws_client.iam.detach_user_policy(UserName=test_user_name, PolicyArn=test_policy_arn)
        aws_client.iam.delete_policy(PolicyArn=test_policy_arn)
        aws_client.iam.delete_user(UserName=test_user_name)
        with pytest.raises(ClientError) as ctx:
            aws_client.iam.get_user(UserName=test_user_name)
        assert ctx.typename == "NoSuchEntityException"
        assert ctx.value.response["Error"]["Code"] == "NoSuchEntity"
    def test_delete_non_existent_policy_returns_no_such_entity(self, aws_client):