В Kubernetes каждый Pod запускается с определённым User ID (UID) и Group ID (GID) для обеспечения безопасности и правильного контроля доступа. По умолчанию Pods могут запускаться от имени пользователя root (UID 0), что может представлять угрозу безопасности. Для повышения безопасности рекомендуется назначать Pods не-root UID и GID.
ACP позволяет автоматически назначать namespace с определёнными диапазонами UID и GID, чтобы гарантировать, что все Pods в namespace запускаются с заданными идентификаторами пользователя и группы.
Чтобы включить назначение UID/GID для namespace, выполните следующие шаги:
security.cpaas.io/enabled
и значением true
, нажмите Update. (Чтобы отключить, удалите эту метку или установите значение false
.)На странице с деталями namespace вы можете увидеть назначенные диапазоны UID и GID в разделе Annotations.
Аннотация security.cpaas.io/uid-range указывает диапазон UID/GID, которые могут быть назначены Pods в namespace, например, security.cpaas.io/uid-range=1000002000-1000011999 означает, что диапазон uid/gid находится в пределах от 1000002000 до 1000011999.
Если 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 находятся вне назначенного диапазона.