Security and privacy for smart cities have attached much attention. As cloud computing can provide secure and reliable data storage and data sharing, it has become an important infrastructure for smart cities. However, in the cloud storage system, the cloud server cannot be fully trusted. Therefore, new solutions of access control of cloud data need to be proposed. In this paper, we construct a proxy-assisted access control scheme. We use the method of ciphertext policy attribute-based encryption (CP-ABE) to realize access control of cloud data for smart cities. Since major computation of decryption is outsourced to the cloud server, our scheme can achieve efficient user decryption. We also present an efficient user and attribute revocation method for our scheme which achieves both forward security and backward security. Finally, we give secure and performance analysis of our scheme, which show that our scheme is secure and highly efficient.