7. A non-transitory, computer-readable storage medium comprising instructions that, when executed by one or more processors, cause the one or more processors to build and use a secure index to service queries for a plurality of secure data stores by performing operations comprising: crawling the plurality of secure data stores residing on a plurality of different computer systems; generating an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of data secure stores; storing, in the index, for each document in the plurality of documents, the corresponding one or more security requirements; receiving a query and user identification information from a client device; providing the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API); validating a user against at least one identity management system in the plurality of identity management systems; in response to receiving the query, obtaining security information for the user of the client device; selecting each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and transmitting links to each selected document in the index as a result set to the client device to service the query from the client device.
7. A non-transitory, computer-readable storage medium comprising instructions that, when executed by one or more processors, cause the one or more processors to build and use a secure index to service queries for a plurality of secure data stores by performing operations comprising: crawling the plurality of secure data stores residing on a plurality of different computer systems; generating an index of a plurality of documents from across the plurality of secure data stores, wherein each of the plurality of documents is associated with one or more security requirements from a corresponding one of the plurality of data secure stores; storing, in the index, for each document in the plurality of documents, the corresponding one or more security requirements; receiving a query and user identification information from a client device; providing the user identification information to at least one of a plurality of identity management systems, wherein each of the plurality of identity management systems receives the user identification information through a respective Application Program Interface (API); validating a user against at least one identity management system in the plurality of identity management systems; in response to receiving the query, obtaining security information for the user of the client device; selecting each document in the index that is responsive to the query and where the corresponding one or more security requirements are satisfied by the security information of the user; and transmitting links to each selected document in the index as a result set to the client device to service the query from the client device. 10. The non-transitory, computer-readable storage medium of claim 7 , wherein the one or more security requirements includes at least one grant attribute or at least one deny attribute.