This is a fun problem to solve. Flow of noncompressible media (like water) can be tough to control with much precision. Fortunately, cooling applications don't require great flow control precision.
There are a few ways I've seen the flow control problem solved:
1) Proportional flow control valves. Depending on the precision you require (probably not much), these can range from really cheap butterfly-style valves to very complicated pilot controlled poppet valves. Note that you probably never want to shut flow off completely- both because your pump may not like it and because of the issue I mentioned above. The use of the valve can have a big impact on how the overall system works.
- A proportional valve is used to variably block the pump output. This is the simplest to plumb, but can cause problems in edge cases. Most variable flow rate cooling applications rely on measuring the outlet coolant temperature as the "process variable" for feedback in loop closure. This works great within a defined flow range, but note that if your controller drives the flow rate to zero (i.e. in a cold startup condition where no cooling is required), then you have no flow and no way to measure the temperature of the coolant. A device can overheat while the thermal management controller believes that it is cold.
- A proportional valve is used as a bypass connected in hydraulic parallel with a fixed orifice valve. The orifice sets the minimum flow (i.e. with the valve fully closed), and then valve can be variably opened to increase flow up to the system max.
- A 3-way proportional valve is used at the pump inlet to vary the mix of "cool" coolant and "hot" coolant (i.e. what is coming out of the device being cooled without first passing through a heat exchanger). This is the way that most engine cooling works - coolant recirculates until the temp rises to the point of opening the thermostat, after which the thermostat provides a continuously variable mix of hot and cold coolant to the engine block. This approach is novel in that it uses a paraffin wax-controlled valve to do loop closure - no electronics required!
2) Variable speed pump. As Jippie mentioned, a DC pump motor (or AC pump motor with variable frequency drive) can be used to vary flow within a certain range. Note that the range of flow from full to minimum (often called the "turndown ratio") generally isn't as wide using variable speed pump control as using a valve (unless you use a positive displacement pump), due to flow nonlinearities within the pump itself.
3) Variable displacement / variable geometry pump. This is overkill for what you're trying to achieve, but is commonly used for variable flow hydraulic pumps - it allows the pump to run at a fixed speed and the internal displacement of the pump is controlled to vary flow.
The best choice for your application will depend a lot on the type of pump that you intend to use, the nominal flow rate required, the required temperature control accuracy, and the risks associated with under- or over-temperature operation of your equipment.