In this era, even sensitive data is stored and shared on the internet using trusted third parties and service providers. Cloud computing is one of the emerging technologies that is being used widely on these days. It makes use of the computing resources such as hardware and software that is delivered over the internet and provides remote services with user's data, software and computation. As the data is shared over the network, it is needed to be encrypted. Sharing of data means the data should be secured and proper access control should be maintained. There are many encryption schemes that provide security and access control in clouds. This paper presents a survey on various encryption schemes that provide security, scalable and flexible fine grained access control.