Faits: A. X._, né en 1976, accomplit un stage d'avocat. Par décision du 10 avril 2007, l'Organe cantonal de contrôle de l'assurance-maladie et accidents du canton de Vaud (ci-après: OCC) a refusé de lui allouer un subside pour la réduction de ses primes d'assurance-maladie. Il a confirmé ce refus par une décision sur opposition du 7 mai 2007. L'OCC a considéré que le requérant vivait en ménage commun avec Y._. Il a dès lors pris en compte l'ensemble des ressources de la communauté domestique, soit en particulier les salaires respectifs du requérant et de Y._. Après imputation des déductions légales et forfaitaires, il en résultait un revenu déterminant de 92'800 fr. (janvier 2007) et de 85'800 fr. (février à décembre 2007). Ces montants étaient largement supérieurs à 45'000 fr., soit, pour un couple, la limite au-delà de laquelle une subvention pour le paiement des primes ne peut pas être accordée. B. Statuant le 31 août 2007, le Tribunal des assurances du canton de Vaud a rejeté le recours formé contre la décision sur opposition par X._. C. X._ a formé un recours en matière de droit public dans lequel il conclut à l'annulation du jugement cantonal et de la décision sur opposition de l'OCC, assortie du renvoi de la cause à l'OCC pour qu'il lui accorde des subsides à partir du 1er janvier 2007. L'OCC conclut au rejet du recours. D. Par ordonnance du 8 janvier 2008, le Tribunal fédéral a refusé d'accorder l'assistance judiciaire à X._, au motif qu'il disposait d'une fortune nette suffisante pour s'acquitter d'une avance de frais sans entamer les moyens nécessaires à son entretien.