A defensive alliance in a graph is a set of vertices such that for every vertex , the closed neighborhood of has at least as many vertices in as it has in . An offensive alliance is a set of vertices , such that for every vertex in the boundary of the number of neighbors that has in is greater than or equal to the number of neighbors it has in . A subset of vertices which is both an offensive and a defensive alliance is called a powerful alliance. An alliance which is also a dominating set is called a global alliance. In this paper, we show that finding an optimal defensive (offensive, powerful) global alliance is an NP-hard problem.