Appearance
セキュリティポリシー
CI/CD Adapterのセキュリティポリシー
Qmonus Value Streamでは、CI/CD Adapterから生成される Tekton Pipeline/Taskの権限やアクセスポリシーを制御しています。ポリシーはK8s Pod Security StandardのBaseline相当を適用しています。
セキュリティポリシー違反が検知された場合は、サポートチームから該当Projectの方へ個別に連絡させていただきます。 セキュリティポリシーは猶予期間を設けていますが、期間を過ぎた場合はAssemblyLineを利用したアプリケーションのデプロイが出来なくなるため、ポリシー違反検出の連絡を受けた場合は早急に対応をお願い致します。
Official Cloud Native Adapterだけをご利用している場合は、Official Cloud Native Adapterをご利用の場合の手順を実施してください。
ポリシー違反の対処方法
Official Cloud Native Adapter をご利用している場合と、それ以外で対処方法が異なります。
いずれの場合も、対処後にPipeline/Taskの生成および適用し直す必要があります。
TIP
Official Cloud Native Adapter をご利用しているかどうかの判断が付かない場合は、「Official Cloud Native Adapter をご利用の場合」の対処方法をお試しください。 問題が解決しない場合は、「それ以外の Cloud Native Adapter をご利用の場合」を実施ください。
Official Cloud Native Adapter をご利用の場合
QVS Configを保存しているディレクトリで qvsctl adapter get
コマンドを再実行してOfficial Cloud Native Adapterを最新化してください。
ダウンロード可能な Adapter は qvsctl adapter list
コマンドからご確認ください。 version
を指定しない、または latest
とした場合は最新のバージョンをダウンロードします。
それ以外の Cloud Native Adapter をご利用の場合
サポートチームから連絡された違反ポリシーより、該当するポリシー名を参照し、対処方法の内容でCI/CD AdapterのPipeline定義を修正します。 必要に応じて各ポリシーの「関連するk8sのPod Security Standard」も参照してください。
ポリシー一覧
disallow-capabilities
特定のCapabilityを持つコンテナを許可しない。
関連するk8sのPod Security Standard: Capabilities
対処方法
spec.*.securityContext.capabilities.add
フィールドには以下の値以外は設定しないでください。
AUDIT_WRITE
CHOWN
DAC_OVERRIDE
FOWNER
FSETID
KILL
MKNOD
NET_BIND_SERVICE
SETFCAP
SETGID
SETPCAP
SETUID
SYS_CHROOT
disallow-host-namespaces
Host名前空間を使用しない。
関連するk8sのPod Security Standard: Host Namespaces
対処方法
以下のフィールドを削除するか false
に設定してください。
spec.hostNetwork
spec.hostIPC
spec.hostPID
disallow-host-path
hostPathボリュームを使用しない。
関連するk8sのPod Security Standard: HostPath Volumes
対処方法
以下のフィールドを削除してください。
spec.volumes[*].hostPath
disallow-host-ports
hostPortを使用しない。
関連するk8sのPod Security Standard: Host Ports
対処方法
以下のフィールドを削除するか、0
に設定してください。
spec.containers[].ports[].hostPort
spec.initContainers[].ports[].hostPort
spec.ephemeralContainers[].ports[].hostPort
disallow-host-process
ホストのプロセスを参照または操作しない。
関連するk8sのPod Security Standard: HostProcess
対処方法
以下のフィールドを削除してください。
spec.securityContext.windowsOptions.hostProcess
spec.containers[].securityContext.windowsOptions.hostProcess
spec.initContainers[].securityContext.windowsOptions.hostProcess
spec.ephemeralContainers[*].securityContext.windowsOptions.hostProcess
disallow-privileged-containers
特権コンテナを使用しない。
関連するk8sのPod Security Standard: Privileged Containers
対処方法
以下のフィールドを削除するか、false
に設定してください。
spec.containers[].securityContext.privileged
spec.initContainers[].securityContext.privileged
disallow-proc-mount
/procを読み取ることができないようにする。
関連するk8sのPod Security Standard: /proc Mount Type
対処方法
以下のフィールドを削除するか、 Default
に設定してください。
spec.containers[].securityContext.procMount
spec.initContainers[].securityContext.procMount
spec.ephemeralContainers[*].securityContext.procMount
disallow-selinux
SELinuxを無効にしない。
関連するk8sのPod Security Standard: SELinux
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
spec.containers[*].securityContext.seLinuxOptions.type
spec.initContainers[*].securityContext.seLinuxOptions
spec.ephemeralContainers[*].securityContext.seLinuxOptions.type
許容される値
container_t
container_init_t
container_kvm_t
restrict-apparmor-profiles
特定のAppArmorプロファイルのみを許可する。
関連するk8sのPod Security Standard: AppArmor
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
container.apparmor.security.beta.kubernetes.io
許容される値
runtime/default
localhost/*
restrict-seccomp
Seccompプロファイルを無効にしない。
関連するk8sのPod Security Standard: Seccomp
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
spec.securityContext.seccompProfile.type
spec.containers[].securityContext.seccompProfile.type
spec.initContainers[].securityContext.seccompProfile.type
spec.ephemeralContainers[*].securityContext.seccompProfile.type
許容される値
RuntimeDefault
Localhost
restrict-sysctls
Sysctlパラメータを無効にしない。
関連するk8sのPod Security Standard: Sysctls
対処方法
spec.securityContext.sysctls
フィールドを削除するか、以下の値を指定してください。
kernel.shm_rmid_forced
net.ipv4.ip_local_port_range
net.ipv4.ip_unprivileged_port_start
net.ipv4.tcp_syncookies
net.ipv4.ping_group_range