We present in this paper a distributed protocol that provides an access control mechanism for IP multicast. The protocol distributes a right to multicast between multicast IP group members in a fair manner. The protocol constructs a control tree that includes every host member of a given multicast IP group. The protocol updates dynamically the control tree as group members join and leave the group. The protocol is scalable: the state information kept by each member is constant and independent of the group size and of the tree structure. The paper describes the protocol and its implementation.