Tool: remove_acl_entry
Removes an ACL entry from an existing Google Cloud Managed service for Apache Kafka ACL. If the removed entry was the last one in the ACL, the ACL will be deleted. Please provide the Project ID, Location, Cluster ID, and ACL ID.
A RemoveAclEntryRequest is used to remove an ACL entry.
acl(required): The name of the ACL to remove the ACL entry from. Structured likeprojects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id}. The structure ofacl_iddefines the Resource Pattern (resource_type, resource_name, pattern_type) of the ACL.acl_idis structured like one of the following:- For ACLs on the cluster:
cluster - For ACLs on a single resource within the cluster:
topic/{resource_name},consumerGroup/{resource_name}, ortransactionalId/{resource_name} - For ACLs on all resources that match a prefix:
topicPrefixed/{resource_name},consumerGroupPrefixed/{resource_name}, ortransactionalIdPrefixed/{resource_name} - For ACLs on all resources of a given type (i.e. the wildcard literal "*"):
allTopics(representstopic/*),allConsumerGroups(representsconsumerGroup/*), orallTransactionalIds(representstransactionalId/*)
- For ACLs on the cluster:
acl_entry(required): The ACL entry to remove. Each ACL entry contains the following fields:principal(required): The principal. Specified as Google Cloud account, with the Kafka StandardAuthorizer prefix "User:". For example:"User:test-kafka-client@test-project.iam.gserviceaccount.com". Can be the wildcard "User:*" to refer to all users.permission_type(required): The permission type. Accepted values are (case insensitive): ALLOW, DENY.operation(required): The operation type. Allowed values are (case insensitive): ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE.host(required): The host. Must be set to "*" for Managed Service for Apache Kafka.
Important Notes:
- The AI agent should use the
get_acltool to retrieve the details of theacl_entryto be removed, so that the required fields (principal,permission_type,operation, andhost) can be filled in theRemoveAclEntryRequest.
The following sample demonstrate how to use curl to invoke the remove_acl_entry MCP tool.
| Curl Request |
|---|
curl --location 'https://managedkafka.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "remove_acl_entry", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request for RemoveAclEntry.
RemoveAclEntryRequest
| JSON representation |
|---|
{
"acl": string,
"aclEntry": {
object ( |
| Fields | |
|---|---|
acl |
Required. The name of the acl to remove the acl entry from. Structured like: The structure of |
aclEntry |
Required. The acl entry to remove. |
AclEntry
| JSON representation |
|---|
{ "principal": string, "permissionType": string, "operation": string, "host": string } |
| Fields | |
|---|---|
principal |
Required. The principal. Specified as Google Cloud account, with the Kafka StandardAuthorizer prefix "User:". For example: "User:test-kafka-client@test-project.iam.gserviceaccount.com". Can be the wildcard "User:*" to refer to all users. |
permissionType |
Required. The permission type. Accepted values are (case insensitive): ALLOW, DENY. |
operation |
Required. The operation type. Allowed values are (case insensitive): ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See https://kafka.apache.org/documentation/#operations_resources_and_protocols for valid combinations of resource_type and operation for different Kafka API requests. |
host |
Required. The host. Must be set to "*" for Managed Service for Apache Kafka. |
Output Schema
Response for RemoveAclEntry.
RemoveAclEntryResponse
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field result. The result of removing the acl entry, depending on whether the acl was deleted as a result of removing the acl entry. result can be only one of the following: |
|
acl |
The updated acl. Returned if the removed acl entry was not the last entry in the acl. |
aclDeleted |
Returned with value true if the removed acl entry was the last entry in the acl, resulting in acl deletion. |
Acl
| JSON representation |
|---|
{
"name": string,
"aclEntries": [
{
object ( |
| Fields | |
|---|---|
name |
Identifier. The name for the acl. Represents a single Resource Pattern. Structured like: projects/{project}/locations/{location}/clusters/{cluster}/acls/{acl_id} The structure of For acls on the cluster: For acls on a single resource within the cluster: For acls on all resources that match a prefix: For acls on all resources of a given type (i.e. the wildcard literal "*"): |
aclEntries[] |
Required. The ACL entries that apply to the resource pattern. The maximum number of allowed entries 100. |
etag |
Optional. A terminal 'T' character in the etag indicates that the AclEntries were truncated; more entries for the Acl exist on the Kafka Cluster, but can't be returned in the Acl due to repeated field limits. |
resourceType |
Output only. The ACL resource type derived from the name. One of: CLUSTER, TOPIC, GROUP, TRANSACTIONAL_ID. |
resourceName |
Output only. The ACL resource name derived from the name. For cluster resource_type, this is always "kafka-cluster". Can be the wildcard literal "*". |
patternType |
Output only. The ACL pattern type derived from the name. One of: LITERAL, PREFIXED. |
AclEntry
| JSON representation |
|---|
{ "principal": string, "permissionType": string, "operation": string, "host": string } |
| Fields | |
|---|---|
principal |
Required. The principal. Specified as Google Cloud account, with the Kafka StandardAuthorizer prefix "User:". For example: "User:test-kafka-client@test-project.iam.gserviceaccount.com". Can be the wildcard "User:*" to refer to all users. |
permissionType |
Required. The permission type. Accepted values are (case insensitive): ALLOW, DENY. |
operation |
Required. The operation type. Allowed values are (case insensitive): ALL, READ, WRITE, CREATE, DELETE, ALTER, DESCRIBE, CLUSTER_ACTION, DESCRIBE_CONFIGS, ALTER_CONFIGS, and IDEMPOTENT_WRITE. See https://kafka.apache.org/documentation/#operations_resources_and_protocols for valid combinations of resource_type and operation for different Kafka API requests. |
host |
Required. The host. Must be set to "*" for Managed Service for Apache Kafka. |
Tool Annotations
Destructive Hint: ✅ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ❌