Какое правильное имя профиля AppArmor соответствует политике Azure (EnforceAppArmorProfile)?

Я изо всех сил пытаюсь указать правильное значение параметра для политики Azure с именем «Переопределение или отключение контейнеров Профиль AppArmor должен быть ограничен» - параметр.

Из документов k8s я могу использовать kubectl exec <POD_NAME> --namespace="<NAMESPACE>" -- cat /proc/1/attr/currentчтобы узнать, какие профили включены. При запуске его для нескольких модулей я вижу, что в основном включен следующий профиль:

      cri-containerd.apparmor.d

Однако, когда я пытаюсь поместить это в параметр политики allowedProfiles(значение было [ "cri-containerd.apparmor.d" ]) это не делает ресурс здоровым. Я также пытался использовать значения в подсказке параметра (т.е. [ "runtime/default", "docker/default"]), но эффект был тот же: все равно нездоровый ресурс.

1 ответ

Во-первых, укажите разрешенные имена профилей в качестве входных данных для ограничения (политики). Вы можете использовать «среду выполнения/по умолчанию», если хотите использовать все, что предоставляется с AKS. В качестве альтернативы создайте свой собственный профиль AppArmor и передайте его как разрешено.

Во-вторых, в ваших определениях YAML (для модулей, развертываний, заданий и т. д.) вам необходимо убедиться, что вы действительно используете профиль AppArmor, то есть для модулей:

      ...
annotations:
  container.apparmor.security.beta.kubernetes.io/pod-allowed: runtime/default
  container.apparmor.security.beta.kubernetes.io/pod-allowed-sidecar: runtime/default
...
Другие вопросы по тегам