Технические учетные записи и секреты среды выполнения
04 сентября 2026
ID 308985
Kaspersky Container Security проводит опрос API Kubernetes и получает секреты, которые нужны для авторизации в реестрах и последующего сканирования образов.
Для образов из кластера реестр и данные авторизации определяются в следующем порядке:
- Технические учетные записи.
- Секреты среды выполнения.
- Открытый доступ без использования секретов.
Технические учетные записи
Механизм технической учетной записи позволяет проверять образы, если в кластере применяется непосредственная загрузка образов в среду выполнения и в Kubernetes не используется объект pullsecret. Если техническая учетная запись отсутствует, Kaspersky Container Security не сможет провести проверку таких образов, поскольку не сможет взять учетные данные интеграции с уровня среды выполнения.
Приоритет технической учетной записи выше, чем у объектов pullsecret, которые kube-agent получает в кластере.
Вы можете создать технические учетные записи для интересующих вас реестров решения и описать их в общем файле в формате dockerconfigjson. Файл с данными технических учетных записей передается в Kaspersky Container Security следующими способами:
- С помощью внешнего хранилища секретов HashiCorp Vault, например:
vault:
enabled: true
secret:
TECHNICAL_ACCOUNTS: kcs/configjson@config.json
Ключ секрета в хранилище секретов HashiCorp Vault обязательно называется config.json.
- С помощью значения переменной
TECHNICAL_ACCOUNTSв секцииsecret.infracreds:secret:
infracreds:
type: fromEnvs
envs:
TECHNICAL_ACCOUNTS: <
значение строки, которая получилась после шифрования файла с данными технических учетных записей в формате JSON в base64> - С помощью имени секрета, указанного в переменной
TECHNICAL_ACCOUNTS_SECRET_NAME. Этот секрет содержит файл с данными технических учетных записей в формате JSON и находится в пространстве имен kcs.Вы можете изменить это имя, задав иное значение в переменной
TECHNICAL_ACCOUNTS_SECRET_NAMEв пространстве имен kcs. По умолчанию указано имя секрета kcs-technical-accounts.
Данные, полученные из хранилища секретов HashiCorp Vault или с помощью значения переменной TECHNICAL_ACCOUNTS, имеют преимущество перед значением секрета, указанного в пространстве имен kcs. Например, если в конфигурационном файле указан секрет и решение также получает данные из хранилища секретов, использоваться будут данные из хранилища секретов HashiCorp Vault.
Если решение обнаруживает данные технических учетных записей для домена, другие источники не рассматриваются вне зависимости от верности данных авторизации.
Секреты среды выполнения.
Секреты среды выполнения в среде выполнения CRI-O получают агенты, которые затем передают секреты в ядро Kaspersky Container Security для использования при сканировании образов. Для работы с другими средами выполнения вы можете использовать переменную RUNTIME_SECRETS в пространстве имен kcs.
В переменной RUNTIME_SECRETS вы можете также добавить переменную mirrors, которая используется для копирования секретов из разных источников и их размещения в нужных вам директориях.
С помощью переменной mirrors вы можете работать с двумя типами источников и мест последующего размещения секретов:
- Хранилище секретов HashiCorp Vault.
- Kubernetes.
Если при сканировании секретов среды выполнения обнаруживаются секреты из Kubernetes, они будут учитываться решением наряду с секретами среды выполнения.
Использование base64
При получении данных технических учетных записей и секретов среды выполнения применяется кодирование конфиденциальных данных в формате base64.
Пример данных технической учетной записи: { "auths": { "harbor.company.com": { "auth": "bas64encodedAuthData" } } } Пример секретов среды выполнения: { "aliases": { "almalinux": [ "docker.io/library/almalinux" ] }, "unqualified": [ "docker.io", "quay.io" ], "prefixes": {}, "mirrors": { "docker.io": [ "r-docker.repository.company.com" ] }, "auths": { "https://jfrog.company.com": [ "bas64encodedAuthData" ] } } В приведенных примерах |