US20110214165A1 - Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data - Google Patents
Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data Download PDFInfo
- Publication number
- US20110214165A1 US20110214165A1 US13/034,323 US201113034323A US2011214165A1 US 20110214165 A1 US20110214165 A1 US 20110214165A1 US 201113034323 A US201113034323 A US 201113034323A US 2011214165 A1 US2011214165 A1 US 2011214165A1
- Authority
- US
- United States
- Prior art keywords
- server
- application
- external
- connection
- credentials
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Definitions
- the connection server 204 Upon receiving the request for data, the connection server 204 provides a credential request to the authentication server 206 .
- the credential request includes an identification of the external data source (e.g., data store 208 ) or external server process to be accessed and an account identifier associated with the application 202 or a user of the application 202 .
- the authentication server 206 may verify the account or user credentials and may search an identity map for a set of credentials associated with both the account identifier and the external data source (e.g., data store 208 ) or external server process.
- An identity map may be administered according to certain identity map rules. For example, a shared login owner may have full control over the identity map's contents, including identifying the users or groups who may consume the identity or manage the shared login. The users and groups identified in the manager list may read the identity from the shared login and modify the consumer memberships, but may only modify the consumer memberships. This permits the identity map owner to delegate management of application users as identity map consumers. The users and groups identified in the consumer list are used to confirm the authenticated user's membership, allowing an identity map manager to extract credentials on their behalf.
- the domain name is a search criterion used to locate an identity map for an authenticated consumer
- a group name is an optional search criterion used to locate an identity map for an authenticated consumer.
- FIGS. 10A , 10 B, and 10 C depict example systems for use in implementing an authentication manager.
- FIG. 10A depicts an exemplary system 1000 that includes a stand alone computer architecture where a processing system 1002 (e.g., one or more computer processors) includes an authentication manager 1004 being executed on it.
- the processing system 1002 has access to a computer-readable memory 1006 in addition to one or more data stores 1008 .
- the one or more data stores 1008 may include an identity map 1010 as well as user/group mappings 1012 .
- the hardware may also include data input devices, such as a keyboard 1072 , or other input device 1074 , such as a microphone, remote control, pointer, mouse and/or joystick.
- data input devices such as a keyboard 1072 , or other input device 1074 , such as a microphone, remote control, pointer, mouse and/or joystick.
- a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code.
- the software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Systems and methods are provided for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map. A credential request is received at the authentication server from the connection server. The credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application. The identity map is searched for a set of credentials associated with both the account identifier and the external data source or external server process. The set of credentials are transmitted from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, where the connection is established without transmitting the set of credentials to the application.
Description
- This application claims priority to U.S. Provisional Patent Application No. 61/308,635, filed Feb. 26, 2010, entitled “Processor Implemented Systems and Methods for Using the Catalog Part of a SQL Identifier to Expose/Access Heterogeneous Data.” The entirety of which is herein incorporated by reference.
- The technology described herein relates generally to database access and more particularly to the use of identity maps in conjunction with an authentication server to provide restricted access to server data.
- Applications can require access to data stored in secured database servers (e.g., DBMS servers). Such access may be used to produce reports or execute other tasks. Authorization enforcement strategies may be employed to properly secure the data in the database server on a per user basis to grant different privileges to different users.
- Systems and methods are provided for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map. A credential request may be received at the authentication server from the connection server, where the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application. The identity map may be searched for a set of credentials associated with both the account identifier and the external data source or external server process. The set of credentials may be transmitted from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, where the connection is for providing the application access to the external data source or external server process and where the connection is established without transmitting the set of credentials to the application.
- As another example, a system for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map may include one or more data processors and a computer readable memory encoded with instructions for commanding the one or more data processors to execute a method. In the method, credential request may be received at the authentication server from the connection server, where the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application. The identity map may be searched for a set of credentials associated with both the account identifier and the external data source or external server process. The set of credentials may be transmitted from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, where the connection is for providing the application access to the external data source or external server process and where the connection is established without transmitting the set of credentials to the application.
- As a further example, a computer-readable memory may be encoded with instructions for commanding one or more data processors to execute a method for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity. In the method, credential request may be received at the authentication server from the connection server, where the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application. The identity map may be searched for a set of credentials associated with both the account identifier and the external data source or external server process. The set of credentials may be transmitted from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process and where the connection is for providing the application access to the external data source or external server process, where the connection is established without transmitting the set of credentials to the application.
-
FIGS. 1A and 1B depict example authorization enforcement strategies. -
FIG. 2 is a block diagram depicting an example configuration where a connection server and an authentication server manage access to data. -
FIG. 3 is a block diagram depicting verification of user credentials at a connection server. -
FIG. 4 is a block diagram depicting example communications among a connection server, a database server, and a data store. -
FIG. 5 is a block diagram depicting additional example communications among a connection server, a database server, and a data store. -
FIG. 6 is a block diagram further depicting communications between a connection server and an authentication server. -
FIG. 7 depicts contents of an example identity map. -
FIG. 8 depicts contents of another example identity map. -
FIG. 9 is an object type diagram of an example identity map and its components. -
FIGS. 10A , 10B, and 10C depict example systems for use in implementing an authentication manager. -
FIG. 1A depicts an example authorization enforcement strategy. InFIG. 1A , anapplication 102 with which a user or other program interfaces enforces the data security policies. Theapplication 102 verifies a user's credentials locally, such as by verifying a user's username and password. Once theapplication 102 verifies the credentials, theapplication 102 accesses adatabase server 104 which accesses the desired data in one ormore data stores 106. This configuration may be suboptimal because the security policies are not centralized. Security policies are enforced at individual applications, which may exist on many different physical computers. Such a configuration may be a security risk and may be difficult to administer. -
FIG. 1B depicts a second example authorization strategy. InFIG. 1B anapplication 152 interfaces with adatabase server 154, where the database server enforces data security policies using individual user accounts. Theapplication 152 may receive user credentials and forward those credentials to thedatabase server 154. Thedatabase server 154 may verify the credentials of the user, and upon verification, thedatabase server 154 may permit access to the one ormore data stores 156. This configuration may be suboptimal because the security policies are not centralized. Several database servers (e.g., database server 154) may contain data desired by theapplication 152 or other applications. Such a configuration may be a security risk or may be difficult to administer. - Presented herein are general features of identity maps along with usage scenarios starting at the end-user application. Identity maps provide the bridge between first and second tier authentication for a primary server, such as a DataFlux Federation Server (DFS), to seamlessly connect to and communicate with secondary servers, such as external database servers configured within DFS. The primary authentication tier is from the client to the primary server, and the secondary one is from the primary server process to one or more secondary servers, typically preconfigured in primary server metadata.
- The credentials used to authenticate to the secondary servers may be hidden from the identity authenticated in primary tier. This security feature incorporated in the identity map design prevents the primary tier user from directly acquiring the secondary tier credentials (e.g., a user id and password tuple) thereby forcing access to the secondary server through the primary one. This is accomplished by a common authentication server which helps to centralize authentication administration and runtime services for applications involving distributed resources across multiple tiered servers.
- Tiered authentication provides the basis for tiered authorization enforcement whereby the primary tier enforces privileges on primary server operations for the primary server users and the secondary tier enforces privileges on secondary server operations for the secondary server user. In the case of DFS, the secondary servers are the backend database servers, and both DFS and the database servers perform authorization enforcement for their users. Identity maps provide a secure way to map each primary server user identity to multiple secondary server identities where this enforcement can take place in a manageable, predictable way.
- Identity maps can be employed by any n-level multi-tiered authentication scheme to hop from one server to the next without multiple prompts and without regards to server type so long as the credentials required to authenticate in tier n+1 are available to the server process and not the connecting client in tier n for each tier.
-
FIG. 2 is a block diagram depicting an example configuration where a connection server and an authentication server manage access to data. A user or other application interfaces with afirst application 202. For example, a user may interact with theapplication 202 to generate a report. A user may provide user credentials that entitle that user to access the data needed for the desired report. Theapplication 202 passes the user credentials and the data request to aconnection server 204. - Either the
application 202 or theconnection server 204 may perform an initial verification of the received user credentials. If the connection between theconnection server 204 and theauthentication server 206 is a trusted connection, then theauthentication server 206 may rely on a connection server's verification of the user credentials, and theauthentication server 206 may not perform an independent verification. If the connection is not a trusted connection, then theauthentication server 206 may receive and verify the user credentials. - The
connection server 204 and theauthentication server 206 interact to provide credentials for the connection server to establish a connection to the external data source (e.g., data store 208) based on the verified identity of the user. For example, an initial connection may be established between the connection server and the authentication server. This initial connection may be established using credentials of an identity map manager of one or more identity maps. This connection may be persisted through multiple client credential requests. - Upon receiving the request for data, the
connection server 204 provides a credential request to theauthentication server 206. The credential request includes an identification of the external data source (e.g., data store 208) or external server process to be accessed and an account identifier associated with theapplication 202 or a user of theapplication 202. Theauthentication server 206 may verify the account or user credentials and may search an identity map for a set of credentials associated with both the account identifier and the external data source (e.g., data store 208) or external server process. Theauthentication server 206 may transmit a retrieved set of credentials to theconnection server 204 for the connection server to establish a connection to the external data source (e.g., data store 208) or external server process, such as viadatabase server 210. The connection server may also access thedata store 208 directly. In this manner, the connection between the application and the external data source (e.g., data store 208) or external server process can be established without transmitting the set of credentials to the application. - A verification of credential provided by a user may be provided at a number of stages.
FIG. 3 is a block diagram depicting verification of user credentials at a connection server. Auser 302 provides hisusername 304 andpassword 306 to anapplication 308. Theapplication 308 may verify the credentials, or theapplication 308 may forward theuser name 304 andpassword 306 to theconnection server 310 for verification. Upon verification of theusername 304 andpassword 306 at theconnection server 310, theuser 302 may subsequently be referenced by a user identifier. -
FIG. 4 is a block diagram depicting example communications among a connection server, a database server, and a data store. Aconnection server 402 provides a user identifier and adatabase identifier 404, identifying the database(s) the user wishes to access, to anauthentication server 406. Theauthentication server 406accesses credentials 408 for the user to access the database(s) identified in themessage 404 from the connection server and provides thecredentials 408 to theconnection server 402. Theconnection server 402 provides thecredentials 408 to thedatabase server 410 along with aquery 412 for the desired data from one ormore data stores 414. If thecredentials 408 provided to thedatabase server 410 are valid, then thedatabase server 410 accesses the desired data from the one ormore data stores 414 and provides that desireddata 416 to the connection server for subsequent sending to a user or user application. -
FIG. 5 is a block diagram depicting additional example communications among a connection server, a database server, and a data store. A single user may be associated with multiple sets of credentials. All of the users credentials stored in theauthentication server 502 may be associated with a credentials handle 504. Using a credentials handle 504 may enable aconnection server 506 to quickly requestcredentials 508 for a user by referencing the credentials handle 504. Upon an initial access request, theconnection server 506 may provide a username andpassword 510 to theauthentication server 502 for the owner of the database credentials. Theauthentication server 502 may verify the username and password and provide the credentials handle 504 upon verification. Theconnection server 506 may then requestindividual credentials 508 fordata store 514 accesses usingcredentials requests 512 by referencing thedata store 514 to be accessed and the credentials handle 504.Credentials requests 512 may include other data including user domains, user groups, etc. - The
connection server 506 provides thecredentials 508 to the database server along with aquery 516 for the desired data from one ormore data stores 514. If thecredentials 508 provided to thedatabase server 518 are valid, then thedatabase server 518 accesses the desired data from the one ormore data stores 514 and provides that desireddata 520 to the connection server for subsequent sending to a user or user application. -
FIG. 6 is a block diagram further depicting communications between a connection server and an authentication server. Aconnection server 602 provides a user identifier and a database to accessidentifier 604 to theauthentication server 606. Theauthentication server 606 may utilize anidentity map 608 to identify theproper credentials 610 to return to theconnection server 602. - An
identity map 608 may be administrated by anauthentication server administrator 612. Certain of the configurations described herein may be advantageous because those implementations offer centralized maintenance of credentials. Theauthentication server administrator 612 can add, delete, or update any data store access credentials at a single location. Such centralized administration offers numerous security advantages including fast response to business reality changes (e.g., disabling data store access for terminated employees) and avoiding stale credentials that may occur when credential settings are spread across multiple physical locations and applications. Centralized credential maintenance also offers significant efficiency gains for theauthentication server administrator 612. For example, credentials may be assigned to groups of users as opposed to individual users, as discussed herein below. In such a case, an authentication server administrator may greatly limit the number of credentials that are to be tracked. An authentication server may centrally hold identity maps for many connection servers. For example, a collection key may associate the identity map to the connection server. - The centralized access provided by an authentication server offers a number of other advantages as well. For example, a user may never have access to the raw credentials required to access one of the data stores. Such a system prohibits unauthorized sharing of those credentials and offers easy changing or disabling of such credentials should their security be breached. The centralized authentication server also offers improved usability for users and applications because users and applications need only track one set of individual credentials (e.g., a username and password) for access to multiple data stores. The specific credentials necessary for any specific data store access are tracked by the authentication server and not the user.
- An identity (principal map) may include a number of features. Example features include:
-
- Ownership: An identity map may have one owner, a user (identity) previously defined in an authentication server (AS). Owners may delegate consumption to managers.
- Delegation of management: A complete identity map has at least one manager, designated by either the user owner or an AS administrator and optionally additional user and group managers. Managers may add or remove consumers and may extract the identity map's outbound identity and password on behalf of any of its consumers.
- Delegation of consumption: A complete identity map has at least one consumer, designated by either the owner or an AS administrator. Consumers may access secondary server resources (available to the outbound identity).
- Primary server association: An identity map is associated with a primary server or a collaboration of primary servers by a collection key. The collection key groups all identity maps that are used by a particular primary server to authenticate to its secondary servers.
- Secondary server association: An identity map is associated with exactly one secondary server by a domain name. The domain may correspond to a real domain controller, but always uniquely identifies an instance of a secondary server to a primary server.
- Application context: In AS users and groups may be scoped to a particular “application” group through ordinary group membership. Membership in a particular application group may be specified as a selection criterion when extracting outbound credentials for an identity map consumer. An identity may be a consumer of multiple maps, directly or indirectly, through membership in multiple application groups. An application group name may be specified at extract time by the owing application as a means of indirectly selecting the outbound credentials associated with a particular secondary server.
-
FIG. 7 depicts contents of an example identity map. Theexample identity map 702 includes a table having columns corresponding to auser identifier 704, adata source identifier 706, and datastore access credentials 708. Upon receipt of a credentials request, an authentication server may search the identity map for a record that contains the user identifier and the data source identifier contained in the credentials request. The authentication server may then return the data source access credentials that correspond with the located record, if such a record is located. -
FIG. 8 depicts contents of another example identity map. In the example ofFIG. 8 , the credentials are organized based on a group association of an accessing user. The identity map includes columns corresponding to auser group identifier 804, adata source identifier 806, and data sourceaccess credentials 808. Upon receipt of a credentials request, an authentication server may first identify one or more groups with which the requesting user is associated. The group lookup may also be performed by other entities, where the credentials request received by the authentication server may identify one or more user groups. The authentication server performs a search of the identity map to identify one or more records that include the group identifier and the received data source identifier. The authentication server may then output the data source access credentials associated with those records. For example, a single user may assume multiple identities to the same resource. -
FIG. 9 is an object type diagram of an example identity map and its components. The diagram depicts various features described herein. Example association ends are labeled with cardinalities provided. InFIG. 9 , type names are in bold, attribute names are in normal typeface, and object attributes are italicized. The cardinality shown on the Managers and Consumers associations are those of a “complete” identity map. The actual cardinality is 0 . . . n for those associations. However, an identity map normally would not be without manager or consumers except in a temporary state while in construction or out of service. Not shown is an ID attribute that may be common to both Identity and Group objects. The ID uniquely identifies an instance of an object within AS and may be used to locate it. - This written description uses examples to disclose the invention, including the best mode, and also to enable a person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples. For example, in one example configuration topology, a system may include an application with connection information such as host and port to connect to a connection server. A system may further include an application that is responsible for retrieving credentials from its users, and passing them to the connection server. A system may further include a connection server with connection information such as host and port to connect to an authentication server. The connection server is configured with one or more credentials (e.g., user names/passwords) for connection to the authentication server for use in retrieving credentials from an identity map. These credentials are identified as the manager or owner of all identity maps to be considered when searching for credentials to external data sources or external server processes.
- The connection server is configured with a collection key, which is passed on to the authentication server to scope qualifying identity maps. The connection server is a secured server. Any server metadata stores are locked down to the connection server process user and possibly other users operating in administrative roles. Server configuration may be stored in memory or persisted in a metadata store.
- Connection servers are configured with connection information to connect to external data sources and/or external server processes. Connection metadata may include a consumer group to uniquely identify an identity map login when multiple identity maps are available to any application user. The connection server may additionally implement authorization mechanisms to grant/deny authenticated users specific actions through the server.
- A system may also include an authentication server which has the ability to authenticate (verify) user names/passwords. Additionally, the authentication server is configured with users (identities), groups/group membership, authenticating logins (inbound), and logins to external data sources and servers (outbound). These logins to external resources may be owned by a user, or an identity map. If an identity map, each map will have (in addition to the login) a map owner, map consumers (users or groups who are given permission to use the login), map managers (users or groups who may read the login in the identity map and optionally modify the map consumer list), and a collection key map attribute that identifies map availability to connection servers. The authentication server is a secured server. Any server metadata stores are locked down to the authentication server process user and possibly other users operating in administrative roles (AS administrators). Server configuration may be stored in memory or persisted in a metadata store.
- Following is a description of an example system and process flow for a use of identity maps (e.g., an identity map) to provide restricted access to a backend server. The SAS DataFlux Authentication server implements an identity map to give business application users secure yet granular access to backend databases while limiting the administrative burden associated with managing associated DBMS accounts and SQL authorizations. The identity map object is a flexible user identity mechanism that maps a user identity authenticated in one domain to a user identity authenticated in another domain.
- An identity map may be implemented as an identity map object. This object may consists of the following:
- 1. An association to a single named authentication domain object. The domain object has attributes that describe how identities in the specified domain are formed when extracted from an identity map, as either “userid” or “domain\userid” or “userid@domain”.
- 2. A user identifier (userid) in the authentication domain.
- 3. A password to be paired with the identity and used to authenticate to another server in the authentication domain.
- 4. A consumer list. This list identifies the users and groups who may use the identity to authenticate to another server. Consumers cannot read the identity or password.
- 5. A manager list. This identifies the users and groups who may read the identity and password.
- 6. An owner. This identifies the user who may modify the contents of the identity map.
- A system may further include an identity mapping authentication server. This server is responsible for authenticating users and persisting and managing domain objects, group objects, user objects and identity map objects. The DataFlux Authentication Server is an example of such a server.
- A system may also include a secured process server that is responsible for providing application functionality. Such a server could have many different functions, depending on the application. It may be responsible for implementing identity maps. It may also authenticate users through the authentication server and leverage identity maps to extract credentials for authentication in pier servers. An example of this server is the DataFlux Federation Server, which provides secured data access to application users.
- The following is an example process flow. An application may require access to a secured server for data or process execution. The application requires that the user enter credentials. The application sends the credentials to the Secured Process Server (SPS). This server uses the authentication server to authenticate the user. If the user is authenticated, the SPS can perform work as directed by the user and perform appropriate authorization enforcement based on the authenticated user identity. If the user requests services that are delegated through secure backend or pier servers, the SPS would authenticate to those servers on behalf of the user by obtaining mapped credentials from identity maps.
- The SPS uses a connection to the authentication server made by a manager of all identity maps needed to map the SPS users into user identities in its backend or pier servers. Backend or pier servers are associated in the SPS with one or more domain names which are subsequently used to search candidate identity maps for the user. The remaining filtering is done by confirming the user's membership in the consumer list and optionally requiring membership in a particular group in the identity map's consumer list. Credentials are extracted from matching maps and passed through to the backend or pier servers for authentication and access to the delegated services.
- An identity map may be administered according to certain identity map rules. For example, a shared login owner may have full control over the identity map's contents, including identifying the users or groups who may consume the identity or manage the shared login. The users and groups identified in the manager list may read the identity from the shared login and modify the consumer memberships, but may only modify the consumer memberships. This permits the identity map owner to delegate management of application users as identity map consumers. The users and groups identified in the consumer list are used to confirm the authenticated user's membership, allowing an identity map manager to extract credentials on their behalf. The domain name is a search criterion used to locate an identity map for an authenticated consumer, and a group name is an optional search criterion used to locate an identity map for an authenticated consumer.
- The following is another example process flow. The DataFlux Federation Server (DFS) uses the DataFlux Authentication Server (DAS) to authenticate the connecting user. The DFS manages connection information to multiple backend DBMS data sources, each of which is associated with a domain name. The user's connection string specifies which data sources the user wants to connect to, but credentials to those data sources are not specified in the string. The credentials are instead extracted by DFS using a DAS connection made through a DFS identity maps manager account. This account belongs to a user that is a member of all identity maps associated with all the domains configured with the DFS backend DBMS data sources. The connection string may optionally contain a GROUP=groupname specification which further qualifies candidate identity maps for credentials extraction. This process is repeated for each backend database connection, and the resulting DFS connection is then able to access SQL data from multiple data sources without disclosing shared DBMS credentials to the DFS user.
- SQL authorizations are enforced for the user in the DFS, simplifying security administration. DFS users cannot connect directly to the backend data sources since the credentials are protected in the DAS identity maps created for those users (consumers). Additionally, the identity maps allow DBMS accounts to be shared thereby reducing the administrative burden of managing the backend database servers.
- Following is another example process of using identity maps in a multi-tiered authentication scheme:
- 1. A primary server connects to AS using credentials of an identity who is a common manager of all identity maps with a particular collection key value. The value identifies the primary server instance and thus all identity maps configured for use in that server to establish back-end connections to secondary servers. The identity map manager identity and password as well as the collection key itself are preconfigured in the primary server's metadata or supplied as part of the primary server's startup parameters.
2. From step 1, an identity handle (ihm) is returned to the primary server process and cached for use later when establishing secondary connections on behalf of primary server end-users.
3. Steps 1 and 2 occur in the primary server during its startup sequence. Remaining steps occur per client connection to the primary server.
4. An application prompts for end-user credentials (e.g., identity, password tuple) and passes the credentials as inbound credentials to the primary server along with a connection name (dsn) and an application group name (g). The application expects to receive a handle back from the primary server upon successful connection.
5. The primary server passes end-user credentials unaltered to AS for authentication and receives either a failure (possibly authentication related) or an identity handle (ihu) for the end-user. Upon successful authentication, and for each secondary server connection configured in the named connection (dsn), the primary server makes a getMappedCredentials( ) call to AS on handle ihm to extract the secondary server's credentials (outbound identity, password tuple). The call includes the primary server's collection key (ck), the application group name (g), the domain name corresponding to the secondary server (dj) and the consumer for which the secondary server's outbound credentials are to be extracted (ihu->id).
6. The getMappedCredentials( )method uses the tuple (ck, g, dj, ihu->id) to locate the identity map from which the credentials are to be extracted: The end user identity, uniquely identified in AS by ihu->id, must directly or indirectly be a member of the application group, g, which must directly or indirectly be a consumer of any candidate maps considered. Candidate maps are further filtered by primary server's collection key (ck) and secondary server domain (d), both of which must also match. If the search criteria yield exactly one identity map, then its credentials are extracted and returned to the primary server. These remain hidden from the end-user behind the primary server's process boundary.
7. Credentials for the secondary server (associated with domain,) and returned in step 6 are used to establish a connection, sj. The secondary server connection is added to the end-user connection being constructed by the primary server, which can be expressed as p=(s0, s1, . . . , sn−1), an n-way tiered connection.
8. When connections to all secondary servers are established, the tiered connection handle (p) is returned from the primary server to the application. This handle may be used to access data or services from the secondary servers according to interfaces provided by and authorization rules enforced on the primary server for the original end-user identity corresponding to handle ihu. -
FIGS. 10A , 10B, and 10C depict example systems for use in implementing an authentication manager. For example,FIG. 10A depicts anexemplary system 1000 that includes a stand alone computer architecture where a processing system 1002 (e.g., one or more computer processors) includes anauthentication manager 1004 being executed on it. Theprocessing system 1002 has access to a computer-readable memory 1006 in addition to one ormore data stores 1008. The one ormore data stores 1008 may include anidentity map 1010 as well as user/group mappings 1012. -
FIG. 10B depicts asystem 1020 that includes a client server architecture. One ormore user PCs 1022 accesses one ormore servers 1024 running anauthentication manager 1026 on aprocessing system 1027 via one ormore networks 1028. The one ormore servers 1024 may access a computerreadable memory 1030 as well as one ormore data stores 1032. The one ormore data stores 1032 may contain anidentity map 1034 as well as user/group mappings 1036. -
FIG. 10C shows a block diagram of exemplary hardware for astandalone computer architecture 1050, such as the architecture depicted inFIG. 10A that may be used to contain and/or implement the program instructions of system embodiments of the present invention. Abus 1052 may serve as the information highway interconnecting the other illustrated components of the hardware. Aprocessing system 1054 labeled CPU (central processing unit) (e.g., one or more computer processors), may perform calculations and logic operations required to execute a program. A processor-readable storage medium, such as read only memory (ROM) 1056 and random access memory (RAM) 1058, may be in communication with theprocessing system 1054 and may contain one or more programming instructions for performing the method of implementing an authentication manager. Optionally, program instructions may be stored on a computer readable storage medium such as a magnetic disk, optical disk, recordable memory device, flash memory, or other physical storage medium. Computer instructions may also be communicated via a communications signal, or a modulated carrier wave. - A
disk controller 1060 interfaces one or more optional disk drives to thesystem bus 1052. These disk drives may be external or internal floppy disk drives such as 1062, external or internal CD-ROM, CD-R, CD-RW or DVD drives such as 1064, or external or internalhard drives 1066. As indicated previously, these various disk drives and disk controllers are optional devices. - Each of the element managers, real-time data buffer, conveyors, file input processor, database index shared access memory loader, reference data buffer and data managers may include a software application stored in one or more of the disk drives connected to the
disk controller 1060, theROM 1056 and/or theRAM 1058. Preferably, theprocessor 1054 may access each component as required. - A
display interface 1068 may permit information from thebus 1056 to be displayed on adisplay 1070 in audio, graphic, or alphanumeric format. Communication with external devices may optionally occur usingvarious communication ports 1072. - In addition to the standard computer-type components, the hardware may also include data input devices, such as a
keyboard 1072, orother input device 1074, such as a microphone, remote control, pointer, mouse and/or joystick. - As additional examples, for example, the systems and methods may include data signals conveyed via networks (e.g., local area network, wide area network, internet, combinations thereof, etc.), fiber optic medium, carrier waves, wireless networks, etc. for communication with one or more data processing devices. The data signals can carry any or all of the data disclosed herein that is provided to or from a device.
- Additionally, the methods and systems described herein may be implemented on many different types of processing devices by program code comprising program instructions that are executable by the device processing subsystem. The software program instructions may include source code, object code, machine code, or any other stored data that is operable to cause a processing system to perform the methods and operations described herein. Other implementations may also be used, however, such as firmware or even appropriately designed hardware configured to carry out the methods and systems described herein.
- The systems' and methods' data (e.g., associations, mappings, data input, data output, intermediate data results, final data results, etc.) may be stored and implemented in one or more different types of computer-implemented data stores, such as different types of storage devices and programming constructs (e.g., RAM, ROM, Flash memory, flat files, databases, programming data structures, programming variables, IF-THEN (or similar type) statement constructs, etc.). It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
- The computer components, software modules, functions, data stores and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code. The software components and/or functionality may be located on a single computer or distributed across multiple computers depending upon the situation at hand.
- It should be understood that as used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise. Finally, as used in the description herein and throughout the claims that follow, the meanings of “and” and “or” include both the conjunctive and disjunctive and may be used interchangeably unless the context expressly dictates otherwise; the phrase “exclusive or” may be used to indicate situation where only the disjunctive meaning may apply.
Claims (15)
1. A computer-implemented method of providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map, said method comprising:
receiving a credential request at the authentication server from the connection server, wherein the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application;
searching the identity map for a set of credentials associated with both the account identifier and the external data source or external server process; and
transmitting the set of credentials from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, wherein the connection is for providing the application access to the external data source or external server process, wherein the connection is established without transmitting the set of credentials to the application.
2. The method of claim 1 , wherein the account identifier further provides a group with which the application or the user of the application is associated;
wherein searching further includes searching the identity map for a set of credentials associated with both the group with which the application or the user of the application is associated and the external data source or external server process.
3. The method of claim 1 , wherein the identity map is modified based on authentication information received from an authentication server administrator;
wherein the authentication information associates account identifiers and external data sources or external service processes with credentials.
4. The method of claim 1 , wherein not transmitting the set of credentials to the application prohibits the application or a user of the application from accessing the external data source or external process without using the connection server.
5. The method of claim 1 , wherein a user enters a username and password combination to the application;
wherein the connection server verifies the username and password combination;
wherein the connection server generates an account identifier from the application based on the verified username and password combination;
wherein the connection server transmits the account identifier to the authentication server.
6. The method of claim 1 , wherein the application is provided one of a plurality of levels of access to the external data source or external server process based on the set of credentials provided to the connection server based on the searching the identity map.
7. The method of claim 1 , wherein searching the identity map includes determining a group with which the account identifier is associated; and
searching the identity map for a set of credentials associated with both the group with which the account identifier is associated and the external data source or external server process.
8. A computer-implemented system for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map, said system comprising:
one or more data processors;
a computer-readable memory encoded with instructions for commanding the one or more data processors to execute a method comprising:
receiving a credential request at the authentication server from the connection server, wherein the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application;
searching the identity map for a set of credentials associated with both the account identifier and the external data source or external server process; and
transmitting the set of credentials from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, wherein the connection is for providing the application access to the external data source or external server process, wherein the connection is established without transmitting the set of credentials to the application.
9. The system of claim 8 , wherein the account identifier further provides a group with which the application or the user of the application is associated;
wherein searching further includes searching the identity map for a set of credentials associated with both the group with which the application or the user of the application is associated and the external data source or external server process.
10. The system of claim 8 , wherein the identity map is modified based on authentication information received from an authentication server administrator;
wherein the authentication information associates account identifiers and external data sources or external service processes with credentials.
11. The system of claim 8 , wherein not transmitting the set of credentials to the application prohibits the application or a user of the application from accessing the external data source or external process without using the connection server.
12. The system of claim 8 , wherein a user enters a username and password combination to the application;
wherein the application verifies the username and password combination;
wherein the connection server receives an account identifier from the application based on the verified username and password combination;
wherein the connection server transmits the account identifier to the authentication server.
13. The system of claim 8 wherein the application is provided one of a plurality of levels of access to the external data source or external server process based on the set of credentials provided to the connection server based on the searching the identity map.
14. The system of claim 8 , wherein searching the identity map includes determining a group with which the account identifier is associated; and
searching the identity map for a set of credentials associated with both the group with which the account identifier is associated and the external data source or external server process.
15. A computer-readable medium encoded with instructions for commanding one or more data processors to execute a method for providing an application access to an external data source or an external server process via a connection server using an authentication server that has access to an identity map, said method comprising:
receiving a credential request at the authentication server from the connection server, wherein the credential request includes an identification of the external data source or external server process to be accessed and an account identifier associated with the application or a user of the application;
searching the identity map for a set of credentials associated with both the account identifier and the external data source or external server process; and
transmitting the set of credentials from the authentication server to the connection server, for the connection server to establish a connection to the external data source or external server process, wherein the connection is for providing the application access to the external data source or external server process, wherein the connection is established without transmitting the set of credentials to the application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/034,323 US20110214165A1 (en) | 2010-02-26 | 2011-02-24 | Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30863510P | 2010-02-26 | 2010-02-26 | |
US13/034,323 US20110214165A1 (en) | 2010-02-26 | 2011-02-24 | Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110214165A1 true US20110214165A1 (en) | 2011-09-01 |
Family
ID=44505851
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/034,323 Abandoned US20110214165A1 (en) | 2010-02-26 | 2011-02-24 | Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data |
US13/035,630 Active US8645386B2 (en) | 2010-02-26 | 2011-02-25 | Processor implemented systems and methods for using the catalog part of an SQL identifier to expose/access heterogeneous data |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/035,630 Active US8645386B2 (en) | 2010-02-26 | 2011-02-25 | Processor implemented systems and methods for using the catalog part of an SQL identifier to expose/access heterogeneous data |
Country Status (1)
Country | Link |
---|---|
US (2) | US20110214165A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111543A1 (en) * | 2011-10-31 | 2013-05-02 | Jeremy Ray Brown | Techniques for controlling authentication |
US20130198857A1 (en) * | 2012-02-01 | 2013-08-01 | International Business Machines Corporation | Processing of restricted access data |
US20140325616A1 (en) * | 2013-04-30 | 2014-10-30 | International Business Machines Corporation | File system level data protection during potential security breach |
US20170090560A1 (en) * | 2015-09-25 | 2017-03-30 | Microsoft Technology Licensing, Llc | Combining mobile devices with people tracking for large display interactions |
US20170126683A1 (en) * | 2015-11-04 | 2017-05-04 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US10235297B2 (en) | 2015-11-04 | 2019-03-19 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US11347734B1 (en) * | 2016-08-17 | 2022-05-31 | Actian Corporation | Processing database queries based on external tables |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103458A1 (en) * | 2011-01-28 | 2012-08-02 | The Dun And Bradstreet Corporation | Inventory data access layer |
US9152671B2 (en) * | 2012-12-17 | 2015-10-06 | General Electric Company | System for storage, querying, and analysis of time series data |
US9152672B2 (en) * | 2012-12-17 | 2015-10-06 | General Electric Company | Method for storage, querying, and analysis of time series data |
US10192187B2 (en) * | 2014-01-03 | 2019-01-29 | Visier Solutions, Inc. | Comparison of client and benchmark data |
US10437843B2 (en) | 2014-07-29 | 2019-10-08 | Microsoft Technology Licensing, Llc | Optimization of database queries via transformations of computation graph |
US10176236B2 (en) | 2014-07-29 | 2019-01-08 | Microsoft Technology Licensing, Llc | Systems and methods for a distributed query execution engine |
US10169433B2 (en) * | 2014-07-29 | 2019-01-01 | Microsoft Technology Licensing, Llc | Systems and methods for an SQL-driven distributed operating system |
GB2537670A (en) * | 2015-04-23 | 2016-10-26 | Fujitsu Ltd | A query mediator, a method of querying a polyglot data tier and a computer program executable to carry out a method of querying a polyglot data tier |
US20170337232A1 (en) * | 2016-05-19 | 2017-11-23 | Fifth Dimension Holdings Ltd. | Methods of storing and querying data, and systems thereof |
US11620336B1 (en) | 2016-09-26 | 2023-04-04 | Splunk Inc. | Managing and storing buckets to a remote shared storage system based on a collective bucket size |
US11562023B1 (en) | 2016-09-26 | 2023-01-24 | Splunk Inc. | Merging buckets in a data intake and query system |
US11003714B1 (en) | 2016-09-26 | 2021-05-11 | Splunk Inc. | Search node and bucket identification using a search node catalog and a data store catalog |
US11599541B2 (en) | 2016-09-26 | 2023-03-07 | Splunk Inc. | Determining records generated by a processing task of a query |
US10956415B2 (en) | 2016-09-26 | 2021-03-23 | Splunk Inc. | Generating a subquery for an external data system using a configuration file |
US11586627B2 (en) | 2016-09-26 | 2023-02-21 | Splunk Inc. | Partitioning and reducing records at ingest of a worker node |
US20180089324A1 (en) | 2016-09-26 | 2018-03-29 | Splunk Inc. | Dynamic resource allocation for real-time search |
US10977260B2 (en) | 2016-09-26 | 2021-04-13 | Splunk Inc. | Task distribution in an execution node of a distributed execution environment |
US11615104B2 (en) * | 2016-09-26 | 2023-03-28 | Splunk Inc. | Subquery generation based on a data ingest estimate of an external data system |
US11232100B2 (en) | 2016-09-26 | 2022-01-25 | Splunk Inc. | Resource allocation for multiple datasets |
US11550847B1 (en) | 2016-09-26 | 2023-01-10 | Splunk Inc. | Hashing bucket identifiers to identify search nodes for efficient query execution |
US11163758B2 (en) | 2016-09-26 | 2021-11-02 | Splunk Inc. | External dataset capability compensation |
US11243963B2 (en) * | 2016-09-26 | 2022-02-08 | Splunk Inc. | Distributing partial results to worker nodes from an external data system |
US11126632B2 (en) | 2016-09-26 | 2021-09-21 | Splunk Inc. | Subquery generation based on search configuration data from an external data system |
US10353965B2 (en) | 2016-09-26 | 2019-07-16 | Splunk Inc. | Data fabric service system architecture |
US11663227B2 (en) * | 2016-09-26 | 2023-05-30 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US10776355B1 (en) | 2016-09-26 | 2020-09-15 | Splunk Inc. | Managing, storing, and caching query results and partial query results for combination with additional query results |
US11294941B1 (en) | 2016-09-26 | 2022-04-05 | Splunk Inc. | Message-based data ingestion to a data intake and query system |
US11461334B2 (en) | 2016-09-26 | 2022-10-04 | Splunk Inc. | Data conditioning for dataset destination |
US11023463B2 (en) | 2016-09-26 | 2021-06-01 | Splunk Inc. | Converting and modifying a subquery for an external data system |
US10795884B2 (en) | 2016-09-26 | 2020-10-06 | Splunk Inc. | Dynamic resource allocation for common storage query |
US11222066B1 (en) | 2016-09-26 | 2022-01-11 | Splunk Inc. | Processing data using containerized state-free indexing nodes in a containerized scalable environment |
US10984044B1 (en) | 2016-09-26 | 2021-04-20 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system |
US11593377B2 (en) | 2016-09-26 | 2023-02-28 | Splunk Inc. | Assigning processing tasks in a data intake and query system |
US11567993B1 (en) | 2016-09-26 | 2023-01-31 | Splunk Inc. | Copying buckets from a remote shared storage system to memory associated with a search node for query execution |
US11580107B2 (en) | 2016-09-26 | 2023-02-14 | Splunk Inc. | Bucket data distribution for exporting data to worker nodes |
US11314753B2 (en) | 2016-09-26 | 2022-04-26 | Splunk Inc. | Execution of a query received from a data intake and query system |
US11281706B2 (en) | 2016-09-26 | 2022-03-22 | Splunk Inc. | Multi-layer partition allocation for query execution |
US11106734B1 (en) | 2016-09-26 | 2021-08-31 | Splunk Inc. | Query execution using containerized state-free search nodes in a containerized scalable environment |
US10726009B2 (en) | 2016-09-26 | 2020-07-28 | Splunk Inc. | Query processing using query-resource usage and node utilization data |
US11604795B2 (en) * | 2016-09-26 | 2023-03-14 | Splunk Inc. | Distributing partial results from an external data system between worker nodes |
US11250056B1 (en) | 2016-09-26 | 2022-02-15 | Splunk Inc. | Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system |
US11269939B1 (en) | 2016-09-26 | 2022-03-08 | Splunk Inc. | Iterative message-based data processing including streaming analytics |
US12013895B2 (en) | 2016-09-26 | 2024-06-18 | Splunk Inc. | Processing data using containerized nodes in a containerized scalable environment |
US11416528B2 (en) | 2016-09-26 | 2022-08-16 | Splunk Inc. | Query acceleration data store |
US11442935B2 (en) | 2016-09-26 | 2022-09-13 | Splunk Inc. | Determining a record generation estimate of a processing task |
US11874691B1 (en) | 2016-09-26 | 2024-01-16 | Splunk Inc. | Managing efficient query execution including mapping of buckets to search nodes |
US11321321B2 (en) | 2016-09-26 | 2022-05-03 | Splunk Inc. | Record expansion and reduction based on a processing task in a data intake and query system |
US11860940B1 (en) | 2016-09-26 | 2024-01-02 | Splunk Inc. | Identifying buckets for query execution using a catalog of buckets |
WO2018058671A1 (en) | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | Control method for executing multi-table connection operation and corresponding device |
US11989194B2 (en) | 2017-07-31 | 2024-05-21 | Splunk Inc. | Addressing memory limits for partition tracking among worker nodes |
US11921672B2 (en) | 2017-07-31 | 2024-03-05 | Splunk Inc. | Query execution at a remote heterogeneous data store of a data fabric service |
US12118009B2 (en) | 2017-07-31 | 2024-10-15 | Splunk Inc. | Supporting query languages through distributed execution of query engines |
US10796013B2 (en) * | 2017-11-13 | 2020-10-06 | Veeva Systems Inc. | User programmatic interface for supporting data access control in a database system |
CN110020040B (en) * | 2017-08-17 | 2021-07-06 | 北京京东尚科信息技术有限公司 | Method, device and system for querying data |
US11151137B2 (en) | 2017-09-25 | 2021-10-19 | Splunk Inc. | Multi-partition operation in combination operations |
US10896182B2 (en) | 2017-09-25 | 2021-01-19 | Splunk Inc. | Multi-partitioning determination for combination operations |
US11334543B1 (en) | 2018-04-30 | 2022-05-17 | Splunk Inc. | Scalable bucket merging for a data intake and query system |
WO2020027867A1 (en) * | 2018-07-31 | 2020-02-06 | Splunk Inc. | Generating a subquery for a distinct data intake and query system |
US11374938B2 (en) * | 2019-04-23 | 2022-06-28 | Jpmorgan Chase Bank, N.A. | Database-agnostic secure structured database connector |
WO2020220216A1 (en) | 2019-04-29 | 2020-11-05 | Splunk Inc. | Search time estimate in data intake and query system |
US11715051B1 (en) | 2019-04-30 | 2023-08-01 | Splunk Inc. | Service provider instance recommendations using machine-learned classifications and reconciliation |
US11494380B2 (en) | 2019-10-18 | 2022-11-08 | Splunk Inc. | Management of distributed computing framework components in a data fabric service system |
US11922222B1 (en) | 2020-01-30 | 2024-03-05 | Splunk Inc. | Generating a modified component for a data intake and query system using an isolated execution environment image |
CN111309785B (en) * | 2020-02-14 | 2023-05-16 | 广州极晟网络技术有限公司 | Database access method and device based on Spring framework, computer equipment and medium |
US11704313B1 (en) | 2020-10-19 | 2023-07-18 | Splunk Inc. | Parallel branch operation using intermediary nodes |
CN113407565B (en) * | 2021-06-29 | 2024-01-30 | 中国民生银行股份有限公司 | Cross-database data query method, device and equipment |
US12072939B1 (en) | 2021-07-30 | 2024-08-27 | Splunk Inc. | Federated data enrichment objects |
US11755591B2 (en) * | 2021-08-06 | 2023-09-12 | Sap Se | Metadata object identifier registry |
US12093272B1 (en) | 2022-04-29 | 2024-09-17 | Splunk Inc. | Retrieving data identifiers from queue for search of external data system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143836A1 (en) * | 2005-12-19 | 2007-06-21 | Quest Software, Inc. | Apparatus system and method to provide authentication services to legacy applications |
US7735122B1 (en) * | 2003-08-29 | 2010-06-08 | Novell, Inc. | Credential mapping |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003243635A1 (en) * | 2002-06-17 | 2003-12-31 | Beingmeta, Inc. | Systems and methods for processing queries |
US7493311B1 (en) * | 2002-08-01 | 2009-02-17 | Microsoft Corporation | Information server and pluggable data sources |
US7213014B2 (en) * | 2003-03-27 | 2007-05-01 | International Business Machines Corporation | Apparatus and method for using a predefined database operation as a data source for a different database operation |
US20070005658A1 (en) * | 2005-07-02 | 2007-01-04 | International Business Machines Corporation | System, service, and method for automatically discovering universal data objects |
US20100128638A1 (en) * | 2008-11-20 | 2010-05-27 | Sap Ag | Hierarchical shortest path first network routing protocol |
US8489565B2 (en) * | 2009-03-24 | 2013-07-16 | Microsoft Corporation | Dynamic integrated database index management |
-
2011
- 2011-02-24 US US13/034,323 patent/US20110214165A1/en not_active Abandoned
- 2011-02-25 US US13/035,630 patent/US8645386B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7735122B1 (en) * | 2003-08-29 | 2010-06-08 | Novell, Inc. | Credential mapping |
US20070143836A1 (en) * | 2005-12-19 | 2007-06-21 | Quest Software, Inc. | Apparatus system and method to provide authentication services to legacy applications |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130111543A1 (en) * | 2011-10-31 | 2013-05-02 | Jeremy Ray Brown | Techniques for controlling authentication |
US9519777B2 (en) * | 2011-10-31 | 2016-12-13 | Novell, Inc. | Techniques for controlling authentication |
US20130198857A1 (en) * | 2012-02-01 | 2013-08-01 | International Business Machines Corporation | Processing of restricted access data |
CN104094261A (en) * | 2012-02-01 | 2014-10-08 | 国际商业机器公司 | A method for optimizing processing of restricted-access data |
US9317697B2 (en) * | 2012-02-01 | 2016-04-19 | International Business Machines Corporation | Processing of restricted access data |
US20140325616A1 (en) * | 2013-04-30 | 2014-10-30 | International Business Machines Corporation | File system level data protection during potential security breach |
US9069955B2 (en) * | 2013-04-30 | 2015-06-30 | International Business Machines Corporation | File system level data protection during potential security breach |
US9306956B2 (en) | 2013-04-30 | 2016-04-05 | Globalfoundries Inc. | File system level data protection during potential security breach |
US20170090560A1 (en) * | 2015-09-25 | 2017-03-30 | Microsoft Technology Licensing, Llc | Combining mobile devices with people tracking for large display interactions |
US10678326B2 (en) * | 2015-09-25 | 2020-06-09 | Microsoft Technology Licensing, Llc | Combining mobile devices with people tracking for large display interactions |
US20170126683A1 (en) * | 2015-11-04 | 2017-05-04 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US10235297B2 (en) | 2015-11-04 | 2019-03-19 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US10255189B2 (en) | 2015-11-04 | 2019-04-09 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US10270773B2 (en) | 2015-11-04 | 2019-04-23 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US10270775B2 (en) * | 2015-11-04 | 2019-04-23 | International Business Machines Corporation | Mechanism for creating friendly transactions with credentials |
US11347734B1 (en) * | 2016-08-17 | 2022-05-31 | Actian Corporation | Processing database queries based on external tables |
Also Published As
Publication number | Publication date |
---|---|
US20110213778A1 (en) | 2011-09-01 |
US8645386B2 (en) | 2014-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20110214165A1 (en) | Processor Implemented Systems And Methods For Using Identity Maps And Authentication To Provide Restricted Access To Backend Server Processor or Data | |
US10367821B2 (en) | Data driven role based security | |
EP3734932B1 (en) | Implicitly linking access policies using group names | |
US8955037B2 (en) | Access management architecture | |
CA2649862C (en) | Translating role-based access control policy to resource authorization policy | |
US7380271B2 (en) | Grouped access control list actions | |
CN106534199B (en) | Distributed system certification and rights management platform under big data environment based on XACML and SAML | |
US8990896B2 (en) | Extensible mechanism for securing objects using claims | |
US20100299738A1 (en) | Claims-based authorization at an identity provider | |
US20060173810A1 (en) | Controlling access to a database using database internal and external authorization information | |
US20120297455A1 (en) | Target-based access check independent of access request | |
US20110161370A1 (en) | Apparatus, program, and method for file management | |
KR20230035260A (en) | Temporary Cloud Provider Credentials via Secure Discovery Framework | |
WO2018095326A1 (en) | Method and apparatus for determining access permission, and terminal | |
US8918862B2 (en) | Managing access to storage media | |
US8104076B1 (en) | Application access control system | |
US20130125217A1 (en) | Authorization Control | |
US20100082682A1 (en) | Web contents archive system and method | |
US11914687B2 (en) | Controlling access to computer resources | |
EP3815329B1 (en) | Registration of the same domain with different cloud services networks | |
US20170295183A1 (en) | Access control for user accounts using a parallel search approach | |
CN111695108B (en) | Unified account identification system for multi-source accounts in heterogeneous computing environment | |
US9237156B2 (en) | Systems and methods for administrating access in an on-demand computing environment | |
US20070244896A1 (en) | System and method for authenticating remote users | |
US10965612B2 (en) | Access management system with a resource-ownership policy manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAS INSTITUTE INC., NORTH CAROLINA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JEFFREYS, DAVID KERR;HESS, ROBERT BRIAN;REEL/FRAME:026157/0928 Effective date: 20110411 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |