Skip to content

Commit 33d31d9

Browse files
eedugonkilfoyle
andauthored
Remote clusters: generic changes in snippets and intros (#3835)
This PR introduces some improvements that I'd like to merge before the major updates to ECK docs around remote clusters. Main changes: - Terminology snippet added in the main ECE --> xx and ECH --> xx remote clusters docs. - Improved the API Key and TLS certificates introduction and link to the new document about Security models created recently. - Removed the big text that we had in the steps for API key, as that's now better covered in the intro and in the referenced doc. --------- Co-authored-by: David Kilfoyle <[email protected]>
1 parent 4e85176 commit 33d31d9

12 files changed

+33
-14
lines changed

deploy-manage/remote-clusters.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,8 @@ Remote clusters are especially useful in two cases:
2020
- **Cross-cluster search**
2121
[Cross-cluster search](/solutions/search/cross-cluster-search.md), or CCS, enables you to run a search request against one or more remote clusters. This capability provides each region with a global view of all clusters, allowing you to send a search request from a local cluster and return results from all connected remote clusters. For full {{ccs}} capabilities, the local and remote cluster must be on the same [subscription level](https://www.elastic.co/subscriptions).
2222

23-
::::{note} about terminology
24-
In the case of remote clusters, the {{es}} cluster or deployment initiating the connection and requests is often referred to as the **local cluster**, while the {{es}} cluster or deployment receiving the requests is referred to as the **remote cluster**.
25-
::::
23+
:::{include} ./remote-clusters/_snippets/terminology.md
24+
:::
2625

2726
## Security models and connection modes
2827

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
Before you start, consider the security model that you would prefer to use for authenticating remote connections between clusters, and follow the corresponding steps.
1+
Before you start, consider the [security model](/deploy-manage/remote-clusters/security-models.md) that you would prefer to use for authenticating remote connections between clusters, and follow the corresponding steps.
22

33
API key
4-
: For deployments based on {{stack}} 8.14 or later, you can use an API key to authenticate and authorize cross-cluster operations to a remote cluster. This model offers administrators of both the local and the remote deployment fine-grained access controls.
4+
: For deployments based on {{stack}} 8.14 or later, you can use an API key to authenticate and authorize cross-cluster operations to a remote cluster. This model uses a dedicated service endpoint, on port `9443` by default, and gives administrators fine-grained control over remote access. The API key is created on the remote cluster and defines the permissions available to all cross-cluster requests, while local user roles can further restrict, but not extend, those permissions.
55

66
TLS certificate (deprecated in {{stack}} 9.0.0)
7-
: This model uses mutual TLS authentication for cross-cluster operations. User authentication is performed on the local cluster and a user's role names are passed to the remote cluster. A superuser on the local deployment gains total read access to the remote deployment, so it is only suitable for deployments that are in the same security domain.
7+
: This model uses mutual TLS authentication over the {{es}} transport interface for cross-cluster operations. User authentication is performed on the local cluster and a user's role names are passed to the remote cluster for authorization. Because a superuser on the local cluster automatically gains full read access to the remote cluster, this model is only suitable for clusters within the same security domain.
Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1 @@
1-
API key authentication enables a local cluster to authenticate itself with a remote cluster via a [cross-cluster API key](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key). The API key needs to be created by an administrator of the remote cluster. The local cluster is configured to provide this API key on each request to the remote cluster. The remote cluster verifies the API key and grants access, based on the API key’s privileges.
2-
3-
All cross-cluster requests from the local cluster are bound by the API key’s privileges, regardless of local users associated with the requests. For example, if the API key only allows read access to `my-index` on the remote cluster, even a superuser from the local cluster is limited by this constraint. This mechanism enables the remote cluster’s administrator to have full control over who can access what data with cross-cluster search and/or cross-cluster replication. The remote cluster’s administrator can be confident that no access is possible beyond what is explicitly assigned to the API key.
4-
5-
On the local cluster side, not every local user needs to access every piece of data allowed by the API key. An administrator of the local cluster can further configure additional permission constraints on local users so each user only gets access to the necessary remote data. Note it is only possible to further reduce the permissions allowed by the API key for individual local users. It is impossible to increase the permissions to go beyond what is allowed by the API key.
6-
7-
If you run into any issues, refer to [Troubleshooting](/troubleshoot/elasticsearch/remote-clusters.md).
1+
Follow these steps to configure the [API key security model](/deploy-manage/remote-clusters/security-models.md#api-key) for remote clusters. If you run into any issues, refer to [Troubleshooting](/troubleshoot/elasticsearch/remote-clusters.md).
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
::::{admonition} Note about terminology
2+
In the case of remote clusters, the {{es}} cluster or deployment initiating the connection and requests is often referred to as the **local cluster**, while the {{es}} cluster or deployment receiving the requests is referred to as the **remote cluster**.
3+
::::

deploy-manage/remote-clusters/ec-remote-cluster-ece.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ sub:
1616

1717
This section explains how to configure a deployment to connect remotely to clusters belonging to an {{ECE}} (ECE) environment.
1818

19+
:::{include} _snippets/terminology.md
20+
:::
21+
1922
::::{note}
2023
If network security filters are applied to the remote cluster on ECE, the remote cluster administrator must configure an [IP filter](/deploy-manage/security/ip-filtering-ece.md) to allow traffic from [{{ecloud}} IP addresses](/deploy-manage/security/elastic-cloud-static-ips.md#ec-egress). For more information, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).
2124
::::

deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ sub:
1515

1616
This section explains how to configure a deployment to connect remotely to clusters belonging to a different {{ecloud}} organization.
1717

18+
:::{include} _snippets/terminology.md
19+
:::
20+
1821
::::{note}
1922
If network security policies are applied to the remote cluster, the remote cluster administrator must configure a [private connection policy of type remote cluster](/deploy-manage/security/remote-cluster-filtering.md), using either the organization ID or the Elasticsearch cluster ID of the local cluster as the filtering criteria. For more information, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).
2023
::::

deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ sub:
1515

1616
This section explains how to configure a deployment to connect remotely to clusters belonging to the same {{ecloud}} organization.
1717

18+
:::{include} _snippets/terminology.md
19+
:::
20+
1821
::::{note}
1922
If network security policies are applied to the remote cluster, the remote cluster administrator must configure a [private connection policy of type remote cluster](/deploy-manage/security/remote-cluster-filtering.md), using either the organization ID or the Elasticsearch cluster ID of the local cluster as the filtering criteria. For more information, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).
2023
::::

deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,9 @@ products:
1414

1515
This section explains how to configure a deployment to connect remotely to self-managed clusters.
1616

17+
:::{include} _snippets/terminology.md
18+
:::
19+
1720
## Allow the remote connection [ec_allow_the_remote_connection_4]
1821

1922
:::{include} _snippets/allow-connection-intro.md
@@ -43,7 +46,7 @@ This section explains how to configure a deployment to connect remotely to self-
4346
:::{include} _snippets/apikeys-local-config-intro.md
4447
:::
4548

46-
The steps to follow depend on whether the Certificate Authority (CA) of the remote environment’s {{es}} HTTPS server, proxy or, load balancing infrastructure is public or private.
49+
The steps to follow depend on whether the Certificate Authority (CA) of the remote environment’s {{es}} remote cluster server, proxy, or load balancing infrastructure is public or private.
4750

4851
::::{dropdown} The CA is public
4952

deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ sub:
1616

1717
This section explains how to configure an {{ece}} (ECE) deployment to connect remotely to clusters belonging to an {{ecloud}} organization.
1818

19+
:::{include} _snippets/terminology.md
20+
:::
21+
1922
::::{note}
2023
If network security filters are applied to the remote cluster on {{ecloud}}, the remote cluster administrator must configure an [IP filter](/deploy-manage/security/ip-filtering-cloud.md) to allow connections from the IP addresses (or CIDR ranges) of the local ECE allocator hosts. For more information, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).
2124
::::

deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ sub:
1515

1616
This section explains how to configure a deployment to connect remotely to clusters belonging to a different {{ece}} environment.
1717

18+
:::{include} _snippets/terminology.md
19+
:::
20+
1821
::::{note}
1922
If network security filters are applied to the remote cluster on ECE, the remote cluster administrator must configure an [IP filter](/deploy-manage/security/ip-filtering-ece.md) to allow connections from the IP addresses (or CIDR ranges) of the local ECE allocator hosts. For more information, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).
2023
::::

0 commit comments

Comments
 (0)