Назначение UID/GID
В Kubernetes каждый Pod запускается с определённым User ID (UID) и Group ID (GID) для обеспечения безопасности и правильного контроля доступа. По умолчанию Pods могут запускаться от имени пользователя root (UID 0), что может представлять угрозу безопасности. Для повышения безопасности рекомендуется назначать Pods не-root UID и GID.
ACP позволяет автоматически назначать namespace с определёнными диапазонами UID и GID, чтобы гарантировать, что все Pods в namespace запускаются с заданными идентификаторами пользователя и группы.
Содержание
Включение назначения UID/GIDПроверка назначения UID/GIDДиапазон UID/GIDПроверка UID/GID PodВключение назначения UID/GID
Чтобы включить назначение UID/GID для namespace, выполните следующие шаги:
- Перейдите в Project Management.
- В левой навигационной панели нажмите Namespace.
- Выберите нужный namespace.
- Нажмите Actions > Upate Pod Security Policy.
- Измените значение опции Enforce на Restricted, нажмите Update.
- Нажмите иконку редактирования рядом с Labels, добавьте метку с ключом
security.cpaas.io/enabledи значениемtrue, нажмите Update. (Чтобы отключить, удалите эту метку или установите значениеfalse.) - Нажмите Save.
Проверка назначения UID/GID
Диапазон UID/GID
На странице с деталями namespace вы можете увидеть назначенные диапазоны UID и GID в разделе Annotations.
Аннотация security.cpaas.io/uid-range указывает диапазон UID/GID, которые могут быть назначены Pods в namespace, например, security.cpaas.io/uid-range=1000002000-1000011999 означает, что диапазон uid/gid находится в пределах от 1000002000 до 1000011999.
Проверка UID/GID Pod
Если pod не указывает runAsUser и fsGroup в securityContext, платформа автоматически назначит первое значение из назначенного диапазона uid.
-
Создайте Pod в namespace с помощью следующей YAML-конфигурации:
-
После создания Pod получите его YAML, чтобы проверить назначенные UID и GID:
В YAML Pod будут показаны назначенные UID и GID в разделе securityContext:
Если pod указывает runAsUser и fsGroup в securityContext, платформа проверит, находятся ли указанные UID/GID в пределах назначенного диапазона. Если нет, создание Pod завершится ошибкой.
-
Создайте Pod в namespace с помощью следующей YAML-конфигурации:
-
После применения YAML создание Pod завершится ошибкой с сообщением, что указанные UID/GID находятся вне назначенного диапазона.