Skip to content

Commit fc348a6

Browse files
eedugonalxchalkiasshainaraskas
authored
Introducing Remote cluster filters in the docs (#3034)
This PR attempts to introduce and document the Remote Cluster filters that are available in ECH and ECE. We had some small statements in certain remote clusters docs about needing this type of filter when network security was enabled in the remote cluster, but we didn't have the filter documented. Changes: - Remote cluster filter is presented as a type of Private Connection policy in ECH and a type of filter rule set in ECE. This is located in Security -> Network Security docs, as filters belong there. - "Remote clusters and network security" information rehomed to the landing page of Remote Clusters, as it was duplicate in Remote Clusters > ECH and Remote Clusters > ECE docs --> If we prefer the previous approach we can use snippets and remove the content from the landing page, but let's start focusing on reviewing the content itself. - The notes of different use cases docs (ECE --> ECH, ECH --> ECH, etc) have been updated to reflect the reality, and to address elastic/docs-content-internal#59. --------- Co-authored-by: Alex Chalkias <[email protected]> Co-authored-by: shainaraskas <[email protected]>
1 parent 50fac9a commit fc348a6

15 files changed

+335
-55
lines changed

deploy-manage/remote-clusters.md

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,52 @@ Depending on the environment the local and remote clusters are deployed on and t
3434

3535
Find the instructions with details on the supported security models and available connection modes for your specific scenario:
3636

37-
- [Remote clusters with {{ech}}](remote-clusters/ec-enable-ccs.md)
38-
- [Remote clusters with {{ece}}](remote-clusters/ece-enable-ccs.md)
39-
- [Remote clusters with {{eck}}](remote-clusters/eck-remote-clusters.md)
40-
- [Remote clusters with self-managed installations](remote-clusters/remote-clusters-self-managed.md)
37+
- [Remote clusters on {{ech}}](remote-clusters/ec-enable-ccs.md)
38+
- [Remote clusters on {{ece}}](remote-clusters/ece-enable-ccs.md)
39+
- [Remote clusters on {{eck}}](remote-clusters/eck-remote-clusters.md)
40+
- [Remote clusters on self-managed installations](remote-clusters/remote-clusters-self-managed.md)
41+
42+
## Remote clusters and network security [network-security]
43+
```{applies_to}
44+
deployment:
45+
ece: ga
46+
ess: ga
47+
```
48+
49+
In {{ech}} (ECH) and {{ece}} (ECE), the remote clusters functionality interacts with [network security](/deploy-manage/security/network-security.md) traffic filtering rules in different ways, depending on the [security model](/deploy-manage/remote-clusters/remote-clusters-self-managed.md#remote-clusters-security-models) you use.
50+
51+
* **TLS certificate–based authentication (deprecated):**
52+
For remote clusters configured using the TLS certificate–based security model, network security policies or rule sets have no effect on remote clusters functionality. Connections established with this method (mTLS) are already considered secure and are always accepted, regardless of any filtering policies or rule sets applied on the local or remote deployment to restrict other traffic.
53+
54+
* **API key–based authentication (recommended):**
55+
When remote clusters use the API key–based authentication model, network security policies or rule sets on the **destination (remote) deployment** do affect remote cluster functionality if enabled. In this case, you can use traffic filters to explicitly control which deployments are allowed to connect to the remote cluster service endpoint.
56+
57+
::::{note}
58+
Because of [how network security works](/deploy-manage/security/network-security.md#how-network-security-works):
59+
* If network security is disabled, all traffic is allowed by default, and remote clusters work without requiring any specific filtering policy.
60+
* If network security is enabled on the remote cluster, apply a [remote cluster filter](/deploy-manage/security/remote-cluster-filtering.md#create-remote-cluster-filter) to allow incoming connections from the local clusters. Without this filter, the connections are blocked.
61+
::::
62+
63+
This section explains how remote clusters interact with network security when using API key–based authentication, and describes the supported use cases.
64+
65+
### Filter types and supported use cases for remote cluster traffic [use-cases-network-security]
66+
67+
With API key–based authentication, remote clusters require the local cluster (A) to trust the transport SSL certificate presented by the remote cluster server (B). When network security is enabled on the destination cluster (B), it’s also necessary to explicitly allow the incoming traffic from cluster A. This can be achieved using different types of traffic filters:
68+
69+
* [Remote cluster filters](/deploy-manage/security/remote-cluster-filtering.md), available exclusively in ECH and ECE. They allow filtering by organization ID or {{es}} cluster ID and are the recommended option, as they combine mTLS with API key authentication for stronger security.
70+
71+
* [IP filters](/deploy-manage/security/ip-filtering.md), which allow traffic based on IP addresses or CIDR ranges.
72+
73+
The applicable filter type for the remote cluster depends on the local and remote deployment types:
74+
75+
| Remote cluster → <br>Local cluster ↓ | Elastic Cloud Hosted | Elastic Cloud Enterprise | Self-managed / Elastic Cloud on Kubernetes |
76+
|-------------------------|----------------------|--------------------------|--------------------------------------------|
77+
| **Elastic Cloud Hosted** | [Remote cluster filter](/deploy-manage/security/remote-cluster-filtering.md) | [IP filter](/deploy-manage/security/ip-filtering.md) | [IP filter](/deploy-manage/security/ip-filtering.md) or [Kubernetes network policy](/deploy-manage/security/k8s-network-policies.md) |
78+
| **Elastic Cloud Enterprise** | [IP filter](/deploy-manage/security/ip-filtering.md) | [Remote cluster filter](/deploy-manage/security/remote-cluster-filtering.md) / [IP filter](/deploy-manage/security/ip-filtering.md) (\*) | [IP filter](/deploy-manage/security/ip-filtering.md) or [Kubernetes network policy](/deploy-manage/security/k8s-network-policies.md) |
79+
| **Self-managed / Elastic Cloud on Kubernetes** | [IP filter](/deploy-manage/security/ip-filtering.md) | [IP filter](/deploy-manage/security/ip-filtering.md) | [IP filter](/deploy-manage/security/ip-filtering.md) or [Kubernetes network policy](/deploy-manage/security/k8s-network-policies.md) |
80+
81+
(*) For ECE, remote cluster filters apply when both clusters are in the **same environment**. Use IP filters when the clusters belong to **different environments**.
82+
83+
::::{note}
84+
When using self-managed security mechanisms (such as firewalls), keep in mind that remote clusters with API key–based authentication use port `9443` by default. Specify this port if a destination port is required.
85+
::::

deploy-manage/remote-clusters/ec-enable-ccs.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ You can configure an {{ech}} deployment to either connect to remote clusters or
1919
* A deployment in an {{eck}} installation
2020
* A self-managed installation.
2121

22+
::::{note}
23+
Refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security) for details on how remote clusters interact with network security policies and the implications for your deployments.
24+
::::
25+
2226

2327
## Prerequisites [ec-ccs-ccr-prerequisites]
2428

@@ -51,20 +55,6 @@ The steps, information, and authentication method required to configure CCS and
5155
* [From a self-managed cluster](remote-clusters-self-managed.md)
5256
* [From an ECK environment](ec-enable-ccs-for-eck.md)
5357

54-
5558
## Remote clusters and network security [ec-ccs-ccr-network-security]
5659

57-
::::{note}
58-
[Network security](../security/network-security.md) isn’t supported for cross-cluster operations initiated from an {{ece}} environment to a remote {{ech}} deployment.
59-
::::
60-
61-
You can use [network security policies](../security/network-security.md) to restrict access to deployments used as a local or remote cluster, without impacting cross-cluster search or cross-cluster replication.
62-
63-
Network security for remote clusters supports the following methods:
64-
65-
* [Filtering by IP addresses and Classless Inter-Domain Routing (CIDR) masks](../security/ip-filtering.md)
66-
* Filtering by Organization or {{es}} cluster ID with a **Remote cluster** private connection policy. You can configure this type of policy from the **Access and security** > **Network security** page of your organization or using the [{{ecloud}} RESTful API](https://www.elastic.co/docs/api/doc/cloud) and apply it from each deployment’s **Security** page.
67-
68-
::::{note}
69-
When setting up network security policies for a remote connection to an {{ece}} environment, you also need to upload the region’s TLS certificate of the local cluster to the {{ece}} environment’s proxy. You can find that region’s TLS certificate in the **Security** page of any deployment of the environment initiating the remote connection. This is regardless of whether you are using API key or TLS Certificates (deprecated) to authenticate remote connections.
70-
::::
60+
If you have [network security policies](/deploy-manage/security/network-security-policies.md) applied to the remote cluster, you might need to take extra steps on the remote side to allow traffic from the local cluster. Some remote cluster configurations have limited compatibility with network security. To learn more, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).

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

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

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

17+
::::{note}
18+
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).
19+
::::
20+
1721
## Allow the remote connection [ec_allow_the_remote_connection_3]
1822

1923
Before you start, consider the security model that you would prefer to use for authenticating remote connections between clusters, and follow the corresponding steps.
@@ -143,7 +147,7 @@ A deployment can be configured to trust all or specific deployments in a remote
143147

144148
7. Provide a name for the trusted environment. That name will appear in the trust summary of your deployment’s **Security** page.
145149
8. Select **Create trust** to complete the configuration.
146-
9. Configure the corresponding deployments of the ECE environment to [trust this deployment](/deploy-manage/remote-clusters/ece-enable-ccs.md). You will only be able to connect two deployments successfully when both of them trust each other.
150+
9. Configure the corresponding deployments of the ECE environment to [trust this deployment](/deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md#ece-trust-ec). You will only be able to connect two deployments successfully when both of them trust each other.
147151

148152
::::{note}
149153
The environment ID and cluster IDs must be entered fully and correctly. For security reasons, verification of the IDs is not possible. If cross-environment trust does not appear to be working, double-checking the IDs is a good place to start.
@@ -212,6 +216,11 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API.
212216

213217
* **Server name**: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote.
214218

219+
:::{image} /deploy-manage/images/cloud-enterprise-ce-copy-remote-cluster-parameters.png
220+
:alt: Remote Cluster Parameters in Deployment
221+
:screenshot:
222+
:::
223+
215224
::::{note}
216225
If you’re having issues establishing the connection and the remote cluster is part of an {{ece}} environment with a private certificate, make sure that the proxy address and server name match with the the certificate information. For more information, refer to [Administering endpoints in {{ece}}](/deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md).
217226
::::

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ products:
1414
This section explains how to configure a deployment to connect remotely to clusters belonging to a different {{ecloud}} organization.
1515

1616
::::{note}
17-
If network security policies are applied to the remote cluster, the remote cluster administrator must configure a private connection policy of type remote cluster, using either the organization ID or the Elasticsearch cluster ID as the filtering criteria. For detailed instructions, refer to [Remote clusters and network security](/deploy-manage/remote-clusters/ec-enable-ccs.md#ec-ccs-ccr-network-security).
17+
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).
1818
::::
1919

2020
## Allow the remote connection [ec_allow_the_remote_connection_2]

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ products:
1414
This section explains how to configure a deployment to connect remotely to clusters belonging to the same {{ecloud}} organization.
1515

1616
::::{note}
17-
If network security is enabled on the remote cluster, the remote cluster administrator must configure a private connection policy of type **Remote cluster**, specifying either the organization ID or the Elasticsearch cluster ID. For detailed instructions, refer to [Remote clusters and network security](/deploy-manage/remote-clusters/ec-enable-ccs.md#ec-ccs-ccr-network-security).
17+
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).
1818
::::
1919

2020
## Allow the remote connection [ec_allow_the_remote_connection]

deploy-manage/remote-clusters/ece-enable-ccs.md

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ You can configure an {{ece}} deployment to either connect to remote clusters or
1919
* A deployment running on an {{eck}} installation
2020
* A self-managed installation
2121

22+
::::{note}
23+
Refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security) for details on how remote clusters interact with network security filters and the implications for your deployments.
24+
::::
2225

2326
## Prerequisites [ece-ccs-ccr-prerequisites]
2427

@@ -57,21 +60,6 @@ The steps, information, and authentication method required to configure CCS and
5760
* [From a self-managed cluster](/deploy-manage/remote-clusters/remote-clusters-self-managed.md)
5861
* [From an ECK environment](ece-enable-ccs-for-eck.md)
5962

60-
6163
## Remote clusters and network security [ece-ccs-ccr-network-security]
6264

63-
::::{note}
64-
Network security isn’t supported for cross-cluster operations initiated from an {{ece}} environment to a remote {{ech}} deployment.
65-
::::
66-
67-
68-
For remote clusters configured using TLS certificate authentication, [network security](../security/network-security.md) can be enabled to restrict access to deployments that are used as a local or remote cluster without any impact to cross-cluster search or cross-cluster replication.
69-
70-
Traffic filtering for remote clusters supports two methods:
71-
72-
* [Filtering by IP addresses and Classless Inter-Domain Routing (CIDR) masks](../security/ip-filtering-ece.md)
73-
* Filtering by Organization or {{es}} cluster ID with a Remote cluster type filter. You can configure this type of filter from the **Platform** > **Security** page of your environment or using the [{{ece}} API](https://www.elastic.co/docs/api/doc/cloud-enterprise) and apply it from each deployment’s **Security** page.
74-
75-
::::{note}
76-
When setting up traffic filters for a remote connection to an {{ece}} environment, you also need to upload the region’s TLS certificate of the local cluster to the {{ece}} environment’s proxy. You can find that region’s TLS certificate in the **Security** page of any deployment of the environment initiating the remote connection. This is regardless of whether you are using API key or TLS Certificates (deprecated) to authenticate remote connections. This applies regardless of whether you are using API key or TLS Certificates (deprecated) to authenticate remote connections.
77-
::::
65+
If you have [network security policies](/deploy-manage/security/network-security-policies.md) applied to the remote cluster, you might need to take extra steps on the remote side to allow traffic from the local cluster. Some remote cluster configurations have limited compatibility with network security. To learn more, refer to [Remote clusters and network security](/deploy-manage/remote-clusters.md#network-security).

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

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ products:
1212

1313
# Connect {{ece}} deployments to an {{ecloud}} organization [ece-remote-cluster-ece-ess]
1414

15-
This section explains how to configure a deployment to connect remotely to clusters belonging to an {{ecloud}} organization.
15+
This section explains how to configure an {{ece}} (ECE) deployment to connect remotely to clusters belonging to an {{ecloud}} organization.
16+
17+
::::{note}
18+
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).
19+
::::
1620

1721
## Allow the remote connection [ece_allow_the_remote_connection_3]
1822

@@ -147,22 +151,13 @@ On the local cluster, add the remote cluster using {{kib}} or the {{es}} API.
147151
* **Name**: This *cluster alias* is a unique identifier that represents the connection to the remote cluster and is used to distinguish local and remote indices.
148152

149153
When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI.
150-
* **Proxy address**: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote.<br>
154+
* **Proxy address**: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote.<br>
151155

152156
::::{tip}
153157
If you’re using API keys as security model, change the port into `9443`.
154158
::::
155159

156-
* **Server name**: This value can be found on the **Security** page of the {{ece}} deployment you want to use as a remote.
157-
158-
:::{image} /deploy-manage/images/cloud-enterprise-ce-copy-remote-cluster-parameters.png
159-
:alt: Remote Cluster Parameters in Deployment
160-
:screenshot:
161-
:::
162-
163-
::::{note}
164-
If you’re having issues establishing the connection and the remote cluster is part of an {{ece}} environment with a private certificate, make sure that the proxy address and server name match with the the certificate information. For more information, refer to [Administering endpoints in {{ece}}](/deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md).
165-
::::
160+
* **Server name**: This value can be found on the **Security** page of the {{ech}} deployment you want to use as a remote.
166161

167162
4. Click **Next**.
168163
5. Click **Add remote cluster** (you have already established trust in a previous step).

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ products:
1313

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

16+
::::{note}
17+
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).
18+
::::
1619

1720
## Allow the remote connection [ece_allow_the_remote_connection_2]
1821

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ products:
1313

1414
This section explains how to configure a deployment to connect remotely to clusters belonging to the same {{ece}} environment.
1515

16+
::::{note}
17+
If network security filters are applied to the remote cluster, the remote cluster administrator must configure a [remote cluster filter](/deploy-manage/security/remote-cluster-filtering.md), using either the ECE environment 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).
18+
::::
1619

1720
## Allow the remote connection [ece_allow_the_remote_connection]
1821

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
1. Open the deployment management page in the Cloud UI.
2+
2. Select the **Security** tab on the left-hand side menu bar.
3+
3. Under **Traffic filters**, select **Apply filter**.
4+
4. Choose the filter you want to apply and select **Apply filter**.

0 commit comments

Comments
 (0)