This is similar to an options product, and is created in the same way. But you can choose to create 'combinations'. The system will then create a unique record for each permutation of the options. This allows you to record stock level for each permutation separately, and have a different SKU / item code for each permutation.
The number of permutations will be limited to a few hundred for performance reasons. Remember that you only need to create a combinations product if you are stock tracking or need a unique SKU for each permutation - otherwise use an options product.