This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern
Before you enable this package
Replace both reserved hosts: confluent-cloud.invalid with api.confluent.cloud for management calls, and confluent-cluster.invalid with the cluster’s own Kafka REST host for topic calls. Update endpoints, resource locators and egress allowlists together. Use a Cloud API key for management and a cluster-specific key for topic operations. Bind ENV_ID, CLUSTER_ID, TOPIC_NAME and KEY_ID. For cluster PATCH, put the environment identity in the required spec.environment body field; GET and DELETE use the environment query parameter.
Read each action's effects and exclusions below. Before installation, also read the complete package requirements, including credential issuance, scope, expiry, and provider permissions. These are deployment prerequisites, not capabilities this package supplies.
Capabilities (8)
Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/confluent.json and embeds a copy in the release binary.
Risk tiers. R0 is the minimum for reads. R2 is the minimum for write, create, update, execute, and invoke. R3 is the minimum for delete, send, pay, deploy, approve, share, and transfer. Operators can raise these levels. A minimum tier does not measure the operation's business or confidentiality risk.
On supported execution paths routed through AAES Govern, the R3 actions listed below require approval by an authorized person. Bypass paths and observation-only registrations are outside that guarantee. A provider's restoration feature does not remove this approval requirement. A provider-side approval, such as approving a GitLab merge request, is also separate from AAES Govern human approval. The capability matrix shows which execution paths are implemented, restricted to lab use, or refused at startup. Live compatibility must be tested in your environment.
Field guide. Endpoint is the service address and request method. Connector is the adapter that makes the call. Custody describes how the credential is held; the credential reference identifies the value to resolve. Data class sets handling requirements: pii means personal data, financial means financial records, and internal means internal organizational data.
confluent.environments.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://confluent-cloud.invalid/org/v2/environments- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Read environments.
List the environments in the Confluent Cloud organization: names and ids, which reveal org structure.
The registered path covers the collection read only — single-environment reads are not registered.
The host is a reserved placeholder: substitute the real Confluent Cloud management API host before enabling.
confluent.kafka_clusters.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://confluent-cloud.invalid/cmk/v2/clusters?environment=ENV_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Read Kafka clusters.
List the Kafka clusters in one environment: names, types, cloud providers, regions and provisioning status.
The registered path covers the collection read only. ENV_ID is a placeholder the deployment binds to a concrete environment before enabling.
confluent.topics.read v1.0.0R0
- Kind
- tool
- Action
- read
- Endpoint
GET https://confluent-cluster.invalid/kafka/v3/clusters/CLUSTER_ID/topics- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-kafka-api-key- Data class
- internal
Read topics.
List the topics on one Kafka cluster: names, partition counts and configurations — metadata only, never message content. This endpoint is on the cluster's own Kafka REST host, not the management API host, and requires a resource-specific API key scoped to this cluster (see the credential note); the deployment substitutes the real per-cluster host and may override secret_ref_id per capability.
The registered path covers the collection read only. CLUSTER_ID is a placeholder the deployment binds before enabling.
confluent.kafka_cluster.create v1.0.0R3
- Kind
- tool
- Actions
- create, deploy
- Endpoint
POST https://confluent-cloud.invalid/cmk/v2/clusters- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Create Kafka cluster.
Create one Kafka cluster.
The request body is an unrestricted cluster spec — display name, cloud provider, region, availability and cluster type (Basic, Standard, Enterprise, Dedicated with CKU capacity) are all settable — so the registered capability carries the full create effect, including ongoing billed capacity; cost review belongs to the deployment's budget controls, not to this file. Provisioning is declarative and asynchronous (the API records intent and Confluent provisions to match).
Creating a cluster provisions live, billable infrastructure, so the capability declares create and deploy at the minimum R3 tier — deploy is one of the designated actions requiring human approval — and an installer's intention to request only a Basic cluster is not a restriction the registration can enforce.
On supported execution paths mediated by AAES Govern, the declared irreversible actions require an authorized person’s approval. Observation-only and bypass calls cannot be stopped by this control.
confluent.kafka_cluster.update v1.0.0R3
- Kind
- tool
- Actions
- update, deploy
- Endpoint
PATCH https://confluent-cloud.invalid/cmk/v2/clusters/CLUSTER_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Update Kafka cluster.
Update a Kafka cluster’s specification, including its display name or Dedicated-cluster CKU capacity. Resizing changes live, billed infrastructure. Confluent records the desired state and applies it asynchronously.
Request limits: the body is unrestricted within the update schema. The published OpenAPI specification, retrieved 2026-09-21, requires spec.environment in the body. PATCH takes no query parameters; GET and DELETE instead require an environment query parameter. Put the bound environment ID in spec.environment, not in a query string.
Classification: update and deploy, minimum R3, because the operation can reconfigure live capacity. Bind ENV_ID and CLUSTER_ID before enabling.
On supported execution paths mediated by AAES Govern, the declared irreversible actions require an authorized person’s approval. Observation-only and bypass calls cannot be stopped by this control.
confluent.kafka_cluster.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://confluent-cloud.invalid/cmk/v2/clusters/CLUSTER_ID?environment=ENV_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Delete Kafka cluster.
Delete a Kafka cluster. Deleting a cluster destroys every topic on it along with all message data, and re-creating a cluster later is a new cluster, not an undo of this call. Delete is one of the designated actions requiring human approval and registers at the minimum R3 tier.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. ENV_ID and CLUSTER_ID are placeholders the deployment binds before enabling.
confluent.topic.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://confluent-cluster.invalid/kafka/v3/clusters/CLUSTER_ID/topics/TOPIC_NAME- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-kafka-api-key- Data class
- internal
Delete topic.
Delete a topic. Deleting a topic destroys its messages and the producers' and consumers' target; a topic re-created under the same name is empty, not restored. Delete is one of the designated actions requiring human approval and registers at the minimum R3 tier.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. This endpoint is on the cluster's own Kafka REST host and requires a resource-specific API key scoped to this cluster (see the credential note). CLUSTER_ID and TOPIC_NAME are placeholders the deployment binds before enabling.
confluent.api_key.delete v1.0.0R3
- Kind
- tool
- Action
- delete
- Endpoint
DELETE https://confluent-cloud.invalid/iam/v2/api-keys/KEY_ID- Connector
- http
- Custody
- customer_vault
- Credential ref
secret-ref-confluent-cloud-api-key- Data class
- internal
Delete API key.
Delete (revoke) an API key. Deleting a key permanently invalidates it for every integration using it — Confluent documents no undelete, and re-issuing produces a new key, not the old one — so this is the revocation path, not an undoable disable. Delete is one of the designated actions requiring human approval and registers at the minimum R3 tier.
On supported execution paths mediated by AAES Govern, irreversible actions require approval by an authorized person; this does not prevent calls through bypass or observation-only paths. Note the blast radius: a deployment must never bind this capability to the very key this pack's other capabilities authenticate with without a replacement already in place. API key creation is deliberately not registered by this pack; see the pack notes. KEY_ID is a placeholder the deployment binds before enabling.
Credential reference
The credential field names a reference rather than containing credential material. Packs are designed not to contain secrets; the format checks cover only known credential formats and cannot prove that arbitrary text contains no secrets. Installing a package registers its capabilities. Configure the provider credentials, endpoints, and network access, then test the integration in your environment before enabling it.
- Reference
secret-ref-confluent-cloud-api-key- Custody
- customer_vault
- Injection
- header (Authorization)
Configure the value and injection format specified in the package. Assign responsibility for credential rotation and revocation, restrict provider permissions, and keep credential material out of logs and responses.
Complete credential requirements
A Confluent Cloud API key held in the client's own secret manager. Authentication is HTTP Basic over the key pair: the stored material must be the complete Authorization header value — the scheme 'Basic', one separating space, then the Base64 encoding of 'API_KEY_ID:API_SECRET' — and the injector injects the stored value verbatim. Keys are issued in the Confluent Cloud Console or CLI, and each key is owned by a principal (user account or service account) whose permissions the key inherits; permissions live on the principal, not on the key.
Key permissions: a Cloud API key scoped for cloud resource management covers the org/v2, cmk/v2 and iam/v2 management endpoints, while the kafka/v3 topic operations on a cluster's own endpoint require a resource-specific API key scoped to that Kafka cluster — store the key matching each capability's surface (per-capability secret_ref_id overrides exist for this), and do not pretend one reference covers both. This pack names that second reference 'secret-ref-confluent-kafka-api-key': its stored material has the identical wire format — 'Basic', one space, then Base64 of 'API_KEY_ID:API_SECRET' — but the underlying key is a resource-specific API key created for one Kafka cluster (the fetched api-keys page documents that Kafka-cluster-scoped keys specify the Environment and the cluster at creation), and its lifecycle matches the Cloud key's: no documented expiry, valid until deleted in the Console/CLI or until its owning principal is deleted, rotation by issue-replace-delete.
Least privilege: Confluent strongly recommends service accounts over user accounts for production; use a dedicated service account per integration with only the roles or ACLs these capabilities need, and note that key permissions track the principal's roles as they change.
Expiry and revocation: the reviewed documentation describes no key expiry — a key remains valid until it is deleted in the Console/CLI or until its owning principal is deleted (which automatically deletes all its keys); disabling the ability to create new keys does not invalidate already-issued keys, so revocation means deleting each issued key, and rotation means issuing a replacement, updating this reference, then deleting the old key.
Rotation ownership sits with an external deployment process; the executor performs no key lifecycle itself.
Executor hygiene: the value must live only in executor memory for the lifetime of a call, must never be written to logs, traces or diagnostics, and must not appear in crash dumps; a deployment that cannot meet that bar must not enable the pack.
Resources
confluent-environment(api, internal):https://confluent-cloud.invalid/org/v2/environments/ENV_IDconfluent-kafka-cluster(api, internal):https://confluent-cluster.invalid/kafka/v3/clusters/CLUSTER_ID
Technical package and review record
Complete provider requirements and exclusions
Two endpoint hosts appear in this pack, and both are reserved non-production placeholders (RFC 2606 reserved TLD): 'confluent-cloud.invalid' stands in for the Confluent Cloud management API host (the documented host is api.confluent.cloud, serving the org/v2, cmk/v2 and iam/v2 API groups), and 'confluent-cluster.invalid' stands in for a Kafka cluster's own per-cluster Kafka REST endpoint host (documented shape: a pkc-... host specific to each cluster), which serves the kafka/v3 topic operations.
Substitute both before enabling — in every endpoint, in both resource locators and in every egress allowlist entry; the allowlist matches exactly, and substitution is a required deployment step. ENV_ID, CLUSTER_ID, TOPIC_NAME and KEY_ID are placeholders the deployment binds to concrete resources before enabling. Key scopes: management API calls take a Cloud API key scoped for cloud resource management, while the topic operations on a cluster's own endpoint take a resource-specific API key scoped to that Kafka cluster — the deployment must store the key whose scope matches the capability (per-capability secret_ref overrides exist for exactly this), or operate two references; one key does not honestly cover both surfaces.
Excluded operations: API key creation (POST /iam/v2/api-keys — minting new credentials stays with the Console or CLI under direct human control; this pack registers only revocation), user and service-account management and invitations, RBAC role bindings and ACL management (granting access to principals is access-sharing and deserves its own review), connector management (connectors move data between systems — send/share semantics needing their own review), Schema Registry writes (subject deletion and compatibility changes), ksqlDB and Flink statement execution, produce/consume data-plane operations (Kafka REST produce is message sending), cluster networking (PrivateLink, peering, transit gateway) and Marketplace/billing operations.
The Confluent API reference's per-endpoint pages are client-side rendered; the routes registered here follow the documented API-group shapes (org/v2, cmk/v2, iam/v2, kafka/v3) and were verified on 2026-09-21 against the retrieved Confluent OpenAPI specification (see the review record), not only the overview and authentication pages. Verified cluster contract: GET and DELETE require the environment query parameter. PATCH takes no query parameters and requires spec.environment in the request body, as established by the retrieved OpenAPI specification; see the update capability.
Download the complete package JSON for exact network allowlists, credential requirements, exclusions, and setup notes. Read these requirements before installation.
The full documentation review record is supplied in the evaluation package. The evaluation package runs in your environment and comes only with the paid design partnership. This page reproduces the source links and review block; the full record is available for evaluation. Discuss a design partnership to inspect it before installation.
Review block
This section reproduces the review block recorded in the pack file. The evidence and approval record is separate: for a reviewed pack, it is in the evaluation materials and in the release binary's embedded assets.
Review completed: 2026-09-22
4 sources, retrieved 2026-09-21
- https://docs.confluent.io/cloud/current/api.html (retrieved 2026-09-21)
- https://docs.confluent.io/cloud/current/access-management/authenticate/api-keys/api-keys.html (retrieved 2026-09-21)
- https://docs.confluent.io/cloud/current/openapi.yaml (retrieved 2026-09-21)
- https://docs.confluent.io/cloud/current/kafka-rest/krest-qs.html (retrieved 2026-09-21)
Current documentation links are navigation aids. They do not change the package, its historical sources or its review date. Review dates describe a documentation review, not a live integration test. No package is provider-endorsed or yet tested against a live provider tenant.
Release identity
SHA-256 of the pack file bytes: f69a25c7ce2e8d15ed05bbdf3dad7d048f5d7b574bbd5d22a4a819a6a701b301
Distributable: yes, digest matches the release manifest. Editing a package changes its release identity. A deployment plan checks its own file digests; it does not restore reviewed status or authenticate approval.