A lightweight alternative to installing the full Globus Toolkit (GT) is to only install the Java WS Core component of GT4, and then install GridShib for GT on top of that. In fact, this is the only option under Windows, which does not support the full Globus Toolkit, so the following guide shows how to layer GridShib for GT on top of Java WS Core.
This "Quick Start" guide gives detailed instructions for installing, configuring, and using Java WS Core 4.0.5, GridShib for GT v0.6.0, and GridShib SAML Tools v0.2.0. This software stack will run on a wide variety of platforms, including Windows. Software requirements include JDK 1.4.2 (or higher) and Ant 1.6 (or higher), which we assume are already installed on the platform of choice.
Like the Globus Toolkit Quick Start guide, the following Quick Start will show how to install and configure the software on two systems, which we call local host and remote host. In addition to the general software requirements mentioned above, we assume local host has Java Web Start installed so that we can leverage the GridShib CA to obtain credentials. Please check for Java Web Start on local host before continuing.
For the purposes of this Quick Start, we will assume that local host is a Windows system while remote host is a UNIX system. Other platform combinations are possible of course.
Contents
GLOBUS_LOCATION environment variable (which is case sensitive, even on Windows in this case):
> cd c:\globus\ws-core-4.0.5-bin\ws-core-4.0.5 > set GLOBUS_LOCATION=%CD% > echo %GLOBUS_LOCATION%
log4j.category.org.globus.gridshib.gt=DEBUG
> bin\globus-start-container -nosec Starting SOAP server at: http://141.142.251.212:8080/wsrf/services/ With the following services: [1]: http://141.142.251.212:8080/wsrf/services/AdminService [2]: http://141.142.251.212:8080/wsrf/services/AuthzCalloutTestService [3]: http://141.142.251.212:8080/wsrf/services/ContainerRegistryEntryService [4]: http://141.142.251.212:8080/wsrf/services/ContainerRegistryService [5]: http://141.142.251.212:8080/wsrf/services/CounterService [6]: http://141.142.251.212:8080/wsrf/services/ManagementService [7]: http://141.142.251.212:8080/wsrf/services/NotificationConsumerFactoryService [8]: http://141.142.251.212:8080/wsrf/services/NotificationConsumerService [9]: http://141.142.251.212:8080/wsrf/services/NotificationTestService [10]: http://141.142.251.212:8080/wsrf/services/PersistenceTestSubscriptionManager [11]: http://141.142.251.212:8080/wsrf/services/SampleAuthzService [12]: http://141.142.251.212:8080/wsrf/services/SecureCounterService [13]: http://141.142.251.212:8080/wsrf/services/SecurityTestService [14]: http://141.142.251.212:8080/wsrf/services/ShutdownService [15]: http://141.142.251.212:8080/wsrf/services/SubscriptionManagerService [16]: http://141.142.251.212:8080/wsrf/services/TestAuthzService [17]: http://141.142.251.212:8080/wsrf/services/TestRPCService [18]: http://141.142.251.212:8080/wsrf/services/TestService [19]: http://141.142.251.212:8080/wsrf/services/TestServiceRequest [20]: http://141.142.251.212:8080/wsrf/services/TestServiceWrongWSDL [21]: http://141.142.251.212:8080/wsrf/services/Version [22]: http://141.142.251.212:8080/wsrf/services/WidgetNotificationService [23]: http://141.142.251.212:8080/wsrf/services/WidgetService [24]: http://141.142.251.212:8080/wsrf/services/gsi/AuthenticationServicePress Ctrl-C to abort the container.
> dir "%USERPROFILE%\.globus\certificates" ... 02/19/2007 10:15 PM 1,667 bfcd1f28.0 02/19/2007 10:15 PM 239 bfcd1f28.signing_policy
-nosec) than to stop a secure container.> echo %GLOBUS_LOCATION% > bin\globus-start-container -nosec Starting SOAP server at: http://141.142.251.212:8080/wsrf/services/ With the following services...
> cd c:\globus\ws-core-4.0.5-bin\ws-core-4.0.5 > set GLOBUS_LOCATION=%CD% > echo %GLOBUS_LOCATION% > bin\globus-stop-container -s http://localhost:8080/wsrf/services/ShutdownService Error: ; nested exception is: GSSException: Defective credential detected [Caused by: Proxy file (C:\DOCUME~1\TOMSCA~1\LOCALS~1\Temp\x509up_u_tom scavo) not found.]
> bin\globus-stop-container -s http://localhost:8080/wsrf/services/ShutdownService Error: ; nested exception is: java.net.ConnectException: Connection refused: connect
> bin\globus-stop-container -s http://localhost:8080/wsrf/services/ShutdownService -m msg
> echo %GLOBUS_LOCATION% > bin\globus-start-container Starting SOAP server at: https://141.142.250.163:8443/wsrf/services/ With the following services...
> echo %GLOBUS_LOCATION% > bin\globus-stop-container
SecureCounterService, authenticating with your EEC via Secure Conversation.
> echo %GLOBUS_LOCATION% > bin\globus-start-container Starting SOAP server at: https://141.142.250.163:8443/wsrf/services/ With the following services...
> echo %GLOBUS_LOCATION%
> bin\counter-client -m conv -z none
-s https://localhost:8443/wsrf/services/SecureCounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13> bin\globus-stop-container
GLOBUS_LOCATION.
> cd c:\gridshib\gridshib-gt-X_X_X-src\gridshib-gt-X_X_X > echo %GLOBUS_LOCATION% > ant undeploy > ant undeploy-echoservice > ant undeploy-tests
> cd c:\gridshib\gridshib-gt-0_6_0-src\gridshib-gt-0_6_0 > echo %GLOBUS_LOCATION% > ant deploy > ant deploy-echoservice
SecurityContextEchoService, authenticating with your EEC.
NameIdentifier element in the bound assertion.> echo %GLOBUS_LOCATION% > bin\globus-start-container Starting SOAP server at: https://141.142.250.163:8443/wsrf/services/ With the following services...
> copy "%TEMP%\x509up_u_%USERNAME%" c:\temp\testcredential.pem
> set X509_USER_PROXY=c:\temp\testcredential.pem
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
---------
Response:
---------
SAMLIdentity {
issuer='https://test-sp.ncsa.uiuc.edu/shibboleth'
nameID='<NameIdentifier
xmlns="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
xmlns:samlsap="urn:oasis:names:tc:SAML:1.1:profiles:assertion:subject"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
CN=trscavo@openidp.org,OU=urn:mace:inqueue:shib13.openidp.org,
O=Shibboleth User,DC=computer,DC=ncsa,DC=uiuc,DC=edu</NameIdentifier>'
}
Principal {
name='/DC=edu/DC=uiuc/DC=ncsa/DC=computer/O=Shibboleth User
/OU=urn:mace:inqueue:shib13.openidp.org
/CN=trscavo@openidp.org'
}> cd c:\gridshib\gridshib-saml-0_2_0-src\gridshib-saml-0_2_0 > set GRIDSHIB_HOME=%CD% > ant installSee the Installation Notes for more information about GridShib SAML Tools.
IDPEntityID property to the Subject DN of your EEC.certLocation=file:/%TEMP%/x509up_u_%USERNAME% keyLocation=file:/%TEMP%/x509up_u_%USERNAME%Replace the placeholders
%TEMP% and %USERNAME% with their actual values, changing the backslashes to forward slashes for proper URL syntax.SecurityContextEchoService, authenticating with a level 1 proxy credential.
SecurityContextEchoService will be the combined security information from both the GridShib CA-issued EEC and the proxy certificate.> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password> set X509_USER_PROXY=c:\temp\testcredential.pem
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
---------
Response:
---------
SAMLIdentity {
issuer='CN=trscavo@openidp.org,
OU=urn:mace:inqueue:shib13.openidp.org,O=Shibboleth User,
DC=computer,DC=ncsa,DC=uiuc,DC=edu'
nameID='<NameIdentifier
xmlns="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">
trscavo</NameIdentifier>'
}
SAMLIdentity {
issuer='https://test-sp.ncsa.uiuc.edu/shibboleth'
nameID='<NameIdentifier
xmlns="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
xmlns:samlsap="urn:oasis:names:tc:SAML:1.1:profiles:assertion:subject"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName">
CN=trscavo@openidp.org,OU=urn:mace:inqueue:shib13.openidp.org,
O=Shibboleth User,DC=computer,DC=ncsa,DC=uiuc,DC=edu</NameIdentifier>'
}
SAMLAuthnContext {
issuer='CN=trscavo@openidp.org,
OU=urn:mace:inqueue:shib13.openidp.org,O=Shibboleth User,
DC=computer,DC=ncsa,DC=uiuc,DC=edu'
authnMethod='urn:oasis:names:tc:SAML:1.0:am:password'
authnInstant='2007-07-27T13:24:34Z'
ipAddress='null'
dnsName='null'
}
(raw) BasicAttribute {
issuer='CN=trscavo@openidp.org,
OU=urn:mace:inqueue:shib13.openidp.org,O=Shibboleth User,
DC=computer,DC=ncsa,DC=uiuc,DC=edu'
name='urn:oid:2.5.4.6'
nameFormat='urn:mace:shibboleth:1.0:attributeNamespace:uri'
value #1='US'
}
(raw) BasicAttribute {
issuer='CN=trscavo@openidp.org,
OU=urn:mace:inqueue:shib13.openidp.org,O=Shibboleth User,
DC=computer,DC=ncsa,DC=uiuc,DC=edu'
name='urn:oid:1.3.6.1.4.1.5923.1.5.1.1'
nameFormat='urn:mace:shibboleth:1.0:attributeNamespace:uri'
value #1='http://www.nanohub.org'
}
Principal {
name='/DC=edu/DC=uiuc/DC=ncsa/DC=computer/O=Shibboleth User/
OU=urn:mace:inqueue:shib13.openidp.org/CN=trscavo@openidp.org'
}
As you can see, there are a total of six (6) items in the above response:
SAMLIdentity items, corresponding to the NameIdentifier elements in the bound SAML assertionsSAMLAuthnContext item, corresponding to the SAMLAuthenticationStatement element in the SAML assertion bound to the proxy certificateBasicAttribute items, corresponding to the SAMLAttribute elements bound to the proxy certificatePrincipal item, the Subject DN of your GridShib CA-issued EEC
BasicAttribute items are labeled (raw). This is because these attributes have not yet been subjected to policy and are therefore only provisionally accepted by GridShib for GT.)$ cd $ gunzip /tmp/ws-core-4.0.5-bin.tar.gz $ tar xvf /tmp/ws-core-4.0.5-bin.tar
GLOBUS_LOCATION environment variable (which is case sensitive):
$ cd ~/ws-core-4.0.5 $ export GLOBUS_LOCATION=`pwd` $ echo $GLOBUS_LOCATION
log4j.category.org.globus.gridshib.gt=DEBUG
> ./bin/globus-start-container -nosec Starting SOAP server at: http://141.142.251.212:8080/wsrf/services/ With the following services: [1]: http://141.142.251.212:8080/wsrf/services/AdminService [2]: http://141.142.251.212:8080/wsrf/services/AuthzCalloutTestService [3]: http://141.142.251.212:8080/wsrf/services/ContainerRegistryEntryService [4]: http://141.142.251.212:8080/wsrf/services/ContainerRegistryService [5]: http://141.142.251.212:8080/wsrf/services/CounterService [6]: http://141.142.251.212:8080/wsrf/services/ManagementService [7]: http://141.142.251.212:8080/wsrf/services/NotificationConsumerFactoryService [8]: http://141.142.251.212:8080/wsrf/services/NotificationConsumerService [9]: http://141.142.251.212:8080/wsrf/services/NotificationTestService [10]: http://141.142.251.212:8080/wsrf/services/PersistenceTestSubscriptionManager [11]: http://141.142.251.212:8080/wsrf/services/SampleAuthzService [12]: http://141.142.251.212:8080/wsrf/services/SecureCounterService [13]: http://141.142.251.212:8080/wsrf/services/SecurityTestService [14]: http://141.142.251.212:8080/wsrf/services/ShutdownService [15]: http://141.142.251.212:8080/wsrf/services/SubscriptionManagerService [16]: http://141.142.251.212:8080/wsrf/services/TestAuthzService [17]: http://141.142.251.212:8080/wsrf/services/TestRPCService [18]: http://141.142.251.212:8080/wsrf/services/TestService [19]: http://141.142.251.212:8080/wsrf/services/TestServiceRequest [20]: http://141.142.251.212:8080/wsrf/services/TestServiceWrongWSDL [21]: http://141.142.251.212:8080/wsrf/services/Version [22]: http://141.142.251.212:8080/wsrf/services/WidgetNotificationService [23]: http://141.142.251.212:8080/wsrf/services/WidgetService [24]: http://141.142.251.212:8080/wsrf/services/gsi/AuthenticationServicePress Ctrl-C to abort the container.
> dir "%USERPROFILE%\.globus\certificates" ... 02/19/2007 10:15 PM 1,667 bfcd1f28.0 02/19/2007 10:15 PM 239 bfcd1f28.signing_policy
> echo %GLOBUS_LOCATION% > bin\globus-start-container -nosec Starting SOAP server at: http://141.142.251.212:8080/wsrf/services/ With the following services...
> cd c:\globus\ws-core-4.0.5-bin\ws-core-4.0.5 > set GLOBUS_LOCATION=%CD% > echo %GLOBUS_LOCATION% > bin\globus-stop-container Error: ; nested exception is: GSSException: Defective credential detected [Caused by: Proxy file (C:\DOCUME~1\TOMSCA~1\LOCALS~1\Temp\x509up_u_tom scavo) not found.]
> bin\globus-stop-container Error: ; nested exception is: java.net.ConnectException: Connection refused: connect
> bin\globus-stop-container -s http://localhost:8080/wsrf/services/ShutdownService -m msg
> echo %GLOBUS_LOCATION% > bin\globus-start-container Starting SOAP server at: https://141.142.250.163:8443/wsrf/services/ With the following services...
> echo %GLOBUS_LOCATION% > bin\globus-stop-container
SecureCounterService, authenticating with your EEC via Secure Conversation.
> echo %GLOBUS_LOCATION% > bin\globus-start-container Starting SOAP server at: https://141.142.250.163:8443/wsrf/services/ With the following services...
> echo %GLOBUS_LOCATION%
> bin\counter-client -m conv -z none
-s https://localhost:8443/wsrf/services/SecureCounterService
Got notification with value: 3
Counter has value: 3
Got notification with value: 13> bin\globus-stop-container
[in progress]
SecurityContextEchoService on remote host.
SecurityContextEchoService is configured to accept all attributes (i.e., no policy is applied). We now expand the authorization chain to include attribute acceptance policy. This policy check is enabled by adding another PIP to the authorization chain<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP"/>and uncomment this line
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP"/>
This enables AttributeAcceptancePIP in the authorization chain.SecurityContextEchoService, authenticating with a level 1 proxy credential issued on local host.
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password
> set X509_USER_PROXY=c:\temp\testcredential.pem
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
The response will include one SAMLIdentity item issued by the GridShib CA-issued EEC. Although the proxy certificate contains a SAML assertion, the SAML attributes in the proxy were filtered by the AttributeAcceptancePIP since the proxy issuer is not a trusted SAML authority.entityID of the SAML issuer.IDPEntityID=https://gridshib.example.org/idpThe URI on the righthand side is the
entityID of the SAML issuer.> %GLOBUS_LOCATION%\bin\rfc2253dnThe Subject DN of your EEC is required in the following step.
AttributeAcceptancePIP on remote host.
entityID maps to an X.509 Issuer DN. By default, the GridShib CA is a trusted SAML authority. We now add a proxy issuer to the list of trusted SAML authorities.https://gridshib.example.org/idp "Subject DN of your EEC"Be sure to use the RFC 2253 form of your Subject DN.
SecurityContextEchoService again.
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
You should receive a total of six (6) items in the response: two (2) SAMLIdentity items, one (1) SAMLAuthnContext item, two (2) BasicAttribute items, and one (1) Principal item. Note carefully the issuer of each item. Also note that the BasicAttribute items are no longer labeled (raw) since, by virtue of the AttributeAcceptancePIP, they have been subjected to Attribute Acceptance Policy.SecurityContextEchoService on remote host.
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP"/>
and uncomment this line
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP"/>
This enables SAMLBlacklistPDP in the authorization chain.<parameter name="secctxecho-enableBlacklisting" value="false"/>with this line
<parameter name="secctxecho-enableBlacklisting" value="true"/>This enables blacklisting in the
SecurityContextEchoService.SecurityContextEchoService, authenticating with a level 1 proxy credential issued on local host.
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password --address 111.111.111.111
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
Error: org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/DC=edu/DC=uiuc/DC=ncsa/DC=computer/O=Shibboleth User/OU=entityID/CN=ePPN"
is not authorized to use operation:
{http://wsrf.globus.org/2005/04/secctxecho}echo on this service
Since the IP address is on the blacklist, the request is denied.SecurityContextEchoService again.
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password --address 255.255.255.255
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
As before, you should receive a total of six (6) items in the response: two (2) SAMLIdentity items, one (1) SAMLAuthnContext item, two (2) BasicAttribute items, and one (1) Principal item. Note that the SAMLAuthnContext item contains the IP address 255.255.255.255 previously embedded in the proxy.SecurityContextEchoService on remote host.
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP"/>
and uncomment this line
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP
secctxecho:org.globus.gridshib.SAMLMapPIP"/>
This enables SAMLMapPIP in the authorization chain.SecurityContextEchoService again.
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
You should receive a total of seven (7) items in the response: two (2) SAMLIdentity items, one (1) SAMLAuthnContext item, two (2) BasicAttribute items, and two (2) Principal items. The new Principal item is a username mapped to an attribute in the policy file.SecurityContextEchoService on remote host.
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP
secctxecho:org.globus.gridshib.SAMLMapPIP"/>
and uncomment this line
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP
secctxecho:org.globus.gridshib.SAMLMapPIP
secctxecho:org.globus.gridshib.SAMLAttributePDP"/>
This enables SAMLAttributePDP in the authorization chain.# the IdP entityID IDPEntityID=https://gridshib.example.org/idp # a principal name identifier Format=urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified formatting.template=%PRINCIPAL% # FriendlyName="eduPersonEntitlement" Attribute.ROLE.Namespace=urn:mace:shibboleth:1.0:attributeNamespace:uri Attribute.ROLE.Name=urn:mace:dir:attribute-def:eduPersonEntitlement Attribute.ROLE.Value=http://www.teragrid.org/names/roles/admin # an issuing credential (EEC or proxy) certLocation=file:/C:/temp/testcredential.pem keyLocation=file:/C:/temp/testcredential.pem
SecurityContextEchoService, authenticating with a level 1 proxy credential issued on local host.
> copy "%TEMP%\x509up_u_%USERNAME%" c:\temp\testcredential.pem
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password
--config file:/c:/temp/gridshib-saml-issuer.properties
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
Error: org.globus.wsrf.impl.security.authorization.exceptions.AuthorizationException:
"/DC=edu/DC=uiuc/DC=ncsa/DC=computer/O=Shibboleth User/OU=entityID/CN=ePPN"
is not authorized to use operation:
{http://wsrf.globus.org/2005/04/secctxecho}echo on this service
Since the supplied attribute does not satisfy policy, the request is denied.SecurityContextEchoService again.
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password
> echo %X509_USER_PROXY%
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
You should receive a total of seven (7) items in the response: two (2) SAMLIdentity items, one (1) SAMLAuthnContext item, two (2) BasicAttribute items, and two (2) Principal items.SecurityContextEchoService on remote host.
GridShibPDP is functionally equivalent to the authorization chain configured previously. (Actually, GridShibPDP does much more, as we shall see.)<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP
secctxecho:org.globus.gridshib.SAMLMapPIP
secctxecho:org.globus.gridshib.SAMLAttributePDP"/>
and uncomment this line
<authz value="secctxecho:org.globus.gridshib.GridShibPDP"/>This enables the master PDP
GridShibPDP.SecurityContextEchoService, authenticating with a level 1 proxy credential via Secure Message.
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
> %GLOBUS_LOCATION%\bin\gridshibecho -d -z none -m msg
-s https://localhost:8443/wsrf/services/SecurityContextEchoService
Both requests should produce a total of seven (7) items in the response: two (2) SAMLIdentity items, one (1) SAMLAuthnContext item, two (2) BasicAttribute items, and two (2) Principal items.SecurityContextEchoService on remote host.
<authz value="secctxecho:org.globus.gridshib.GridShibPDP"/>and uncomment this line
<authz value="secctxecho:org.globus.gridshib.SAMLAssertionPushPIP
secctxecho:org.globus.gridshib.AttributeAcceptancePIP
secctxecho:org.globus.gridshib.SAMLBlacklistPDP
secctxecho1:org.globus.gridshib.SAMLMapPIP
secctxecho2:org.globus.gridshib.SAMLMapPIP
secctxecho1:org.globus.gridshib.SAMLAttributePDP
secctxecho2:org.globus.gridshib.SAMLAttributePDP
secctxecho3:org.globus.gridshib.SAMLAttributePDP"/>
This enables SAMLAttributePDP three times in the authorization chain. Each invocation of SAMLAttributePDP is associated with its own policy file. (See $GLOBUS_LOCATION/etc/gridshib-gt-echo-0_6_0/server-config.wsdd for the policy file configuration.)SecurityContextEchoService, authenticating with a level 2 proxy credential issued on local host.
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--authn --x509 --outfile c:\temp\testcredential.pem
--authnMethod urn:oasis:names:tc:SAML:1.0:am:password
> %GRIDSHIB_HOME%\bin\gridshib-saml-issuer --user trscavo
--x509 --outfile c:\temp\testcredential.pem
--config file:/c:/temp/gridshib-saml-issuer.propertiesSAMLIdentity items (one from each certificate), one (1) SAMLAuthnContext item (from the level 1 proxy), three (3) BasicAttribute items (two from the level 1 proxy and one from the level 2 proxy), and three (3) Principal items (two of which are username mappings).