  We study K3 surfaces with complex multiplication following the classical work
of Shimura on CM abelian varieties. After we translate the problem in terms of
the arithmetic of the CM field and its id\`{e}les, we proceed to study some
abelian extensions that arise naturally in this context. We then make use of
our computations to determine the fields of moduli of K3 surfaces with CM and
to classify their Brauer groups. More specifically, we provide an algorithm
that given a number field $K$ and a CM number field $E$, returns a finite lists
of groups which contains $\mathrm{Br}(\overline{X})^{G_K}$ for any K3 surface
$X/K$ that has CM by the ring of integers of $E$. We run our algorithm when $E$
is a quadratic imaginary field (a condition that translates into $X$ having
maximal Picard rank) generalizing similar computations already appearing in the
literature.
