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_WRITECHOWNDAC_OVERRIDEFOWNERFSETIDKILLMKNODNET_BIND_SERVICESETFCAPSETGIDSETPCAPSETUIDSYS_CHROOT
disallow-host-namespaces
Host名前空間を使用しない。
関連するk8sのPod Security Standard: Host Namespaces
対処方法
以下のフィールドを削除するか false に設定してください。
spec.hostNetworkspec.hostIPCspec.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[].hostPortspec.initContainers[].ports[].hostPortspec.ephemeralContainers[].ports[].hostPort
disallow-host-process
ホストのプロセスを参照または操作しない。
関連するk8sのPod Security Standard: HostProcess
対処方法
以下のフィールドを削除してください。
spec.securityContext.windowsOptions.hostProcessspec.containers[].securityContext.windowsOptions.hostProcessspec.initContainers[].securityContext.windowsOptions.hostProcessspec.ephemeralContainers[*].securityContext.windowsOptions.hostProcess
disallow-privileged-containers
特権コンテナを使用しない。
関連するk8sのPod Security Standard: Privileged Containers
対処方法
以下のフィールドを削除するか、falseに設定してください。
spec.containers[].securityContext.privilegedspec.initContainers[].securityContext.privileged
disallow-proc-mount
/procを読み取ることができないようにする。
関連するk8sのPod Security Standard: /proc Mount Type
対処方法
以下のフィールドを削除するか、 Defaultに設定してください。
spec.containers[].securityContext.procMountspec.initContainers[].securityContext.procMountspec.ephemeralContainers[*].securityContext.procMount
disallow-selinux
SELinuxを無効にしない。
関連するk8sのPod Security Standard: SELinux
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
spec.containers[*].securityContext.seLinuxOptions.typespec.initContainers[*].securityContext.seLinuxOptionsspec.ephemeralContainers[*].securityContext.seLinuxOptions.type
許容される値
container_tcontainer_init_tcontainer_kvm_t
restrict-apparmor-profiles
特定のAppArmorプロファイルのみを許可する。
関連するk8sのPod Security Standard: AppArmor
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
container.apparmor.security.beta.kubernetes.io
許容される値
runtime/defaultlocalhost/*
restrict-seccomp
Seccompプロファイルを無効にしない。
関連するk8sのPod Security Standard: Seccomp
対処方法
制限されるフィールドを削除するか、許容される値を設定してください。
制限されるフィールド
spec.securityContext.seccompProfile.typespec.containers[].securityContext.seccompProfile.typespec.initContainers[].securityContext.seccompProfile.typespec.ephemeralContainers[*].securityContext.seccompProfile.type
許容される値
RuntimeDefaultLocalhost
restrict-sysctls
Sysctlパラメータを無効にしない。
関連するk8sのPod Security Standard: Sysctls
対処方法
spec.securityContext.sysctlsフィールドを削除するか、以下の値を指定してください。
kernel.shm_rmid_forcednet.ipv4.ip_local_port_rangenet.ipv4.ip_unprivileged_port_startnet.ipv4.tcp_syncookiesnet.ipv4.ping_group_range