The answer is: A. The federal government
The federal government can determine the criteria of immigration depending on what the nation currently need. (the president would have the highest influence in determining the criteria).
For example, when the nation need large number of labors, the federal government could make the criteria for immigration become a little bit loose so many people can come in. If the nation need capital injection, the government could change the criteria based on personal net worth.