This document discusses enforcing multi-user security policies in cloud computing. It describes using key-policy attribute-based encryption (KP-ABE) to allow flexible and fine-grained access control of encrypted data stored on cloud servers. The database is encrypted using KP-ABE before being stored. A key management authority generates key sets for authorized users to decrypt portions of the database according to assigned access policies. This allows complex queries to be run on the encrypted database while protecting data confidentiality even from the cloud server.