Skip to content

Commit ac93a60

Browse files
Remote clusters - private CA connections and trusted environments management converted to snippets (#3841)
## Summary This PR converts duplicate content into reusable snippets for remote cluster configuration, specifically for private CA connections and trusted environment management, plus some small refinement. **Note**: The content of `retrieve-ece-ca.md` would benefit from a writing review, as it's the only piece of text that was elaborated for this PR, the rest is internal refactoring and minor refinement. ## Changes ### Private CA Certificate Retrieval - Created `retrieve-ece-ca.md` snippet containing the steps to retrieve the CA certificate of a remote ECE proxy - Created `apikeys-local-ece-remote-private.md` snippet with the steps to configure the local ECE deployment when the remote cluster certificate is signed by a private CA - Created `apikeys-local-ech-remote-private.md` snippet with the steps to configure the local {{ech}} deployment when the remote cluster certificate is signed by a private CA - Replaced duplicate content in all affected files with snippet includes ### Trusted Environment Management - Converted the following pages to use shared snippets as they were 99% identical: - `ec-edit-remove-trusted-environment.md` - `ece-edit-remove-trusted-environment.md` - Created snippets: - `trusted-environment-manage.md` - Introduction section - `trusted-environment-remove-cert.md` - Remove certificate-based trusted environment steps - `trusted-environment-update-cert.md` - Update certificate-based trusted environment steps - `trusted-environment-change-api-key.md` - Change cross-cluster API key steps ### Additional Improvements - Removed duplicate image files (`cloud-enterprise-delete-trust-environment.png` and `cloud-enterprise-edit-trust-environment.png`) that were identical to their non-enterprise counterparts - Updated image references to use the unified image names ### Minor Updates - Applied small changes to other snippets that will be used later with incoming ECK-related documentation for remote clusters --------- Co-authored-by: Vlada Chirmicci <[email protected]>
1 parent 33d31d9 commit ac93a60

23 files changed

+217
-276
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<!--
2+
This snippet is in use in the following locations:
3+
- ece-remote-cluster-self-managed.md
4+
- ece-remote-cluster-other-ece.md
5+
6+
It requires remote_type substitution to be defined
7+
-->
8+
1. [Log in to the Cloud UI](/deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md).
9+
2. On the **Deployments** page, select your deployment.
10+
11+
Narrow the list by name, ID, or choose from several other filters. To further define the list, use a combination of filters.
12+
13+
3. Access the **Security** page of the deployment.
14+
4. Select **Remote Connections > Add trusted environment** and choose **{{remote_type}}**. Then click **Next**.
15+
5. Select **API keys** as authentication mechanism and click **Next**.
16+
6. When asked whether the Certificate Authority (CA) of the remote environment’s proxy or load-balancing infrastructure is public, select **No, it is private**.
17+
7. Add the API key:
18+
19+
1. Fill both fields.
20+
21+
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
22+
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
23+
24+
2. Click **Add** to save the API key to the keystore.
25+
3. Repeat these steps for each API key you want to add. For example, if you want to use several clusters of the remote environment for CCR or CCS.
26+
27+
8. Add the CA certificate of the remote environment.
28+
9. Provide a name for the trusted environment. That name will appear in the trust summary of your deployment's **Security** page.
29+
10. Select **Create trust** to complete the configuration.
30+
11. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
31+
32+
::::{note}
33+
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
34+
::::
35+
36+
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md#edit-remove-trusted-environment-api-key).
37+

deploy-manage/remote-clusters/_snippets/apikeys-local-ece-remote-public.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!--
2+
This snippet is in use in the following locations:
3+
- ece-remote-cluster-self-managed.md
4+
- ece-remote-cluster-same-ece.md
5+
- ece-remote-cluster-other-ece.md
6+
- ece-remote-cluster-ece-ess.md
7+
-->
18
1. [Log into the Cloud UI](/deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md).
29
2. On the **Deployments** page, select your deployment.
310

@@ -13,11 +20,10 @@
1320

1421
2. Click **Add** to save the API key to the keystore.
1522

16-
5. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.<br>
23+
5. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.
1724

1825
::::{note}
1926
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
2027
::::
2128

22-
23-
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md#ece-edit-remove-trusted-environment-api-key).
29+
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md#edit-remove-trusted-environment-api-key).
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<!--
2+
This snippet is in use in the following locations:
3+
- ec-remote-cluster-self-managed.md
4+
- ec-remote-cluster-ece.md
5+
6+
It requires remote_type substitution to be defined
7+
-->
8+
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
9+
2. On the home page, find your hosted deployment and select **Manage** to access it directly. Or, select **Hosted deployments** to go to the **Hosted deployments** page to view all of your deployments.
10+
11+
On the **Hosted deployments** page you can narrow your deployments by name, ID, or choose from several other filters. To customize your view, use a combination of filters, or change the format from a grid to a list.
12+
13+
3. From the navigation menu, select **Security**.
14+
4. Select **Remote Connections > Add trusted environment** and choose **{{remote_type}}**. Then click **Next**.
15+
5. Select **API keys** as authentication mechanism and click **Next**.
16+
6. When asked whether the Certificate Authority (CA) of the remote environment’s proxy or load-balancing infrastructure is public, select **No, it is private**.
17+
7. Add the API key:
18+
19+
1. Fill both fields.
20+
21+
* For the **Remote cluster name**, enter the alias of your choice. You will use this alias to connect to the remote cluster later. It must be lowercase and only contain letters, numbers, dashes and underscores.
22+
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key.
23+
24+
2. Click **Add** to save the API key to the keystore.
25+
3. Repeat these steps for each API key you want to add. For example, if you want to use several clusters of the remote environment for CCR or CCS.
26+
27+
8. Add the CA certificate of the remote environment.
28+
9. Provide a name for the trusted environment. That name will appear in the trust summary of your deployment's **Security** page.
29+
10. Select **Create trust** to complete the configuration.
30+
11. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page, locate the **Actions** menu, and select **Restart {{es}}**.
31+
32+
::::{note}
33+
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
34+
::::
35+
36+
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md#edit-remove-trusted-environment-api-key).

deploy-manage/remote-clusters/_snippets/apikeys-local-ech-remote-public.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
<!--
2+
This snippet is in use in the following locations:
3+
- ec-remote-cluster-self-managed.md
4+
- ec-remote-cluster-same-ess.md
5+
- ec-remote-cluster-other-ess.md
6+
- ec-remote-cluster-ece.md
7+
-->
18
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
29
2. On the home page, find your hosted deployment and select **Manage** to access it directly. Or, select **Hosted deployments** to go to the **Hosted deployments** page to view all of your deployments.
310

@@ -13,11 +20,10 @@
1320

1421
2. Click **Add** to save the API key.
1522

16-
5. Restart the local deployment to reload the new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.<br>
23+
5. Restart the local deployment to reload the new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.
1724

1825
::::{note}
1926
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
2027
::::
2128

22-
23-
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md#ec-edit-remove-trusted-environment-api-key).
29+
If you need to update the remote connection with different permissions later, refer to [Change a cross-cluster API key used for a remote connection](/deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md#edit-remove-trusted-environment-api-key).

deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet-self.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ This snippet is in use in the following locations:
33
- ece-remote-cluster-self-managed.md
44
- ec-remote-cluster-self-managed.md
55
-->
6-
To configure a self-managed cluster as a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields:
6+
To add a remote cluster, use the [cluster update settings API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-put-settings). Configure the following fields:
77

88
* `Remote cluster alias`: When using API key authentication, the cluster alias must match the one you configured when adding the API key in the Cloud UI as **Remote cluster name**.
99
* `mode`: `proxy`
10-
* `proxy_address`: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 addresses are supported.
10+
* `proxy_address`: Enter the endpoint of the remote cluster, including the hostname, FQDN, or IP address, and the port. Both IPv4 and IPv6 addresses are supported.
1111

1212
Make sure you use the correct port for your authentication method:
1313
* **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`).

deploy-manage/remote-clusters/_snippets/rcs-elasticsearch-api-snippet.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,15 @@ To configure a deployment as a remote cluster, use the [cluster update settings
1313

1414
* `Remote cluster alias`: When using API key authentication, the cluster alias must match the one you configured when adding the API key in the Cloud UI as **Remote cluster name**.
1515
* `mode`: `proxy`
16-
* `proxy_address`: This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section.
16+
* `proxy_address`: This value can be found on the **Security** page of the {{remote_type}} deployment you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section.
1717

1818
Using the API, this value can be obtained from the {{es}} resource info, concatenating the field `metadata.endpoint` and port `9400` using a semicolon.
1919

2020
::::{note}
2121
If you’re using API keys as security model, change the port to `9443`.
2222
::::
2323

24-
* `server_name`: This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section.
24+
* `server_name`: This value can be found on the **Security** page of the {{remote_type}} deployment you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section.
2525

2626
Using the API, this can be obtained from the {{es}} resource info field `metadata.endpoint`.
2727

deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet-self.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This snippet is in use in the following locations:
1212
* **Remote cluster 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.
1313

1414
When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI.
15-
* **Remote address**: Enter the endpoint of the remote self-managed cluster, including the hostname, FQDN, or IP address, and the port.
15+
* **Remote address**: Enter the endpoint of the remote cluster, including the hostname, FQDN, or IP address, and the port.
1616

1717
Make sure you use the correct port for your authentication method:
1818
* **API keys**: Use the port configured in the remote cluster interface of the remote cluster (defaults to `9443`).

deploy-manage/remote-clusters/_snippets/rcs-kibana-api-snippet.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ It requires remote_type substitution to be defined
1818

1919
When using API key authentication, this alias must match the **Remote cluster name** you configured when adding the API key in the Cloud UI.
2020

21-
* **Remote address**: This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section.
21+
* **Remote address**: This value can be found on the **Security** page of the {{remote_type}} deployment you want to use as a remote. Copy the **Proxy address** from the **Remote cluster parameters** section.
2222

2323
::::{note}
2424
If you’re using API keys as security model, change the port to `9443`.
@@ -27,7 +27,7 @@ It requires remote_type substitution to be defined
2727
* **Configure advanced options** (optional): Expand this section if you need to customize additional settings.
2828
* **TLS server name**: Specify a value if the certificate presented by the remote cluster is signed for a different name than the remote address.
2929

30-
This value can be found on the **Security** page of the {{remote_type}} you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section.
30+
This value can be found on the **Security** page of the {{remote_type}} deployment you want to use as a remote. Copy the **Server name** from the **Remote cluster parameters** section.
3131

3232
* **Socket connections**: Define the number of connections to open with the remote cluster.
3333

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
Before configuring the local deployment, retrieve the CA certificate of the remote ECE proxy. To find this certificate:
2+
3+
1. In the remote ECE environment, go to **Platform > Settings > TLS certificates**.
4+
2. Select **Show certificate chain** under **Proxy**.
5+
3. Click **Copy root certificate** and paste it into a new file. The root certificate is the last certificate shown in the chain.
6+
7+
:::{image} /deploy-manage/images/cloud-remote-clusters-proxy-certificate.png
8+
:alt: Certificate to copy from the chain
9+
:::
10+
11+
4. Save the file as `.crt`.
12+
13+
You can now proceed to configure the local deployment. The CA file you saved will be used in one of the following steps.
14+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
This section describes the steps to change the API key used for an existing remote connection. For example, if the previous key expired and you need to rotate it with a new one.
2+
3+
::::{note}
4+
If you need to update the permissions granted by a cross-cluster API key for a remote connection, you only need to update the privileges granted by the API key directly in {{kib}}.
5+
::::
6+
7+
8+
1. On the deployment you will use as remote, use the [{{es}} API](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-security-create-cross-cluster-api-key) or [{{kib}}](/deploy-manage/api-keys/elasticsearch-api-keys.md) to create a cross-cluster API key with the appropriate permissions. Configure it with access to the indices you want to use for {{ccs}} or {{ccr}}.
9+
2. Copy the encoded key (`encoded` in the response) to a safe location. You will need it in the next steps.
10+
3. From the navigation menu of your local deployment, select **Security** and locate the **Remote connections** section.
11+
4. Locate the API key currently used for connecting to the remote cluster, copy its current alias, and delete it.
12+
5. Add the new API key by selecting **Add API key**.
13+
14+
* For the **Remote cluster name**, enter the same alias that was used for the previous key.
15+
16+
::::{note}
17+
If you use a different alias, you also need to re-create the remote cluster in {{kib}} with a **Remote cluster name** that matches the new alias.
18+
::::
19+
20+
* For the **Cross-cluster API key**, paste the encoded cross-cluster API key, then click **Add** to save the API key to the keystore.
21+
22+
6. Restart the local deployment to reload the keystore with its new setting. To do that, go to the deployment's main page (named after your deployment's name), locate the **Actions** menu, and select **Restart {{es}}**.<br>
23+
24+
::::{note}
25+
If the local deployment runs on version 8.14 or greater, you no longer need to perform this step because the keystore is reloaded automatically with the new API keys.
26+
::::
27+

0 commit comments

Comments
 (0)