In December last year i wrote a blog post about vCloud Director and SSPI Authentication. In the post I stated that besides using SSPI – which is Microsoft proprietary interface on top of Active Directory, the tenants can use Security Assertion Markup Language (SAML) standard to integrate with their identity provider. VMware has tested SAML2 integration with OpenAM (described in detail in vCloud Architecture Toolkit Implementation Examples) and Active Directory Federation Services (ADFS). However just recently there appeared another supported identity provider – our own VMware Horizon Workspace. The following whitepaper describes the integration in detail: Using VMware Horizon Workspace to Enable SSO in VMware vCloud Director 5.1.
In this post I will provide short step-by-step description of all the necessary steps that you as the vCloud Organization Administrator must take. The assumption is that you have on premise Horizon Workspace integrated with company Active Directory and want to use it for connecting private or public vCloud Director organizations.
- Download Horizon Identity provider metadata XML file from: https://<horizon_workspace_URL>/SAAS/API/1.0/GET/metadata/idp.xml
- In the target cloud go to Administration > Settings > Federation menu and check Use SAML Identity Provider and upload the idp.xml file
- Still on the same page regenerate the certificate and click apply
- Download the certificate from the url: https://<vcloud_URL>/cloud/org/<orgname>/saml/metadata/alias/vcd
- Log out from the cloud
- Log back in, you will need to change the URL to go directly to the local authentication: https://<vcloud_URL>/cloud/org/<orgname>/login.jsp
- In the Administration > Members > Users (or Groups) import Users (or Groups) by clicking the icon with arrow. Change the Source to SAML and type the user names or group names.
- Back in Horizon Workspace admin interface create a new Web Application in the catalog
- Fill in the following data:
- Authentication Profile: SAML 2.0 POST profile
- Login Redirection URL: https://<vcloud_URL>/cloud/org/<orgname>/
- Check: Include Destination
- Check: Sign Response
- Check: Sign the Assertion
- Configure via Metadata XML
- Paste the certificate from point 4 into the Meta-data XML box
- Add Attribute Mapping as seen in the screenshot
- Save the page
- Edit the newly created Web Application and assign Entitlements (either specific users or a group). These should be the same users as in step 7.
- Now log into the Horizon as the entitled user and click the application icon. You should now get direct access into the vCloud Director.
Edit 2 July 2013: In order to get SAML Groups working following is needed.
In step 9 create also group mapping. The group name must be hardcoded, but that should not be such a problem as a different web application in Horizon Workspace can be created for each group/role mapping. I have created hardcoded mapping to group name OrgAdministrators.
Then in step 7 the group can be imported and the correct role assigned.