jason_petty
Tera Expert
Options
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
‎04-05-2013
08:58 AM
I work a lot with customers setting up their SAML SSO solution. There have been a number of IDPs that the customers I have worked with use and I hardly ever get to see that side of the configuration. I wanted to understand what they had to do in order to set up their IDP to work with ServiceNow. I have documented the steps that I took to install and configure OpenAM (Formerly known as OpenSSO) to work with ServiceNow as my SAML 2.0 IDP. These instructions assume you are setting up your own virtual machine locally.
Setup Your Virtual Machine's Host file
- Bring up a Linux VM in your favorite hypervisor
- Set your host name in your network settings to something you can use in your hosts file like openamtest
- Modify your /etc/hosts file to have an entry like this:
- 192.168.1.106 openamtest.org openamtest
Install Open DJ
- Download OpenDJ-2.4.6 from Here (Get the ZIP file)
- Unzip the file
- Run "./setup --cli"
- Put in an LDAP syntax for the root user for your LDAP Directory (cn=Directory Manager)
- What would you like to use as the initial root user DN for the Directory Server? [cn=Directory Manager]:
- Set to port to something like 1389
- On which port would you like the Directory Server to accept connections from LDAP clients? [1389]:
- Set the Administration Connector port to 4444
- On which port would you like the Administration Connector to accept connections? [4444]:
- Create the base DNs of the server
- Do you want to create base DNs in the server? (yes / no) [yes]:
- Provide the base DN:
- Provide the base DN for the directory data: [dc=example,dc=com]:
- Only Create Base Entry:
- Options for populating the database:
1) Only create the base entry
2) Leave the database empty
3) Import data from an LDIF file
4) Load automatically-generated sample data
Enter choice [1]: 1
- Options for populating the database:
- Don't enable SSL:
- Do you want to enable SSL? (yes / no) [no]:
- Don't enable Start TLS:
- Do you want to enable Start TLS? (yes / no) [no]:
- Chose Yes to start server when configuration is complete:
- Do you want to start the server when the configuration is completed? (yes / no) [yes]:
- When you see the setup summary, choose "Set up server with parameters above":
- Setup Summary
=============
LDAP Listener Port: 1389
Administration Connector Port: 4444
LDAP Secure Access: disabled
Root User DN: cn=Directory Manager
Directory Data: Create New Base DN dc=example,dc=com.
Base DN Data: Only Create Base Entry (dc=example,dc=com)
Start Server when the configuration is completed
What would you like to do?
1) Set up the server with the parameters above
2) Provide the setup parameters again
3) Print equivalent non-interactive command-line
4) Cancel and exit
Enter choice [1]:
- Setup Summary
- After it is done, you will see this:
- Configuring Directory Server ..... Done.
Creating Base Entry dc=example,dc=com ..... Done.
Starting Directory Server ........ Done.
To see basic server configuration status and configuration you can launch /opt/OpenDJ-2.4.6/bin/status
- Configuring Directory Server ..... Done.
Install Tomcat- Download Tomcat 7 from Here (Get the Zip File)
- Unzip the file
- CD to the apache/bin directory
- Do a chmod 755 * in that folder
- Modify the catalina.sh file and put in this line somewhere
- JAVA_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
- Run "./startup.sh"
Install OpenAM (Formerly known as OpenSSO)- Download OpenAM 10.0.1 from Here (Get the Zip File)
- Unzip the file
- Copy the opensso/deployable-war/opensso.war to the apache/webapps directory
- It will automatically deploy the war file and extract it to a folder in the webapps directory
- Go to http://ipaddressOfVm:8080/opensso/config/options.htm
- Click on Create New Configuration
- Type in a password on the first screen twice that you want to set
- On the next screen, make sure your ip address is in the first field like this:
- http://192.168.1.102:8080
- Cookie Domain should be 192.168.1.102
- Leave the rest default
- On the next screen, leave everything default and click next
- On the next screen, Choose OpenDJ as the type
- Hostname is localhost
- Set the right port 1389
- Set the Context to dc=example,dc=com like you did when setting up OpenDJ
- Type in a password
- Click next
- Leave the next option set to no and click next
- Type in a password twice - it has to be different than the one you set in step 6 then click Next
- Click the Create Configuration button and let it run the configuration
- When the configuration finishes, click "proceed to login" or just login at this address: http://ipaddressOfVm:8080/opensso/
- username: amAdmin
- password: your password you set up in step 6 above
- Create Users in your IDP
- Click on Access Control tab
- Click on the link "(Top Level Realm)" in the list of realms
- Click on Subjects tab
- Click on the New button
- Put in the id, First Name, Last Name, Password twice and then click OK
- Now open the details of that user you just created and put in an email that will match a user in ServiceNow
- Save
- Click "Back to Subjects" button
- Click "Back to Access Control" button
- Increase the buffer length so signing won't fail
- Click on Configuration tab
- Click on Global sub-tab
- Click on SAMLv2 Service Configuration property
- Add a 0 to the end of the Buffer Length value (last value)
- Save
- Click "Back to Service Configuration" button
- Create your IDP
- Click on Common Tasks Tab
- Click on "Create Hosted Identity Provider"
- Set the Signing key to "test"
- Type in the "Circle of Trust" field a name you want to name your IDP like "OpenSSOIdP"
- Click Configure
- Click Finish
- Get settings from OpenAM and set all your settings in your ServiceNow instance
- Click on Federation tab
- In the "Entity Providers" section, click on the hyperlink of your IDP's ip address
- Click on the Services tab
- Copy the appropriate values from here to your ServiceNow instance
- Set the values in your ServiceNow instance
- Click the "Back" button
- Put the certificate in ServiceNow (This is the certificate for OpenSSO)
-----BEGIN CERTIFICATE-----
MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w
ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExDDAK
BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+
RkDsaN/igkAvV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY
Js0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U
QzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA
cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC
/FfwWigmrW0Y0Q==
-----END CERTIFICATE-----
- Create your SP
- Click on the Metadata module in ServiceNow
- Copy it and save it to a file for later
- Click on the Common Tasks tab
- Click on "Register Remote Service Provider"
- Click on the File radio button
- Click "Upload..." button"
- Browse to the file from step 2
- Click "Upload File" button
- Click "Configure" button
- Click "OK" button when it pops up the successfully configured SP dialog
Try to Login to ServiceNow
6 Comments
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.