---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://ydb.tech/docs/en/reference/configuration/tls.md?version=v25.4
  - https://ydb.tech/docs/ru/reference/configuration/tls.md?version=v25.4
  - href: ru/reference/configuration/tls.md
    type: text/markdown
    title: Markdown version
  - href: ../../llms.txt
    type: text/markdown
    title: llms.txt
sourcePath: ru/core/reference/configuration/tls.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# tls

Секция `tls` настраивает параметры [TLS](https://ru.wikipedia.org/wiki/Transport_Layer_Security) для [шифрования данных при передаче по сети](https://ydb.tech/docs/ru/security/encryption/data-in-transit.md?version=v25.4) в YDB. Каждый сетевой протокол может иметь различные настройки TLS для обеспечения безопасной связи между компонентами кластера и клиентами.

## Interconnect

[Интерконнект акторной системы YDB](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.4#actor-system-interconnect) — это специализированный протокол для обмена данными между узлами YDB.

Пример включения TLS для интерконнекта:

```yaml
interconnect_config:
   start_tcp: true
   encryption_mode: REQUIRED # или OPTIONAL
   path_to_certificate_file: "/opt/ydb/certs/node.crt"
   path_to_private_key_file: "/opt/ydb/certs/node.key"
   path_to_ca_file: "/opt/ydb/certs/ca.crt"
```

## YDB в роли сервера

### gRPC

[Основной API YDB](https://ydb.tech/docs/ru/reference/ydb-sdk/overview-grpc-api.md?version=v25.4) основан на [gRPC](https://grpc.io/). Он используется для внешнего взаимодействия с клиентскими приложениями, которые работают напрямую с YDB через [SDK](https://ydb.tech/docs/ru/reference/ydb-sdk/index.md?version=v25.4) или [CLI](https://ydb.tech/docs/ru/reference/ydb-cli/index.md?version=v25.4).

Пример включения TLS для gRPC API:

```yaml
grpc_config:
   cert: "/opt/ydb/certs/node.crt"
   key: "/opt/ydb/certs/node.key"
   ca: "/opt/ydb/certs/ca.crt"
```

### Протокол Kafka

YDB открывает отдельный сетевой порт для [протокола Kafka](https://ydb.tech/docs/ru/reference/kafka-api/index.md?version=v25.4). Этот протокол используется для внешнего взаимодействия с клиентскими приложениями, изначально разработанными для работы с [Apache Kafka](https://kafka.apache.org/).

Пример включения TLS для протокола Kafka с использованием файла, содержащего как сертификат, так и закрытый ключ:

```yaml
kafka_proxy_config:
    ssl_certificate: "/opt/ydb/certs/node.crt"
```

Пример включения TLS для протокола Kafka с раздельными файлами сертификата и закрытого ключа:

```yaml
kafka_proxy_config:
    cert: "/opt/ydb/certs/node.crt"
    key: "/opt/ydb/certs/node.key"
```

### HTTP

YDB открывает отдельный HTTP-порт для работы [встроенного интерфейса](https://ydb.tech/docs/ru/reference/embedded-ui/index.md?version=v25.4), отображения [метрик](https://ydb.tech/docs/ru/devops/observability/monitoring.md?version=v25.4) и других вспомогательных команд.

Пример включения TLS на HTTP-порту, что делает его использования HTTPS:

```yaml
monitoring_config:
    monitoring_certificate_file: "/opt/ydb/certs/node.crt"
```

## YDB в роли клиента

### LDAP

YDB поддерживает [LDAP](https://ydb.tech/docs/ru/security/authentication.md?version=v25.4#ldap) для аутентификации пользователей. Протокол LDAP имеет два варианта включения TLS.

Пример включения TLS для LDAP через расширение протокола `StartTls`:

```yaml
auth_config:
  ldap_authentication:
    use_tls:
      enable: true
      ca_cert_file: "/path/to/ca.pem"
      cert_require: DEMAND
  scheme: "ldap"
```

Пример включения TLS для LDAP через `ldaps`:

```yaml
auth_config:
  ldap_authentication:
    use_tls:
      enable: false
      ca_cert_file: "/path/to/ca.pem"
      cert_require: DEMAND
  scheme: "ldaps"
```

Подробнее этот механизм описан в [{#T}](https://ydb.tech/docs/ru/devops/configuration-management/configuration-v1/index.md?version=v25.4#ldap-auth-config).

### Федеративные запросы

[Федеративные запросы](https://ydb.tech/docs/ru/concepts/query_execution/federated_query/index.md?version=v25.4) позволяют YDB выполнять запросы к различным внешним источникам данных. Использование TLS при выполнении таких запросов контролируется параметром `USE_TLS` в запросах [CREATE EXTERNAL DATA SOURCE](https://ydb.tech/docs/ru/yql/reference/syntax/create-external-data-source.md?version=v25.4). Изменения в серверной конфигурации не требуются.

### Трассировка

YDB может отправлять данные [трассировки](https://ydb.tech/docs/ru/reference/observability/tracing/setup.md?version=v25.4) на внешний коллектор через gRPC.

Пример включения TLS для данных трассировки посредством указания протокола `grpcs://`:

```yaml
tracing_config:
  backend:
    opentelemetry:
      collector_url: grpcs://example.com:4317
      service_name: ydb
```


## Асинхронная репликация

[Асинхронная репликация](https://ydb.tech/docs/ru/concepts/async-replication.md?version=v25.4) синхронизирует данные между двумя базами данных YDB, одна из них выступает в роли клиента по отношению к другой. Использование TLS при такой коммуникации контролируется параметром `CONNECTION_STRING` в запросах [CREATE ASYNC REPLICATION](https://ydb.tech/docs/ru/yql/reference/syntax/create-async-replication.md?version=v25.4). Для TLS-соединений используйте протокол `grpcs://`. Изменения в серверной конфигурации не требуются.

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

