Information is brought into the metadirectory from connected data sources by the management agents.
Connected data sources
The primary purpose of a metadirectory is to gather identity information from multiple sources and combine it in a single location so that the data can be easily administered from one location. Each data source that contributes to or receives data from the metadirectory is known as a connected data source. A connected data source can be an enterprise directory, a mail directory, a human resources database, or data in flat files, such as LDIF or delimited text files.
Microsoft® Forefront Identity Manager (FIM) 2010 supports the following connected data sources:
- Active Directory Domain Services 2000, 2003,
2003 R2, 2008
- Active Directory Lightweight Directory
Services (ADLDS)
- Active Directory global address list
(GAL)
- Attribute-value pair text files
- FIM Certificate Management
- Delimited text files
- Directory Services Markup Language (DSML)
2.0
- Microsoft Exchange Server 2007 and 2010 (use
the management agent for Active Directory)
- Microsoft SQL Server 2000, SQL Server 2005,
SQL Server 2008
- Fixed-width text files
- IBM DB2 Universal Database 9.1 or 9.5
- IBM Directory Server 6.0 or 6.2
- LDAP Data Interchange Format (LDIF)
- Lotus Notes release 6.5 or 7.0
- Novell eDirectory 8.7.3 or 8.8
- Oracle10g Database
- AP R/3 Enterprise (4.7), mySAP 2004 (ECC
5.0)
- Sun ONE and Netscape Directory Server 5.1 and
5.2
Management agents
Management agents control the data flow between a connected data source and the metaverse. There is a management agent for each supported connected data source. To configure a management agent, you use a set of user-defined properties to determine how objects from the connected data source are synchronized with the metaverse. The property set of a management agent differs slightly depending on the management agent type, but all management agents perform the following common tasks:
- Schema discovery. The management agent
generates a schema based on the objects and attributes in the
connected data source.
- Configure the Connector Filter. The
connector filter controls which objects from the connector space
are processed by the management agent. You use connector filters to
prevent selected connector space objects from synchronizing with
objects in the metaverse.
- Configure Join and Projection. Join
and projection rules determine how an object from the connector
space is synchronized with an object in the metaverse. If a similar
object already exists in the metaverse and meets specific criteria,
the connector space object can be joined, or linked, to that
metaverse object. If a similar object is not found in the
metaverse, the connector space object can be projected to the
metaverse; that is, a corresponding new metaverse object is
created.
- Configure Attribute Flow. When you
configure attribute flow, you map the attributes of the connected
data source object to the attributes of the metaverse object
type.
- Configure Deprovisioning.
Deprovisioning determines how connector space objects are processed
after they have been deleted from the metaverse object, or
disconnected due to provisioning.
- Configure Rules Extensions. You can
further control how the management agent processes data by writing
a rules extension for the management agent. You can use rules
extensions to perform customized actions, such as searching for a
specific attribute value or catching synchronization errors. For
more information about rules extensions, see the FIM Developer Reference.
For more information about how management agents process data, see Understanding Management Agent Rules.
Management agent types
Management agents can be one of two types: call-based or file-based. Call-based management agents use a real-time connection to import data from and export data to the connected data source, whereas file-based management agents use a text file to import data from and export data to the connected data source.
Call-based management agents | File-based management agents |
---|---|
Active Directory Active Directory Lightweight Directory Services (ADLDS) Active Directory global address list (GAL) FIM Certificate Management IBM DB2 Universal Database IBM Directory Server Lotus Notes Microsoft SQL Server Novell eDirectory Oracle Database Sun and Netscape directory servers |
Attribute-value pair text files Delimited text files Directory Services Markup Language (DSML) Extensible connectivity Fixed-width text files LDAP Data Interchange Format (LDIF) |
The management agent for extensible connectivity
The management agent for extensible connectivity is a special management agent provided with FIM that you can use to develop a management agent that can synchronize with any connected data source. It is part of the FIM management agent software development kit (SDK). The management agent SDK is set of tools, interfaces, documentation, and sample code needed to develop a custom management agent. You can use the management agent SDK and the management agent for extensible connectivity to develop management agents that integrate with the Synchronization Service Manager configuration without creating your own user interface. Some of the tasks you can perform with the management agent SDK are:
- Authenticating and connecting to connected
data sources
- Creating and importing files from a connected
data source to FIM
- Performing delta exports to a connected data
source or file
When you create an extensible management agent, you specify a previously configured extension DLL file that contains the configuration information necessary to create the management agent and connect to the data source. When the management agent is run, the extension DLL will query the connected data source and create an import file for the management agent. The management agent then uses this import file and runs in the same manner as any other file-based management agent. The extension DLL can also create an export file to export connector space data out to the connected data source.
For more information, see Using the Management Agent for Extensible Connectivity, or see the FIM Developer Reference.
Add-in management agents
FIM provides you with flexibility for connecting to a wide range of connected data sources using management agents. In addition to the management agents included when you install FIM, Microsoft makes available new management agents online. For the latest information about management agents available for FIM, see the FIM Technical Library (http://go.microsoft.com/fwlink/?LinkID=101307).
Management agent run profiles
Management agents use a run profile to specify how to run a management agent. A run profile is a series of steps that determine such things as whether the management agent performs an import or export, how many objects to process, or which partition to use. A management agent can have multiple run profiles. The run profiles are stored along with the management agent data. For more information about run profiles, see Configuring Management Agents.
Management agent schemas
Each management agent contains a schema that is created from the structure of the data in the connected data source. The schema is created in different ways, depending on the management agent type. The following table lists and describes the management agent types.
Management agent for | Schema model |
---|---|
Active Directory Active Directory Lightweight Directory Services (ADLDS) Active Directory global address list (GAL) IBM Directory Server Sun and Netscape directory servers |
Schema is generated based on the dynamic discovery of the source directory by the management agent. |
Attribute-value pair text files Delimited text files Directory Services Markup Language (DSML) Extensible connectivity Fixed-width text files LDAP Data Interchange Format (LDIF) |
Schema is generated based on the discovery of the data in the template input file. Note You cannot edit the schemas for delimited text files and fixed-width text files. |
IBM DB2 Universal Database Microsoft SQL Server Oracle Database |
Schema is generated based on the source database table definition. |
FIM Certificate Manager Lotus Notes |
Schema is generated based on the fixed schema that models the database structure. |
Note | |
After you create a management agent, the schema for that management agent persists with the configuration for that management agent The schema is updated only when the user explicitly requests it by using the Refresh Schema command in Management Agents. For information about refreshing the schema, see Configuring Management Agents. |
Encryption and security
Each management agent configured in FIM contains data that needs to be secured, for example the credentials required to connect to the target data source, and any SetPassword calls made by that management agent. All credential data is encrypted using a Windows Crypto API key, which is stored securely in the FIM SQL database. The following table lists the encryption technologies supported by FIM to bind and connect to the target data source, and to secure SetPassword calls.
Management agent for | Bind | Connection | SetPassword |
---|---|---|---|
Active Directory |
Negotiate |
Kerberos Sign & Seal, plaintext |
Kerberos |
Active Directory Lightweight Directory Services (ADLDS) |
Negotiate |
SSL, Kerberos Sign & Seal, plaintext |
SSL, Kerberos Sign & Seal, plaintext |
IBM Directory Server |
Simple Authentication and Security Layer (SASL) |
SSL |
SSL |
Lotus Notes |
Lotus Notes client proprietary |
Lotus Notes client proprietary |
Lotus Notes client encryption |
Novell eDirectory |
Digest, simple |
SSL, plaintext |
SSL, plaintext |
Sun and Netscape directory servers |
Digest, simple |
SSL, plaintext |
SSL, plaintext |