Skip to content

Commit dba2e10

Browse files
authored
User-defined Certificate Authority (CA) in asynchronous replication (#21458)
1 parent c51a4cb commit dba2e10

File tree

4 files changed

+30
-0
lines changed

4 files changed

+30
-0
lines changed

ydb/docs/en/core/reference/configuration/tls.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,5 @@ tracing_config:
124124
## Asynchronous replication
125125

126126
[Asynchronous replication](../../concepts/async-replication.md) synchronizes data between two {{ ydb-short-name }} databases, where one serves as a client to the other. Whether this communication uses TLS-encrypted connections is controlled by the `CONNECTION_STRING` setting of [CREATE ASYNC REPLICATION](../../yql/reference/syntax/create-async-replication.md) queries. Use the `grpcs://` protocol for TLS connections. No changes to the server-side configuration are required.
127+
128+
When using a custom Certificate Authority (CA), pass its certificate in the `CA_CERT` parameter when creating an instance of asynchronous replication.

ydb/docs/en/core/yql/reference/syntax/create-async-replication.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ WITH (option = value [, ...])
1919

2020

2121
* `CONNECTION_STRING` — a [connection string](../../../concepts/connect.md#connection_string) for the source database (mandatory).
22+
* `CA_CERT` — a [root certificate for TLS](../../../concepts/connect.md#tls-cert). Optional parameter. Can be specified if the source database supports an encrypted data interchange protocol (`CONNECTION_STRING` starts with `grpcs://`).
2223
* Authentication details for the source database (mandatory) depending on the authentication method:
2324

2425
* [Access token](../../../recipes/ydb-sdk/auth-access-token.md):
@@ -89,6 +90,18 @@ WITH (
8990
);
9091
```
9192

93+
The following statement creates an asynchronous replication instance with a TLS root certificate specified:
94+
95+
```yql
96+
CREATE ASYNC REPLICATION my_consistent_replication
97+
FOR original_table AS replica_table
98+
WITH (
99+
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
100+
TOKEN_SECRET_NAME = 'my_secret',
101+
CA_CERT = '-----BEGIN CERTIFICATE-----...'
102+
);
103+
```
104+
92105
The following statement creates an asynchronous replication instance in global data consistency mode (default change commit interval is 10 seconds):
93106

94107
```yql

ydb/docs/ru/core/reference/configuration/tls.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,4 +129,6 @@ tracing_config:
129129

130130
[Асинхронная репликация](../../concepts/async-replication.md) синхронизирует данные между двумя базами данных {{ ydb-short-name }}, одна из которых выступает в роли клиента для другой. Использование TLS при такой коммуникации контролируется параметром `CONNECTION_STRING` в запросах [CREATE ASYNC REPLICATION](../../yql/reference/syntax/create-async-replication.md). Для TLS-соединений используйте протокол `grpcs://`. Изменения в серверной конфигурации не требуются.
131131

132+
При использовании пользовательского удостоверяющего центра (Certificate Authority, CA) передайте его сертификат в параметре `CA_CERT` при создании экземпляра асинхронной репликации.
133+
132134
{% endif %}

ydb/docs/ru/core/yql/reference/syntax/create-async-replication.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ WITH (option = value [, ...])
2020
### Параметры {#params}
2121

2222
* `CONNECTION_STRING`[строка соединения](../../../concepts/connect.md#connection_string) c базой-источником. Обязательный параметр.
23+
* `CA_CERT`[корневой сертификат для TLS](../../../concepts/connect.md#tls-cert). Необязательный параметр. Может быть указан, если база-источник поддерживает режим обмена данными с шифрованием (`CONNECTION_STRING` начинается с `grpcs://`).
2324
* Настройки для аутентификации в базе-источнике одним из способов (обязательно):
2425

2526
* С помощью [токена](../../../recipes/ydb-sdk/auth-access-token.md):
@@ -90,6 +91,18 @@ WITH (
9091
);
9192
```
9293

94+
Создание экземпляра асинхронной репликации с указанием корневого сертификата для TLS:
95+
96+
```yql
97+
CREATE ASYNC REPLICATION my_consistent_replication
98+
FOR original_table AS replica_table
99+
WITH (
100+
CONNECTION_STRING = 'grpcs://example.com:2135/?database=/Root/another_database',
101+
TOKEN_SECRET_NAME = 'my_secret',
102+
CA_CERT = '-----BEGIN CERTIFICATE-----...'
103+
);
104+
```
105+
93106
Создание экземпляра асинхронной репликации в режиме глобальной согласованности данных (периодичность фиксации изменений по умолчанию — 10 секунд):
94107

95108
```yql

0 commit comments

Comments
 (0)