This paper studies a resource allocation problem where a set of users within a specific region is served by cloud radio access network (C-RAN) structure consisting of a set of base-band units (BBUs) connected to a set of radio remote heads (RRHs) equipped with a large number of antennas via limited capacity front-haul links. User association to each RRH, BBU and front-haul link is essential to achieve high rates for cell-edge users under network limitations. We introduce two types of optimization variables to formulate this resource allocation problem: (i) C-RAN user association factor (UAF) including RRH, BBU and front-haul allocation for each user and (ii) power allocation vector. The formulated optimization problem is non-convex with high computational complexity. An efficient two-level iterative approach is proposed. The higher level consists of two steps where, in each step, one of these two optimization variables is fixed to derive the other. At the lower level, by applying different transformations and convexification techniques, the optimization problem in each step is broken down into a sequence of geometric programming (GP) problems to be solved by the successive convex approximation (SCA). Simulation results reveal the effectiveness of the proposed approach to increase the total throughput of network, specifically for cell-edge users. It outperforms the traditional user association approach, in which, each user is first assigned to the RRH with the largest average value of signal strength, and then, based on this fixed user association, front-haul link association and power allocation are optimized.