13. A system comprising: one or more hardware processors; and one or more memory devices comprising instructions that, when executed by the 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 configuring the one or more processors to: crawl the plurality of secure data stores residing on a plurality of different computer systems; generate 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 secure data stores; store, in the index, for each document in the plurality of documents, the corresponding one or more security requirements; receive a query and user identification information from a client device; provide 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); validate a user against at least one identity management system in the plurality of identity management systems; in response to receiving the query, obtain security information for the user of the client device; select 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 transmit links to each selected document in the index as a result set to the client device to service the query from the client device.
13. A system comprising: one or more hardware processors; and one or more memory devices comprising instructions that, when executed by the 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 configuring the one or more processors to: crawl the plurality of secure data stores residing on a plurality of different computer systems; generate 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 secure data stores; store, in the index, for each document in the plurality of documents, the corresponding one or more security requirements; receive a query and user identification information from a client device; provide 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); validate a user against at least one identity management system in the plurality of identity management systems; in response to receiving the query, obtain security information for the user of the client device; select 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 transmit links to each selected document in the index as a result set to the client device to service the query from the client device. 17. The system of claim 13 , wherein: the one or more security requirements comprises one or more security attributes; each of the one or more security attributes for each of the plurality of documents is associated with a corresponding set of acceptable security attribute values; the security information for the user of the client device comprises one or more security attributes of the user and one or more security attribute values for each of the one or more security attributes of the user; and the one or more security requirements are satisfied by the security information of the user when, for each of the one or more security attributes of the document: the security attribute value of the document matches at least one of the one or more security attributes of the user; and at least one of the one or more security attribute values of the at least one of the one or more security attributes of the user falls within the set of acceptable security attribute values of the security attribute of the document.