### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

```
An error occurred (500) when calling the CreateGrant operation (reached max retries: 4): <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
```

### Expected Behavior

_No response_

### 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`)

    helm install localstack/localstack

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

    aws kms create-grant --key-id=738f46cb-444b-4fc5-9c6f-8c1165279dbb --grantee-principal=arn:aws:iam::000000000000:role/test --operations=Encrypt


### Environment

```markdown
- OS: 
- LocalStack: 0.12.17
```


### Anything else?

_No response_
def _cleanup_stacks(stacks: List[str]) -> None:
        for stack in stacks:
            try:
                cfn_client.delete_stack(StackName=stack)
            except Exception:
                LOG.debug(f"Failed to cleanup stack '{stack}'")
    return _cleanup_stacks
@pytest.fixture
def cleanup_changesets(cfn_client):
    def _cleanup_changesets(changesets: List[str]) -> None:
        for cs in changesets:
            try:
                cfn_client.delete_change_set(ChangeSetName=cs)
            except Exception:
                LOG.debug(f"Failed to cleanup changeset '{cs}'")
    return _cleanup_changesets
@pytest.fixture
def is_change_set_created_and_available(cfn_client):
    def _is_change_set_created_and_available(change_set_id: str):
        def _inner():
            change_set = cfn_client.describe_change_set(ChangeSetName=change_set_id)
            return (
                
                change_set.get("Status") == "CREATE_COMPLETE"
                and change_set.get("ExecutionStatus") == "AVAILABLE"
            )
        return _inner
    return _is_change_set_created_and_available
@pytest.fixture
def is_stack_created(cfn_client):