---
apiVersion: v1
kind: ConfigMap
metadata:
  name: q14
  labels:
    question.kontest.amsy.dev: "14"
data:
  question: |-
    PodSecurityContextを使うと、Podのアクセス制御や特権に関する設定を変更することができます。
    rootユーザでの実行を制限するように以下マニフェストファイルを変更してください。
    
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: cndt-nginx
      name: cndt-nginx
    spec:
      containers:
      - image: nginx:1.19
        name: cndt-nginx
  hint: |-
    https://kubernetes.io/blog/2016/08/security-best-practices-kubernetes-deployment/
  base_content.yaml: |-
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: cndt-nginx
      name: cndt-nginx
    spec:
      containers:
      - image: nginx:1.19
        name: cndt-nginx
  answer.yaml: |-
    apiVersion: v1
    kind: Pod
    metadata:
      labels:
        run: cndt-nginx
      name: cndt-nginx
    spec:
      securityContext:
        runAsNonRoot: true
      containers:
      - image: nginx:1.19
        name: cndt-nginx
  comment: |-
    【解説 by カサレアル】
    PodSecurityContextを使うと、Podレベルのセキュリティ設定を行えます。マニフェストにおいては spec.securityContext で設定します。
    runAsNonRoot を true に設定すると、Pod内のコンテナをUID 0（＝root）で実行しようとすると起動に失敗します。
  author: |-
    Yutaka Ichikawa (@cyberblack28)
