### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Currently whilst tags can be set on an security group they do not seem to actually set, nor be shown in the visible:

```console
$ awslocal ec2 describe-security-group-rules --region eu-west-1 
{
    "SecurityGroupRules": [
  ...
        {
            "SecurityGroupRuleId": "sgr-a61b55ecc57fc7326",
            "GroupId": "sg-8142c14106428334a",
            "GroupOwnerId": "000000000000",
            "IsEgress": false,
            "IpProtocol": "tcp",
            "FromPort": 80,
            "ToPort": 80,
            "CidrIpv4": "0.0.0.0/0"
        }
    ]
}
```

I'm hoping this is the cause of  terraform always attempting to add rules every time it runs, but I thought that about #8528


### Expected Behavior

```console
$ aws ec2 describe-security-group-rules --region eu-west-1
{
    "SecurityGroups": [
...
        {
            "SecurityGroupRuleId": "sgr-092116e510c39844a",
            "GroupId": "sg-0316c5c1e70a68903",
            "GroupOwnerId": "586083211487",
            "IsEgress": false,
            "IpProtocol": "tcp",
            "FromPort": 80,
            "ToPort": 80,
            "CidrIpv4": "0.0.0.0/0",
            "Tags": [
                {
                    "Key": "test",
                    "Value": "test"
                }
            ]
        }
    ]
}
```

### How are you starting LocalStack?

With the `localstack` script

### Steps To Reproduce

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

    localstack run

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

##### AWS

Note there is a default group and rule in localstack so we can just jump straight to checking that:

```
awslocal ec2 describe-security-group-rules
```

##### Terraform

I found this bug whilst investigating terraform continually applying rules, I believe it may be the cause (but I previously believed #8528 was):

```terraform
provider "aws" {
  region = "eu-west-1"
}

resource "aws_vpc" "example" {
  cidr_block = "10.0.0.0/16"
}

resource "aws_security_group" "example" {
  name = "example"
  vpc_id = resource.aws_vpc.example.id
}

resource "aws_vpc_security_group_ingress_rule" "http" {
  security_group_id = aws_security_group.example.id
  cidr_ipv4         = "0.0.0.0/0"
  from_port         = 80
  ip_protocol       = "tcp"
  to_port           = 80
  tags              = {
    "test" = "test"
  }
}
```

```
tflocal apply
tflocal apply # Should not change anything but currently does
```

### Environment

```markdown
- OS: 20.04.6
- LocalStack version: 2.1.1.dev
- LocalStack Docker container id: e79ee64af0e2
- LocalStack build date: 2023-07-06
- LocalStack build git hash: 3908ec6b
```


### Anything else?

_No response_
"""
This module has utilities relating to creating/parsing AWS requests.
"""
import logging
import re
import threading
from typing import Dict, Optional
from urllib.parse import urlparse
from flask import request
from requests.models import Request
from requests.structures import CaseInsensitiveDict
from localstack.aws.accounts import get_account_id_from_access_key_id
from localstack.constants import (
    APPLICATION_AMZ_JSON_1_0,
    APPLICATION_AMZ_JSON_1_1,
    APPLICATION_X_WWW_FORM_URLENCODED,
    AWS_REGION_US_EAST_1,
    DEFAULT_AWS_ACCOUNT_ID,
)
from localstack.utils.aws.aws_responses import (
    requests_error_response,
    requests_to_flask_response,
)
from localstack.utils.aws.aws_stack import extract_access_key_id_from_auth_header
from localstack.utils.coverage_docs import get_coverage_link_for_service
from localstack.utils.patch import patch