GridShib for Globus Toolkit
Version 0.4.1 (Technology Preview 1) June 7, 2006

GridShib for Globus Toolkit is a plugin for Globus Toolkit 4 (GT4). See the GridShib web site (http://gridshib.globus.org/) for background information about the GridShib Project.

This document is a supplement to the GridShib for GT v0.4.0 Admin Guide:

http://gridshib.globus.org/docs/admin-index.html

Together these two documents describe how to install and configure this Technology Preview of GridShib for GT v0.4.1.

Requirements

The software requirements for GridShib for GT v0.4.1 are the same as v0.4.0. See the GridShib Downloads page for general requirements and instructions:

http://gridshib.globus.org/download.html#gridshib-gt

This Technology Preview of GridShib for GT v0.4.1 will query an ordinary Shibboleth Identity Provider version 1.3b or later. The current stable version of the Shibboleth Identity Provider (IdP) is version 1.3c, which is available for download from the Shibboleth web site:

http://shibboleth.internet2.edu/latest.html

Install, configure, and test your IdP deployment according to the published guidelines of the Shibboleth Project:

https://authdev.it.ohio-state.edu/twiki/bin/view/Shibboleth/WebHome

As a final test, download the Shibboleth IdP Tester:

http://gridshib.globus.org/download.html#shib-idp-tester

and run the test outlined in the instructions bundled with the tarball.

IMPORTANT! Do not continue with this installation until your IdP deployment has passed all the tests, including the important Shibboleth IdP Tester test.

Configuring GridShib for GT (below) will be simpler if you produce an IdP metadata file (gridshib-idp-metadata.xml) in advance. Follow the instructions in the METADATA section of the GridShib for Shibboleth installation document:

http://viewcvs.globus.org/viewcvs.cgi/gridshib/idp/doc/INSTALL.txt?rev=1.8&content-type=text/vnd.viewcvs-markup

Use this metadata file in installation step 6 below.

Note: Later versions of this Technology Preview will require GridShib for Shibboleth, a plugin for a Shibboleth IdP.

Installation

  1. Install Globus Toolkit 4 (GT4). See the GridShib Downloads page for relevant tips and links.
  2. Download GridShib for GT v0.4.1 (Technology Preview 1):

    http://gridshib.globus.org/downloads/gridshib-gt-source-0_4_1-tp1.tar.gz

  3. Install GridShib for GT v0.4.1 on top of GT4. Follow the general instructions in the Admin Guide. Note: The next step is specific to this Technology Preview and is not discussed in the Admin Guide.
  4. So that GridShib for GT can parse an authentication assertion in a proxy certificate and query the IdP indicated in the assertion, you need to configure the security descriptor of the service to use the SAMLAuthnAssertionPIP and ShibbolethPDP classes in the authorization chain. This example shows an echo service's security descriptor with the correct authorization chain configured:
      <securityConfig xmlns="http://www.globus.org">
        <auth-method>
          <GSITransport/>
        </auth-method>
        <authz
          value="shibecho:org.globus.wsrf.impl.security.authorization.SAMLAuthnAssertionPIP
          shibecho:org.globus.wsrf.impl.security.authorization.ShibbolethPDP"/>
      </securityConfig>
  5. Refer to step 2 in section 3.2 of the Admin Guide:

    http://gridshib.globus.org/docs/admin-index.html#gt4-config-edit-wsdd

    Configure the authorization chain with the necessary parameters. If an IdP metadata file is available (see the Requirements section), do not explicitly configure the IdP's URL, providerId, and certificate information as indicated in section 3.2. In that case, perform the following step as well.
  6. To configure GridShib for GT using SAML 2.0 metadata, see section 3.3.3 of the Admin Guide:

    http://gridshib.globus.org/docs/admin-index.html#gt4-config-metadata

    Use the IdP metadata file (gridshib-idp-metadata.xml) from the Requirements section.

Metadata

A Grid SP consumes the metadata of an entity it trusts. The IdP metadata produced in the Requirements section (gridshib-idp-metadata.xml) is consumed by the Grid SP as a result of the above installation. In general, an IdP administrator produces metadata and distributes it to interested Grid SPs out-of-band.

Likewise, Grid SP metadata is consumed by an IdP willing to provide attributes to the Grid SP. To facilitate the production of Grid SP metadata, a template (gridshib-sp-metadata-template.xml) has been provided:

http://viewcvs.globus.org/viewcvs.cgi/gridshib/idp/data/gridshib-sp-metadata-template.xml?rev=1.2&content-type=text/vnd.viewcvs-markup

Perform the following steps to customize and prepare this template for distribution to IdP endpoints:

  1. If the Grid SP signing credential is already in a Java keystore (JKS), skip to step 3.
  2. [Optional] Import the signing credential into a Java keystore using openssl and extkeytool. (See the Shibboleth IdP Deployment Guide for detailed instructions.)
  3. Copy the Grid SP metadata template (gridshib-sp-metadata-template.xml) to a permanent directory and give it a new name, say, gridshib-sp-metadata.xml. You can give this metadata file any name you wish, but we will refer to it as gridshib-sp-metadata.xml in what follows.
  4. Using an ordinary text editor, customize gridshib-sp-metadata.xml. Follow the instructions in the template to create a metadata file for your particular Grid SP.
  5. [Optional] Sign gridshib-sp-metadata.xml using metadatatool. (See the Shibboleth IdP Deployment Guide for detailed instructions.)
  6. Distribute gridshib-sp-metadata.xml as needed.

Repeat steps 4–6 as necessary. Remember, if you subsequently modify gridshib-sp-metadata.xml, it must be signed and distributed anew.

Shibboleth

Note: In what follows, $EXTENSION_NAME$ is a placeholder for "test-idp-0_4_4" or whatever version of the IdP Tester you downloaded earlier.

Configure your IdP to work with GridShib for GT v0.4.1 as follows:

  1. Add the following element to the IdP config file "$IDP_HOME$/etc/idp.xml":
      <RelyingParty
        name="urn:mace:gridshib:metadata:sp"
        signingCredential="example_cred">
        <NameID nameMapping="email"/>
      </RelyingParty>
    The value of the name attribute matches attribute /EntitiesDescriptor/@Name in the grid service provider metadata file (gridshib-sp-metadata.xml). The value of the signingCredential attribute must match the FileResolver/@Id attribute in the config file. The RelyingParty element must be adjacent to other RelyingParty elements (since the order of XML elements matters).
  2. Copy the grid service provider metadata file (gridshib-sp-metadata.xml) to directory "$IDP_HOME$/etc/$EXTENSION_NAME$".
  3. Add the following element to "$IDP_HOME$/etc/idp.xml":
      <MetadataProvider
        type="edu.internet2.middleware.shibboleth.metadata.provider.XMLMetadata"
        uri="file://$IDP_HOME$/etc/$EXTENSION_NAME$/gridshib-sp-metadata.xml"/>
    Be sure to substitute placeholders $IDP_HOME$ and $EXTENSION_NAME$ with their actual values.

Client Software

Download and install the client software:

http://gridshib.globus.org/downloads/gridshib-authn-proxy-client-source-0_1.tar.gz

To generate a proxy certificate with embedded SAML authentication assertion, invoke the 'createproxy' command line program in directory gridshib/x509tools/java/source as follows:

  $ createproxy -f Format -i NameQualifier -u NameIdentifier \
                -c Path_to_Cert -k Path_to_Key -o Out_Proxy

where


The GridShib Project
gridshib-beta at globus.org