I am looking for a formal definition of random assignment.

Let $\mathbf{Z}$ be a vector of treatment assignments in which each element is 0 (unit not assigned to treatment) or 1 (unit assigned to treatment). In a JASA article, [Angrist, Imbens, and Rubin (1996, 446-47)](http://people.ucsc.edu/~cdobkin/Classes/Reza/Identification%20of%20Causal%20Effects%20Using%20Instrumental%20Variables%20%28Angrist%29.pdf) say that treatment assignment $Z\_i$ is random if $\Pr(\mathbf{Z} = \mathbf{c}) = \Pr(\mathbf{Z} = \mathbf{c'})$ for all $\mathbf{c}$ and $\mathbf{c'}$ such that $\iota^T\mathbf{c} = \iota^T\mathbf{c'}$, where $\iota$ is a column vector with all elements equal to 1.

In words, the definition seems to be this: assignment $Z\_i$ is random if any vector of assignments that includes $m$ assignments to treatment is as likely as any other vector that includes $m$ assignments to treatment. 

This definition seems unsatisfactory. What if I decide a priori that I want to rule out a particular vector of assignments, and choose one of the remaining vectors at random? This practice would not satisfy the AIR definition, but it would still be random assignment.

Here is an example. Imagine a binary assignment to treatment for each of two subjects. Let $\mathbf{Z}$ be the vector of treatment assignments. Then $\mathbf{Z}$ has four possible values: {0, 0}, {0, 1}, {1, 0}, and {1, 1}. By the AIR definition, assignment is random only if $\Pr(\mathbf{Z} = \{1, 0\}) = \Pr(\mathbf{Z} = \{0, 1\})$. But why should this be the definition of random assignment, or even a necessary condition for it? What if I simply decide that I want to rule out {0, 1} and choose at random from the three remaining vectors? It seems that this practice is consistent with conventional understanding of random assignment but inconsistent with the AIR definition.

So: is there a formal definition of random assignment that encompasses the idea that the experimenter may rule out some assignment vectors a priori?