If you use a local script to set the camera’s CameraType to Enum.CameraType.Attach, the camera will be locked to the player’s head in the Y-Z plane.
Players will still be able to pan their camera up or down, but if you don’t want that then you’d have to use Enum.CameraType.Scriptable and use a RunService event to lock the camera in your desired angle and offset from the player’s head.