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

# client_certificate_authorization

Секция `client_certificate_authorization` настраивает аутентификацию узлов баз данных в кластере YDB с использованием клиентских сертификатов. Это обеспечивает присвоение служебным подключениям между узлами кластера корректных идентификаторов защиты, или [SID](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.4#access-sid). Процесс применяется к подключениям, использующим протокол gRPC для регистрации узлов в кластере и доступа к конфигурационной информации. Присвоенные подключениям SID учитываются при проверке правил авторизации, действующих в отношении служебных gRPC-вызовов.

Настройки аутентификации узлов баз данных указываются в составе [статической конфигурации](https://ydb.tech/docs/ru/reference/configuration/index.md?version=v25.4) кластера.

Раздел конфигурации `client_certificate_authorization` управляет режимом аутентификации при подключении узлов баз данных и определяет требования к заполнению полей «Subject» и «Subject Alternative Name» сертификатов узлов, а также список присваиваемых идентификаторов защиты [SID](https://ydb.tech/docs/ru/concepts/glossary.md?version=v25.4#access-sid).

Поле «Subject» сертификата узла состоит из нескольких компонентов (например, `O` — организация, `OU` — подразделение в составе организации, `C` — страна, `CN` — имя собственное субъекта). Проверки могут быть настроены на соответствие одного или нескольких компонентов поля ожидаемым значениям.

Поле «Subject Alternative Name» сертификата узла представляет собой список сетевых имён или IP-адресов узлов. Проверка может быть настроена на соответствие сетевых имён в сертификате ожидаемым значениям.

## Синтаксис

```yaml
client_certificate_authorization:
  request_client_certificate: Bool
  default_group: <SID по умолчанию>
  client_certificate_definitions:
    - member_groups: <массив SID>
      require_same_issuer: Bool
      subject_dns:
      - suffixes: <массив разрешенных суффиксов>
        values: <массив допустимых значений>
      subject_terms:
      - short_name: <имя компонента Subject Name>
        suffixes: <массив разрешенных суффиксов>
        values: <массив допустимых значений>
    - member_groups: <массив SID>
    ...
```

Ключ | Описание
---- | ---
`request_client_certificate` | Требовать корректный клиентский сертификат для подключения узлов.<br/>Допустимые значения:<br/><ul><li>`false` — сертификат не требуется (применяется по умолчанию, если параметр не задан);</li><li>`true` — для подключения узлов требуется доверенный клиентский сертификат.</li></ul>
`default_group` | SID, присваиваемый всем подключениям с доверенным клиентским сертификатом, если нет явно заданных настроек в секции `client_certificate_definitions`.
`client_certificate_definitions` | Блок настроек требований к сертификатам узлов баз данных.
`member_groups` | Массив SID, присваиваемых подключениям, сертификаты которых соответствуют требованиям этого блока.
`require_same_issuer` | Требовать совпадение поля "Issuer" (наименование центра регистрации) для клиентского (узел базы данных) и серверного (узел хранения) сертификатов.<br/>Допустимые значения:<br/><ul><li>`true` — совпадение требуется (применяется по умолчанию, если параметр не задан);</li><li>`false` — совпадение не требуется (клиентский и серверный сертификаты могут быть выпущены разными центрами регистрации).</li></ul>
`subject_dns` | Допустимые значения поля "Subject Alternative Name" в виде массива полных значений (ключ `values`) или массива суффиксов значений (ключ `suffixes`). Проверка считается успешной при совпадении одного из значений поля с любым полным именем либо при соответствии любому указанному суффиксу.
`subject_terms` | Требования к заполнению компонентов поля "Subject". Указывается имя компонента (ключ `short_name`), а также набор полных значений (ключ `values`) или набор суффиксов значений (ключ `suffixes`). Проверка считается успешной, если для каждого проверяемого компонента поля "Subject" его значение соответствует одному из разрешённых полных значений либо одному из разрешённых суффиксов.

## Примеры

Следующий фрагмент конфигурации включает аутентификацию узлов и требует наличия в поле "Subject" компонента `O=YDB`. При успешной аутентификации подключению будет присвоен субъект доступа `registerNode@cert`.

```yaml
client_certificate_authorization:
  request_client_certificate: true
  client_certificate_definitions:
    - member_groups: ["registerNode@cert"]
      subject_terms:
      - short_name: "O"
        values: ["YDB"]
```

Следующий фрагмент конфигурации включает аутентификацию узлов и требует наличия в поле "Subject" компонентов `OU=cluster1` и `O=YDB`. Дополнительно проверяется, что поле "Subject Alternative Name" содержит имя хоста, заканчивающееся на суффикс `.cluster1.ydb.company.net`. При успешной аутентификации подключению будет присвоен субъект доступа `registerNode@cert`.

```yaml
client_certificate_authorization:
  request_client_certificate: true
  client_certificate_definitions:
    - member_groups: ["registerNode@cert"]
      subject_dns:
      - suffixes: [".cluster1.ydb.company.net"]
      subject_terms:
      - short_name: "OU"
        values: ["cluster1"]
      - short_name: "O"
        values: ["YDB"]
```
