### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

When I try creating a new SNS topic subscription, where the filter policy scope is being set to MessageBody, resp. when I try specifying the FilterPolicyScope:

`aws --endpoint-url "http://localhost:4566" sns subscribe \
    --topic-arn arn:aws:sns:eu-central-1:000000000000:order-commands \
    --protocol sqs \
    --notification-endpoint arn:aws:sqs:eu-central-1:000000000000:order-commands-add-product \
    --attributes '{"RawMessageDelivery":"true","FilterPolicyScope":"MessageBody","FilterPolicy":"{\"messageType\":[\"add-product\"]}"}'`

The following error is being returned:

`An error occurred (InvalidParameter) when calling the Subscribe operation: AttributeName`

And the localstack logs show:

`2022-12-29T04:01:26.567  INFO --- [   asgi_gw_1] localstack.request.aws     : AWS sns.Subscribe => 400 (InvalidParameter)`

If I try without the mentioned parameter, the subscription is being created successfully - but in this case, the filter does not apply when sending messages to the topic, as expected because the filter then only looks for message attributes:

`2022-12-29T04:08:00.375  INFO --- [   asgi_gw_3] localstack.request.aws     : AWS sns.Publish => 200
2022-12-29T04:08:00.377  INFO --- [ncthread1819] l.services.sns.provider    : SNS filter policy {'messageType': ['add-product']} does not match attributes {}
`

### Expected Behavior

Although I have not tried right now against the real AWS API, I can see in the AWS documentation, it is supported resp. one of the newer features they added.

Having double checked my local dependency versions, I would also expect that the latest version of localstack, supports message body based filter policy as well 😄 

### 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-compose -f ${COMPOSE_FILE_INFRA} up -d

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

Using terraform locally, just for reference:

    resource "aws_sns_topic" "order-commands" {
        name = "order-commands"
    }

    resource "aws_sqs_queue" "order-commands-add-product" {
        name = "order-commands-add-product"
    }

    resource "aws_sns_topic_subscription" "order-commands-subscription1" {
        topic_arn = aws_sns_topic.order-commands.arn
        protocol  = "sqs"
        endpoint  = aws_sqs_queue.order-commands-add-product.arn
        raw_message_delivery = true
        filter_policy = jsonencode(
           {
              "messageType" = [
                  "add-product"
              ]
           }
        )
        filter_policy_scope = "MessageBody"
    }

### Environment

```markdown
- OS: MacOS Monterey (M1 Pro)
- LocalStack: 1.3.1
```


### Anything else?

_No response_
import json
import logging
import queue
import random
import time
from io import BytesIO
from operator import itemgetter
import pytest
import requests
import xmltodict
from botocore.exceptions import ClientError
from pytest_httpserver import HTTPServer
from werkzeug import Response
from localstack import config
from localstack.aws.accounts import get_aws_account_id
from localstack.aws.api.lambda_ import Runtime