-
Notifications
You must be signed in to change notification settings - Fork 26
feat: OpenSearch limits, limitations, and differences from the upstream #1210
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
wojcik-dorota
merged 15 commits into
main
from
MA-3643-add-differences-about-aiven-for-os-and-upstream-os-to-documentation
Jan 12, 2026
Merged
Changes from 10 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
c7f35fa
os limitations
wojcik-dorota 33d6434
os limitations
wojcik-dorota 538d355
fix
wojcik-dorota 923fe25
fix
wojcik-dorota 169df61
copilot feedback
wojcik-dorota 29aab17
feedback
wojcik-dorota e6bbd81
fix
wojcik-dorota bdb9cc2
fix
wojcik-dorota 406b8d3
AA comments
wojcik-dorota d348ba2
marko's feedback
wojcik-dorota eb58f26
fix
wojcik-dorota fb3c2f6
fix
wojcik-dorota 2b2f20e
fix
wojcik-dorota 95695bc
fix
wojcik-dorota b57cc68
fix
wojcik-dorota File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
258 changes: 258 additions & 0 deletions
258
docs/products/opensearch/reference/opensearch-limitations.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,258 @@ | ||
| --- | ||
| title: Aiven for OpenSearch® limits and limitations | ||
| sidebar_label: Limits and limitations | ||
| --- | ||
|
|
||
| import RelatedPages from "@site/src/components/RelatedPages"; | ||
|
|
||
| Aiven for OpenSearch® has configuration, API, and feature restrictions that differ from upstream OpenSearch to maintain service stability and security. | ||
|
|
||
| ## Configuration restrictions | ||
|
|
||
| You cannot directly modify OpenSearch configuration files or settings in Aiven for | ||
| OpenSearch. These restrictions apply: | ||
|
|
||
| | Restriction | Description | | ||
| |-------------|-------------| | ||
| | **No shell access** | You cannot access or modify YAML configuration files | | ||
| | **JVM tuning** | You cannot modify JVM options directly | | ||
| | **Advanced configuration** | Only supported options are available through **Advanced configuration** in the Aiven Console | | ||
| | **Configuration files** | You cannot access or modify static configuration files | | ||
|
|
||
| To request support for additional configuration options, | ||
| [contact Aiven support](http://support.aiven.io/). | ||
|
|
||
| ## Connection requirements | ||
|
|
||
| All connections to Aiven for OpenSearch must meet these requirements: | ||
|
|
||
| | Requirement | Details | | ||
| |-------------|---------| | ||
| | **Protocol** | HTTPS only | | ||
| | **Authentication** | User authentication always required | | ||
| | **Authorization** | Managed using Aiven ACLs or OpenSearch Security | ||
| (when security management is enabled) | | ||
|
|
||
| ## API restrictions | ||
|
|
||
| Aiven restricts access to certain OpenSearch APIs to maintain service stability and | ||
| security. Attempting to access blocked endpoints returns a | ||
| `403 Forbidden - Request forbidden by administrative rules` error. | ||
|
|
||
| | API endpoint | Allowed methods | Restrictions | | ||
| |--------------|-----------------|--------------| | ||
| | `/_cluster/*` | `GET` only | Limited to specific read-only endpoints; all other `/_cluster/` endpoints are blocked | | ||
| | `/_tasks` | `GET` only | View tasks only; you cannot cancel tasks using `/_tasks/_cancel` | | ||
| | `/_nodes` | `GET` only | Read-only access to node information | | ||
| | `/_snapshot` | None | Automated by Aiven; no direct access | | ||
| | `/_cat/repositories` | None | No access allowed | | ||
|
|
||
| ### Allowed cluster endpoints | ||
|
|
||
| You can access these read-only cluster endpoints: | ||
|
|
||
| - `/_cluster/allocation/explain/` | ||
| - `/_cluster/health/` | ||
| - `/_cluster/pending_tasks/` | ||
| - `/_cluster/stats/` | ||
| - `/_cluster/state/` | ||
| - `/_cluster/settings/` | ||
|
|
||
| ## Snapshot management | ||
|
|
||
| | Feature | Behavior | | ||
| |---------|----------| | ||
| | **Automated snapshots** | Daily or hourly snapshots managed automatically by Aiven | | ||
| | **API access** | You cannot access the snapshot API directly without configuring custom repositories | | ||
| | **OpenSearch API** | <ul><li>[Restore from snapshot](/docs/products/opensearch/howto/manage-snapshots#restore-from-snapshots) has [security-related restrictions](https://docs.opensearch.org/latest/tuning-your-cluster/availability-and-recovery/snapshots/snapshot-restore/#security-considerations).</li><li>[Create a snapshot](/docs/products/opensearch/howto/manage-snapshots#create-a-snapshot) and [delete a snapshot](/docs/products/opensearch/howto/manage-snapshots#delete-a-snapshot) are not supported for snapshots in Aiven-managed repositories (prefixed with `aiven_repo`).</li></ul> | | ||
| | **Dashboard limitations** | Dashboard suggestions for snapshot management that require configuration file changes cannot be completed | | ||
|
|
||
| See | ||
| [snapshot management limitations](/docs/products/opensearch/howto/manage-snapshots#limitations) | ||
| for details. | ||
|
|
||
| ## Plugin restrictions | ||
|
|
||
| You can only use pre-approved plugins with Aiven for OpenSearch. | ||
|
|
||
| | Aspect | Details | | ||
| |--------|---------| | ||
| | **Supported plugins** | Only a defined set of plugins is available | | ||
| | **Custom plugins** | You cannot install custom plugins | | ||
| | **Plugin list** | See [available plugins](/docs/products/opensearch/reference/plugins) | | ||
|
|
||
| To request support for additional plugins, [contact Aiven support](http://support.aiven.io/). | ||
|
|
||
| ## Access control models | ||
|
|
||
| Aiven for OpenSearch supports two access control models with different limitations: | ||
|
|
||
| - [Security management disabled (default)](/docs/products/opensearch/reference/opensearch-limitations#security-management-disabled) | ||
| - [Security management enabled](/docs/products/opensearch/reference/opensearch-limitations#security-management-enabled) | ||
|
|
||
| :::note | ||
| To turn on security management, see | ||
| [Enable security management](/docs/products/opensearch/howto/enable-opensearch-security). | ||
| ::: | ||
|
|
||
| ### Security management disabled | ||
|
|
||
| | Feature | Behavior | | ||
| |---------|----------| | ||
| | **User management** | You manage users through Aiven API, CLI, Console, or Terraform | | ||
| | **Access control** | You configure access using Aiven ACLs | | ||
| | **Permission scope** | Index-level access only | | ||
| | **User equality** | All service users have equal privileges within their ACL permissions | | ||
| | **Dashboard tenancy** | Private dashboards per user plus global dashboards | | ||
| | **Password changes** | Password changes you make in the dashboard are overwritten during | ||
| service configuration updates, which occur daily | | ||
|
|
||
| ### Security management enabled | ||
wojcik-dorota marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| | Feature | Behavior | | ||
| |---------|----------| | ||
| | **User management** | You manage users directly in OpenSearch using OpenSearch Security | ||
| API or dashboard | | ||
| | **Access control** | You configure access using OpenSearch Security roles and permissions | | ||
| | **Permission scope** | Document-level access control available | | ||
| | **Dashboard tenancy** | Full multi-tenancy support | | ||
| | **External authentication** | SAML and OpenID Connect supported | | ||
| | **Aiven API support** | Limited; displays state at enablement time only | | ||
|
|
||
| :::warning | ||
| You cannot reverse security management after you enable it. Once enabled, you manage all | ||
| users and permissions directly in OpenSearch. | ||
| ::: | ||
|
|
||
| :::note | ||
| The security plugin is always present in Aiven for OpenSearch. Security management is an | ||
| additional feature you can enable to gain full control over security configurations. | ||
| ::: | ||
|
|
||
| ## ACL limitations | ||
|
|
||
| When [security management](/docs/products/opensearch/concepts/os-security) is disabled, | ||
| Aiven ACLs control access to your service. | ||
|
|
||
| | Limitation | Description | | ||
| |------------|-------------| | ||
| | **Index patterns only** | You can only define ACL rules using index patterns; rules for | ||
| top-level APIs like `_bulk` or `_search` are not enforced | | ||
| | **Index-level access** | You can control access to indices but not to OpenSearch Dashboards | | ||
| | **Predefined action groups** | ACL access levels are fixed; you cannot create custom | ||
| permission sets | | ||
|
|
||
| :::note | ||
| When you | ||
| [enable security management](/docs/products/opensearch/howto/enable-opensearch-security), | ||
| Aiven ACLs no longer apply. You manage all permissions using OpenSearch Security roles. | ||
| ::: | ||
|
|
||
| ### ACL access levels | ||
|
|
||
| Use these access levels when configuring ACLs: | ||
|
|
||
| | ACL level | Permissions granted | | ||
| |-----------|-------------------| | ||
| | `admin` | Full access to matching indices | | ||
| | `read` | Read-only access to matching indices | | ||
| | `write` | Write access to matching indices | | ||
| | `readwrite` | Read and write access to matching indices | | ||
|
|
||
| ## Reserved users | ||
|
|
||
| Aiven creates and manages these special users. You cannot delete or modify their | ||
| permissions. | ||
|
|
||
| | Username | Purpose | | ||
| |----------|---------| | ||
| | `avnadmin` | Default administrator user for your service | | ||
| | `metrics_user_datadog` | Metrics collection by Datadog integration | | ||
| | `osd_internal_user` | Internal OpenSearch Dashboards operations | | ||
| | `replication_user` | Cross-cluster replication | | ||
| | `os-sec-admin` | Security management access (created when you enable security management) | | ||
|
|
||
| ## Reserved roles | ||
|
|
||
| When [security management](/docs/products/opensearch/concepts/os-security) is disabled, | ||
| you cannot modify the reserved roles. When you | ||
wojcik-dorota marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| [enable security management](/docs/products/opensearch/howto/enable-opensearch-security), | ||
| you can modify the `provider_*` roles but not the `service_security_admin_access` role. | ||
|
|
||
| | Role name | Purpose | | ||
| |-----------|---------| | ||
| | `service_security_admin_access` | Grants access to security management API and dashboard | | ||
| | `provider_service_user` | Base permissions for all service users | | ||
| | `provider_index_all_access` | Full index access (when ACLs are disabled) | | ||
| | `provider_managed_user_role_<username>` | Individual user permissions (when ACLs are enabled) | | ||
|
|
||
| ## Known issues and limitations | ||
|
|
||
| ### Security dashboard | ||
|
|
||
| | Issue | Description | | ||
| |-------|-------------| | ||
| | **Get started section** | Most content is not applicable to Aiven for OpenSearch; only | ||
| multi-tenancy section applies | | ||
| | **Configuration file instructions** | Dashboard help text references configuration file | ||
| modifications that you cannot perform in managed services | | ||
| | **Password changes** | When security management is disabled, password changes made in | ||
| the dashboard reset during service configuration updates, which happen every 24 hours | | ||
|
|
||
| ### Security management | ||
|
|
||
| | Issue | Description | Solution | | ||
| |-------|-------------|----------| | ||
| | **REST API permissions** | You cannot create roles with REST API permissions | Map your | ||
| users to the `service_security_admin_access` role | | ||
| | **Self-lockout** | You can unmap yourself from security admin role | [Contact Aiven support](http://support.aiven.io/) to remap the `os-sec-admin` user | | ||
| | **os-sec-admin deletion** | You cannot delete the `os-sec-admin` user | User remains but | ||
| you can unmap it from admin role | | ||
|
|
||
| ### Permissions model | ||
|
|
||
| | Behavior | Description | | ||
| |----------|-------------| | ||
| | **Index creation** | Writing to non-existent index requires both write and create permissions | | ||
| | **Error messages** | Permission errors specify the missing permission in `error.root_cause` | | ||
|
|
||
| ## Differences from upstream OpenSearch | ||
|
|
||
| | Feature | Upstream OpenSearch | Aiven for OpenSearch | | ||
| |---------|---------------------|----------------------| | ||
| | **Configuration files** | Direct file access | You manage configuration using Advanced configuration options | | ||
| | **Snapshot management** | Full API access | Automated; you cannot access the API directly | | ||
| | **Security plugin** | Optional | Always enabled | | ||
| | **User management** | Direct configuration | You manage users using Aiven tools or | ||
| Security API (when security management is enabled) | | ||
| | **Cluster settings** | Full API access | Limited to approved settings using | ||
| [advanced configuration](/docs/products/opensearch/reference/advanced-params) | | ||
| | **Plugin installation** | Install any plugin | Only selected [plugins available](/docs/products/opensearch/reference/plugins) | | ||
| | **API access** | Full access to all APIs | Restricted access to certain management APIs | | ||
| | **JVM tuning** | Direct access to JVM options | Not available | | ||
|
|
||
| ## Elasticsearch compatibility | ||
|
|
||
| Aiven for OpenSearch diverged from Elasticsearch 7 and is not compatible with | ||
| Elasticsearch-specific features. | ||
|
|
||
| | Aspect | Details | | ||
| |--------|---------| | ||
| | **Client libraries** | You must use OpenSearch-compatible client libraries | | ||
| | **APIs** | Elasticsearch-specific APIs are not supported | | ||
| | **Migration** | Verify compatibility when migrating from Elasticsearch | | ||
|
|
||
| ## Service tiers and quotas | ||
|
|
||
| For information about service-specific limits based on your plan, see: | ||
|
|
||
| - [Quotas for Business and Premium plans](https://aiven.io/pricing?tab=plan-pricing&product=opensearch) | ||
| - [Plans comparison](https://aiven.io/pricing?tab=plan-comparison&product=opensearch) | ||
|
|
||
| <RelatedPages/> | ||
|
|
||
| - [OpenSearch security](/docs/products/opensearch/concepts/os-security) | ||
| - [Enable security management](/docs/products/opensearch/howto/enable-opensearch-security) | ||
| - [Access control](/docs/products/opensearch/concepts/access_control) | ||
| - [Manage access and access control lists](/docs/products/opensearch/howto/control_access_to_content) | ||
| - [Available plugins](/docs/products/opensearch/reference/plugins) | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.