Capability library / Application package

Elastic package v1.0.0

Elasticsearch (Elastic Cloud or self-managed): list indices, run read-only searches, index documents, create and delete indices, and delete documents by query.

Review state: Reviewed · Distributable: yes, digest matches the release manifest

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

The endpoint host 'elastic-cluster.invalid' is a reserved .invalid placeholder that fails closed until you substitute the real host in both the endpoint URLs and the egress allowlist.

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 (6)

Each capability below is one registered operation. The complete package JSON includes its exact network destination allowlist. The repository stores it at packs/elastic.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.

elastic.indices.read v1.0.0R0

Kind
tool
Action
read
Endpoint
GET https://elastic-cluster.invalid/_cat/indices
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
internal

Read indices.

List the cluster's indices: names, health, status, document counts and store sizes, which reveal internal data topology. Per the retrieved CAT indices reference the response enumerates indices — including the backing indices of data streams — and is not a data-stream collection listing; data-stream metadata reads are not registered.

The registered path covers the collection read only — per-index metadata reads (GET /INDEX, get mapping, get settings) are not registered by this pack.

The host is a reserved placeholder: substitute the customer's Elasticsearch endpoint before enabling.

elastic.search.query v1.0.0R0

Kind
tool
Action
read
Endpoint
POST https://elastic-cluster.invalid/INDEX/_search
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
pii

Search documents.

Run a read-only search against one index. The method is POST because the search API takes the query in the request body; the registered effect is a read — the search API performs no document or index mutation — and the read floor is R0.

The body is an unrestricted Elasticsearch Query DSL document (query, from, size, sort, aggregations, _source filtering and more according to the reviewed search API reference), so this registration does not narrow what the query reads beyond the INDEX path placeholder; document contents are arbitrary business data and may contain personal data, so the capability is classified as pii (personal data). INDEX is a placeholder the deployment binds before enabling; a match_all query returns whole documents, and expensive queries can load the cluster — the floor is a lower bound and policy may raise the tier.

The host is a reserved placeholder: substitute before enabling.

elastic.documents.index v1.0.0R2

Kind
tool
Actions
create, update
Endpoint
PUT https://elastic-cluster.invalid/INDEX/_doc/DOC_ID
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
pii

Index documents.

Index one document into one index. Registered as create and update at the minimum R2 tier because indexing with an existing document id overwrites the previous document — according to the reviewed privileges reference the index API allows overwriting, so this is not a create-only registration and the previous document content is not recoverable from Elasticsearch afterward (the write floor is a lower bound, not a reversibility claim).

The body is the caller-supplied document, which may contain personal data, hence the pii class. The _bulk API is deliberately not registered: its body mixes index, create, update and delete operations in one request and would defeat a single-action registration. INDEX and DOC_ID are placeholders the deployment binds before enabling.

elastic.index.create v1.0.0R2

Kind
tool
Action
create
Endpoint
PUT https://elastic-cluster.invalid/INDEX
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
internal

Create index.

Create one index with the caller-supplied settings, mappings and aliases in the request body; a created index can be deleted, so the capability registers as create at the minimum R2 tier. Per the retrieved privileges reference, a create-index request that adds aliases additionally requires the manage privilege on both the index and the alias names — this registration does not restrict the body, so what the API key's role descriptors permit decides whether a given request is authorized; the registration records the endpoint, not the cluster's authorization decision. INDEX is a placeholder the deployment binds before enabling.

elastic.index.delete v1.0.0R3

Kind
tool
Action
delete
Endpoint
DELETE https://elastic-cluster.invalid/INDEX
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
pii

Delete index.

Delete one index and all of its documents — the same arbitrary documents this pack classifies as pii on the document capabilities, hence the pii class here as well. Delete is one of the designated actions requiring human approval; absent a snapshot, the data is not recoverable, and this pack registers no snapshot capability. Per the retrieved delete-index API reference, wildcards and _all are refused unless the cluster sets action.destructive_requires_name to false — this pack registers concrete-index deletion only, and INDEX is a placeholder the deployment binds to a concrete index name 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.

elastic.documents.delete_by_query v1.0.0R3

Kind
tool
Action
delete
Endpoint
POST https://elastic-cluster.invalid/INDEX/_delete_by_query
Connector
http
Custody
customer_vault
Credential ref
secret-ref-elastic-api-key
Data class
pii

Delete documents matching a query.

Delete every document in one index matching the caller-supplied query body. Judged by effect: this is bulk deletion, not a query — a match_all body deletes every document in the target index — so it registers as delete at the minimum R3 tier, and delete is one of the designated actions requiring human approval; absent a snapshot the deleted documents are not recoverable.

The body is an unrestricted Query DSL query, so this registration does not narrow which documents match; that is why it cannot sit below the delete floor. INDEX is a placeholder the deployment binds 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.

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-elastic-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

An Elasticsearch API key for the customer's own deployment, held in the client's own secret manager. The stored material must be the complete Authorization header value: the scheme 'ApiKey', one separating space, then the Base64-encoded 'id:api_key' pair as returned at creation — 'ApiKey <base64>'.

Issuance is external: a user with the manage_api_key or manage_own_api_key cluster privilege (or an Elastic Cloud org admin through the Cloud console) creates the key via the create API key API or Kibana, and the Base64 value is shown once at creation, so capture it into the vault at that moment.

Credential type: this reference takes an ELASTICSEARCH API key created against the customer's deployment (or Elastic Cloud Serverless project); an Elastic Cloud ORGANIZATION-management API key, which manages Cloud resources through the Cloud API rather than cluster data, is a different credential and cannot serve these endpoints. Least privilege, per operation: the _cat/indices collection read additionally requires the index-level monitor privilege on the bound indices — according to the reviewed security-privileges reference, index-level monitor covers monitoring actions on those indices; the search read needs the read index privilege on the bound indices; document indexing needs the index privilege (create_doc is insufficient because the registered PUT can overwrite an existing document id, and write would also grant document deletion, which this pack does not register); index creation needs create_index; index deletion needs delete_index; and delete_by_query needs read on the target indexes in addition to the delete index privilege — grant only the privileges the enabled capabilities need, scoped to the concrete index names the deployment binds, plus view_index_metadata where metadata columns are required.

Expiry and revocation: an API key can be created with an expiration, after which it fails closed, but a key created without one does not expire on its own; revocation is explicit invalidation through the invalidate API key API or Kibana, and disabling issuance — for example removing the privilege that lets a role create keys, or turning off the API key service — does not invalidate keys already issued: each issued key must be invalidated individually.

Rotation and renewal therefore sit with an external deployment process: the executor injects the stored value verbatim and performs no key lifecycle of its own. Elasticsearch also accepts Basic auth with a native username and password; this pack registers the ApiKey header because API keys are scoped and individually revocable in a way a shared native password is not.

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

  • elastic-cluster (api, pii): https://elastic-cluster.invalid

Technical package and review record

Complete provider requirements and exclusions

The endpoint host 'elastic-cluster.invalid' is a reserved non-production placeholder (an RFC 2606 reserved TLD): substitute the customer's own Elasticsearch endpoint — the Elastic Cloud deployment's Elasticsearch URL, an Elastic Cloud Serverless project endpoint, or a self-managed cluster host — before enabling, in every endpoint, in the resource locator and in every egress allowlist entry. The allowlist matches exactly, so endpoints and allowlist must be substituted together, and substitution is a required deployment step — the reserved host being allowlisted does not make an unsubstituted pack safe to enable. INDEX and DOC_ID in the endpoint paths are placeholders the deployment binds to concrete index names and document ids before enabling.

The search capability is a POST because Elasticsearch's search API takes the query in the request body; the registered effect is a read-only search, but the body is an unrestricted Elasticsearch Query DSL document (query, from, size, sort, aggregations, _source filtering and more, according to the reviewed search API reference), so this registration does not restrict which indices' fields a query may read beyond the INDEX path placeholder, and a deployment that needs field- or document-level restriction must enforce it in the API key's role descriptors, not in this pack.

Approval classification: delete_by_query is registered as delete at the minimum R3 tier, not as a query, because its effect is document deletion — a match_all body deletes every document in the target index — and delete is one of the designated actions requiring human approval. Index deletion is registered as delete at the minimum R3 tier; according to the reviewed delete-index API reference, the index path parameter does not support wildcards or _all unless the cluster sets action.destructive_requires_name to false, and this pack registers concrete-index deletion only.

Document indexing (PUT /INDEX/_doc/DOC_ID) is registered as create and update at the minimum R2 tier: indexing with an existing id overwrites the previous document, and according to the reviewed privileges reference the index API allows overwriting, so this is not a create-only registration.

Excluded operations: the security APIs (users, roles, role mappings, API key creation/invalidation, service accounts), snapshot and restore, index lifecycle management, index settings and mapping updates, index templates, reindex (which copies data between indices, including cross-cluster), cluster settings updates and cluster reroute, ingest pipelines, machine learning APIs, watcher, _bulk (whose unrestricted body mixes index, create, update and delete operations in one request and would defeat any single-action registration), single-document get (GET /INDEX/_doc/DOC_ID), single-document delete (DELETE /INDEX/_doc/DOC_ID), and every other Elasticsearch API.

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

9 sources, 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: e9428fc34b418f6837e8874cea3cc66b57ecbaa72079acbb70407140f642f0cb

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.