Preheat oven to 350°. Cut off tough, leatherlike skin from ham (if it has it) and score fat and meat in a crosshatch pattern. Put ham, fat side up, in a large roasting pan and tent loosely with foil. Bake until a thermometer in thickest part of meat reaches 120°, about 1 1/2 hours.
Meanwhile, make glaze: In a bowl, whisk sugar, zest, juice, and ginger until smooth.
Uncover ham and pour glaze over it into pan. Bake ham, uncovered, basting ham and stirring glaze every 10 minutes, until glaze is a thickened, shiny syrup and thermometer in meat reaches 135° to 140°, 15 to 30 minutes total.
Let ham rest 5 minutes, then brush with glaze and transfer to a cutting board. Scrape remaining glaze into a small bowl. Carve ham and spoon more glaze on top.
Note: Nutritional analysis is per serving.