SharePoint 2010 Secure Store Service and DB2 via ODBC

In this walkthrough we will show using SharePoint 2010 Secure Store in Business Connectivity Services for integration with DB2 via ODBC by means of BCS Meta Man. But the same way you can integrate with any data source that supports ODBC connectivity.

The Secure Store Service replaces the single sign-on (SSO) feature in SharePoint 2010. The Secure Store Service is authorization service that contains a secure database for storing credentials (e.g. user name and password) that are associated with application IDs. These application IDs can be used to authorize access to external database. Target Application IDs map users to the credentials that will be passed to the external data source. Mappings are available for groups (e.g. domain group) or individuals (e.g. local or domain users). When connecting to the external data source, the Business Connectivity Services runtime passes the mapped credentials from the Secure Store Service to the data source.

  1. Prerequisites:
  2. Open Application Management in Central Administration and then Manage Service Applications. Click Secure Store Service Application. If you first time configure Secure Store Service Application, you will be prompted to generate a key because credential database is encrypted by using a key. In the future you will be able to re-encrypt the database using a new key. Click “Generate New Key” button on the ribbon. On the Generate New Key dialog, enter a pass phrase string in the Pass Phrase edit box, and type the same string in the Confirm Pass Phrase edit box. Click “OK”

    Encrypt the credential database using a new key

  3. Now we are ready to create new Secure Store Target Application.

    Open Secure Store Service Application

  4. Click “New” to create new Secure Store Target Application. Type your Target Application ID i.e. “DB2_ODBC_ID”, fill in others fields and choose “Group” as your Target Application Type and click “Next”.

    Create a new Secure Store Target Application

  5. In order to specify the credential fields for your Secure Store Target Application fill in the names for two new fields, choose “Username” and “Password” field types and click “Next”

    Specify the credential fields for your Secure Store Target Application

  6. Add Target Application administrator and then add the users and groups that will be mapped to the credentials defined for this Target Application. There is only one local user “HERCULESdmitry.kaloshin” in our case. Click “OK” button.

    Add the users and groups that will be mapped to the credentials defined for this Target Application

  7. Click on created Target Application ID and you’ll see a drop down menu. Select “Set Credentials” item to set DB2 impersonation credentials.

    Set DB2 imp
ersonation credentials

  8. Enter DB2 username and password that will be used for impersonation by created Secure Store Target Application. Click “OK” button

    Enter DB2 username and password for impersonation

  9. Now we will create .net Assembly connector with BCS Meta Man and configure External Content Type to point to the “DB2_ODBC_ID” Secure Store Target Application ID.
  10. Open Visual Studio 2010
  11. Add a New Project
  12. Expand the “SharePoint” node, select “Lightning Tools (2010)” node and then the “BCS Meta Man” project type
  13. Give your project a name i.e DB2SecureStoreBCSMetaManDemo and click “OK”

    Create DB2SecureStoreBCSMetaManDemo project

  14. On the next dialog box, enter the name of where you want to deploy your model, and click “Finish” button

    Deploy as a farm solution

  15. If prompted, click “Trial” on the licensing dialog
  16. To show the “BCS Meta Man Data Source Explorer” we need to enable it from the Menu item, this new window can be docked so it doesn’t get in your way

    Open the BCS MetaMan data source explorer

  17. Click the “Add Connection” button to show the “Connection Dialog”
  18. Select “ODBC Server” as Data Source type, enter DB2 ODBC connection string (for example it can be “Driver={IBM DB2 ODBC DRIVER};Database=SAMPLE;Hostname=cygnus;port=50000;Protocol=TCPIP;”), enter double quotes as left and right delimiters and “?” as parameter symbol, choose “Use Secure Store” as Authentication Mode, enter created Secure Store Target Application ID “DB2_ODBC_ID” and click “Connect” button

    Select ODBC Server Data Source and enter Secure Store Target Application ID

  19. You will be prompted to enter DB2 username and password being used for impersonation

    Enter DB2 username and password to display DB2 data

  20. The Data Source Explorer will now be populated with your DB2 data

    See the tables and views available to use

  21. We will be working with the “ADMINISTRATOR”.”DEPARTMENT” table, to add it to the Model , just drag it from the “Data Source Explorer” onto the “Diagram”
  22. When you drop the table you will be shown the following dialog, we have to choose “.Net Assembly”, click “OK”

    Choose the model type ".Net Assembly"

  23. Accept the default entity name by clicking “Next”

    Accept the default entity name

  24. Accept the default “Identifiers” by clicking “Next”

    24

  25. Accept the default 3 methods to be created, click “Generate” (The default 3 methods are: “Finder” – Returns all items, “Specific Finder” – Returns a single item by identifier, “IdEnumerator” – Returns just the Identifiers for all of the items )

    Accept the methods

  26. Select menu “Build”->“Deploy Solution” in Visual Studio
  27. Now using this instructions BCS : Access Denied. You do not have permission to access this content we will set permissions to created External Content Type “ADMINISTRATOR_DEPARTMENTS” within SharePoint 2010 for our local user “HERCULESdmitry.kaloshin”

    Set permissions to External Content Type

  28. Now open your SharePoint page and login to the site as “HERCULESdmitry.kaloshin”. Add a new External List by selection on loaded SharePoint page “Site Action”->“More Options”->“External List”

    Add a new external list

  29. Click on the icon to show the available External Content Types

    Select the External Content Type

  30. Select our “DB2SecureStoreBCSMetaManDemo.Model.ADMINISTRATOR_DEPARTMENT” External Content Type, click “OK”

    Select the customers External Content Type

  31. Click “Create”
  32. Your External System data from DB2 database is now displayed in the SharePoint External List

    The data from DB2 is now shown within SharePoint 2010

  33. If you login to the site as another user and browse created external list, you won’t be able to see the data

We hope this walkthrough will be useful for you. If you have any questions feel free to email them to support@lightningtools.com