### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

This worked using version 0.12.13. No configuration changes were made other than bumping the image version to 0.12.16, and the same tag key/value pairs are present from .13 to .16. The error is related to the value `test@company.com` for tagging. Full output:

```# aws_kinesis_stream.stream will be created
  + resource "aws_kinesis_stream" "stream" {
      + arn                       = (known after apply)
      + encryption_type           = "NONE"
      + enforce_consumer_deletion = false
      + id                        = (known after apply)
      + kms_key_id                = "alias/aws/kinesis"
      + name                      = "ci0-p631641-kinesis-kinesis-test"
      + retention_period          = 48
      + shard_count               = 2
      + tags                      = {
          + "chart_name"       = "kinesis"
          + "deployment_model" = "mcs2"
          + "env_name"         = "ci0-p631641"
          + "owner"            = "test@company.com"
         ...
         ...
        }
      + tags_all                  = {
          + "chart_name"       = "kinesis"
          + "deployment_model" = "mcs2"
          + "env_name"         = "ci0-p631641"
          + "owner"            = "test@company.com"
          ...
          ...
        }
    }
Plan: 4 to add, 0 to change, 0 to destroy.
Changes to Outputs:
  + arn                  = (known after apply)
  + consumer_policy_arn  = (known after apply)
  + id                   = (known after apply)
  + name                 = "ci0-p631641-kinesis-kinesis-test"
  + producer_policy_arn  = (known after apply)
  + shard_count          = 2
  + shard_mgt_policy_arn = (known after apply)
# terraform apply -lock=false plan.out 
aws_kinesis_stream.stream: Creating...
aws_kinesis_stream.stream: Still creating... [10s elapsed]
Error: error updating Kinesis Stream (ci0-p631641-kinesis-kinesis-test) tags: error tagging resource (ci0-p631641-kinesis-kinesis-test): InvalidArgumentException: Values contain invalid characters. Invalid values: test@company.com
  on kinesis.tf line 3, in resource "aws_kinesis_stream" "stream":
   3: resource "aws_kinesis_stream" "stream" {
```



### Expected Behavior

The kinesis stream resource is able to be tagged using the same tagging key/value pairs that were valid in 0.12.13, and are valid in AWS. 

### How are you starting LocalStack?

Custom (please describe below)

### Steps To Reproduce

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

    As a kubernetes deployment


### Environment

```markdown
- Kubernetes 1.18
- LocalStack: 0.12.16
```


### Anything else?

_No response_
component = component if verbatim else "local %s server" % component
    LOG.info("Downloading and installing %s. This may take some time." % component)
def download_and_extract(archive_url, target_dir, retries=0, sleep=3, tmp_archive=None):
    mkdir(target_dir)
    tmp_archive = tmp_archive or new_tmp_file()
    if not os.path.exists(tmp_archive):
        
        save_file(tmp_archive, "")
        for i in range(retries + 1):
            try:
                download(archive_url, tmp_archive)
                break
            except Exception:
                time.sleep(sleep)
    _, ext = os.path.splitext(tmp_archive)
    if ext == ".zip":
        unzip(tmp_archive, target_dir)
    elif ext == ".gz" or ext == ".bz2":
        untar(tmp_archive, target_dir)
    else:
        raise Exception("Unsupported archive format: %s" % ext)
def download_and_extract_with_retry(archive_url, tmp_archive, target_dir):