ããã«ã¡ã¯ãSlashãã¼ã ã®æ¸¡è¾ºã§ãã
Slashãã¼ã ã§ã¯ãã¦ã¼ã¶ã¼ç®¡çãèªè¨¼å¨ããªã©ã®ãcybozu.comã®åãµã¼ãã¹ã«å
±éããæ©è½ãéçºãã¦ãã¾ããä»åã¯ã3æã«ãªãªã¼ã¹ããããSAMLèªè¨¼ãç¨ããã·ã³ã°ã«ãµã¤ã³ãªã³æ©è½1ã«ã¤ãã¦ã話ããã¦é ãã¾ããcybozu.comã§ã®SAMLèªè¨¼ã®æ¦è¦ã«ãããã¦ããããã®æ©è½ãã©ã®ããã«è¨è¨ã»å®è£
ãã¦ãã£ãããã¨ãã誰ãèå³ãªãããããªè©±é¡ãæ±ãã¾ãã
SAML2 ã£ã¦ï¼
ãSAMLãªãã¦èãããã¨ç¡ããã©ãªãã¨ãªãèå³ããããï¼ï¼ãã¨ããç©å¥½ããªæ¹ã®ããã«ãSAMLã®æ¦è¦ã¨cybozu.comã§ã®å©ç¨ã«ã¤ãã¦ãç°¡åã«èª¬æãã¾ãããããªãã®ã¯æ¢ã«ç¥ã£ã¦ããã¨ããSAMLçè ãªæ¹ã¯èªã¿é£ã°ãã¦é ãã¦æ§ãã¾ããã
SAMLã¯Security Assertion Markup Languageã®ç¥ã§ãOASIS3ã«ãã£ã¦çå®ããããç°ãªãã»ãã¥ãªãã£ãã¡ã¤ã³éã§ãèªè¨¼æ å ±ãé£æºããããã®XMLãã¼ã¹ã®æ¨æºä»æ§ã§ãã
ããã ãã ã¨ä½ã®ãã¨ã ãããåããã¾ãããã
å ·ä½çã«ä½ãã§ãããã¨ããã¨ãä¾ãã°ã社å ãããã¯ã¼ã¯ã«åå¨ããActive Directory Federation Servicesï¼ADFSï¼ãªã©ã®èªè¨¼ãµã¼ãã¼ã®èªè¨¼æ å ±ã使ã£ã¦ãã¯ã©ã¦ãã«ããcybozu.comã«å®å ¨ã«ã·ã³ã°ã«ãµã¤ã³ãªã³ï¼SSOï¼ã§ããããã«ãªãã¾ããã¦ã¼ã¶ã¼ã¯èªè¨¼ãµã¼ãã¼ã«ä¸åãã°ã¤ã³ããã ãã§ãã便å©ã§ããã
å°ãSAMLã®ä¸çã§ã¯ãADFSã®ããã«èªè¨¼æ å ±ãæä¾ããå´ãIdentity Providerï¼IdPï¼ ãcybozu.comã®ããã«èªè¨¼æ å ±ãå©ç¨ããå´ãService Providerï¼SPï¼ã¨å¼ã³ã¾ãã
cybozu.comã§ã¯ãä¸å³ã®ãããªã·ã¼ã±ã³ã¹ã§SSOãå®ç¾ããã¦ãã¾ããå ¨ã¦ã®éä¿¡ã¯HTTPSã§è¡ããã¨ãæ³å®ãã¦ãã¾ãã
- ã¦ã¼ã¶ã¼ãcybozu.comã«ã¢ã¯ã»ã¹ãã
- ã¦ã¼ã¶ã¼ãæªãã°ã¤ã³ç¶æ ãªå ´åãcybozu.comãèªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãçæãã
- ã¦ã¼ã¶ã¼ãcybozu.comããèªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãåãåãããããIdPã«éã
- IdPãèªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãåãåããã¦ã¼ã¶ã¼ãèªè¨¼ãã
- IdPãèªè¨¼å¿çã¡ãã»ã¼ã¸ãä½æãã
- ã¦ã¼ã¶ã¼ãIdPããèªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåãããããcybozu.comã«éã
- cybozu.comãèªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåããæ¤è¨¼ãã
- ã¡ãã»ã¼ã¸ã®å 容ã«åé¡ããªãå ´åã¯ãã¦ã¼ã¶ã¼ãcybozu.comã«ãã°ã¤ã³ã§ãã
ãã®ããã«ãèªè¨¼ã®ã·ã¼ã±ã³ã¹ãSPï¼cybozu.comï¼ã¸ã®ã¢ã¯ã»ã¹ããå§ã¾ãSSOããSP Initiated SSOã¨å¼ã³ã¾ããã¾ããSAMLã§SSOãå®ç¾ããããã«ã¯ãäºåã«IdPã¨SPã®éã§ä¿¡é ¼é¢ä¿ãæ§ç¯ãã¦ããå¿ è¦ãããã¾ããããã¯ãã¡ã¿ãã¼ã¿ã®èªã¿è¾¼ã¿ããå ¬ééµã®ç»é²ãªã©ã§å®ç¾ãã¾ãã
SAMLã®ä»æ§
SAMLã®ä»æ§ï¼ãã¼ã¸ã§ã³2.0ï¼ã¯ããã¤ãã®ã«ãã´ãªã«åããã¦ãã¾ãããã®å ãä»å¾ã®èª¬æã§éè¦ã«ãªããã®ãåæãã¾ãã
- SAML Core4
èªè¨¼æ å ±ã表ãXMLã®ã¹ãã¼ãï¼SAML Assertionsï¼ã¨ãã¡ãã»ã¼ã¸äº¤æã®ãããã³ã«ï¼SAML Protocolsï¼ãå®ç¾©ãã¦ãã¾ãã - SAML Bindings5
SAMLã®ã¡ãã»ã¼ã¸ãå®éã®éä¿¡ãããã³ã«ï¼HTTPãªã©ï¼ã«ãããã³ã°ããæ¹æ³ãå®ç¾©ãã¦ãã¾ãã - SAML Profiles6
ç¹å®ã®ã¦ã¼ã¹ã±ã¼ã¹ãå®ç¾ããããã®ãSAML AssertionsãSAML ProtocolsãSAML Bindingsã®çµã¿åããæ¹ãå®ç¾©ãã¦ãã¾ãã - SAML Metadata7
IdPãSPã«é¢ããæ å ±ï¼ã¡ãã»ã¼ã¸ãåãåãã¨ã³ããã¤ã³ãURLãå©ç¨ããBindingãªã©ï¼ã表ç¾ããããã®XMLã®ã¹ãã¼ããå®ç¾©ãã¦ãã¾ããIdPã¨SPã®éã«ä¿¡é ¼é¢ä¿ãæ§ç¯ããéã«å©ç¨ãããã¨ãã§ãã¾ãã
以ä¸ã§SAMLã®æ¦è¦èª¬æã¯çµããã§ããããããæ¬é¡ã«å ¥ã£ã¦ãcybozu.comã§ã®SAMLèªè¨¼ã®è¨è¨ã«ã¤ãã¦è§£èª¬ãã¦ããã¾ãã
è¦ä»¶
cybozu.comã§SAMLãå©ç¨ãã¦å®ç¾ãããã£ããã¨ã¯ ãcybozu.comãSPã¨ãã¦ãIdPã®èªè¨¼æ å ±ãç¨ãã¦SSOãè¡ããã¨ã ã§ããã¾ããé£æºå ã®IdPã¯ç¤¾å ãããã¯ã¼ã¯ã«åå¨ããå¯è½æ§ããããIdPã¨SPã¯ç´æ¥éä¿¡ã§ããªããã¨ãæ³å®ãã¦ãã¾ãã
ãã®ã¦ã¼ã¹ã±ã¼ã¹ã¯ãSAML Profilesã«ãããWeb Browser SSO Profileã«è©²å½ãã¾ãããããã£ã¦ãä»åã®è¦ä»¶ãå®ç¾ããããã«ã¯ã以ä¸ã®äºã¤ã®æ©è½ã追å ããå¿ è¦ãããã¾ãã
- IdPã¨ã®ä¿¡é ¼é¢ä¿ã®æ§ç¯
- Web Browser SSO Profileã«å¾ã£ãã¡ãã»ã¼ã¸å¦ç
IdPã¨ã®ä¿¡é ¼é¢ä¿ã®æ§ç¯æ©è½ã®è¨è¨
åè¿°ã®éããSAMLã§SSOãå®ç¾ããã«ã¯ãäºåã«IdPã¨SPã®éã§ä¿¡é ¼é¢ä¿ãæ§ç¯ãã¦ããå¿ è¦ãããã¾ããã¤ã¾ããSPãä¿¡é ¼ããIdPã®ç»é²ã¨ãIdPãä¿¡é ¼ããSPã®ç»é²ãããããè¡ãå¿ è¦ãããã¾ãã
SPãä¿¡é ¼ããIdPã®ç»é²
cybozu.comã§ã¯ãå ±é管çç»é¢ã®ããã°ã¤ã³ã®ã»ãã¥ãªãã£è¨å®ãã«ããã¦ãä¿¡é ¼ããIdPã®æ å ±ãç»é²ãã¾ãã å ·ä½çã«ã¯ä»¥ä¸ã®æ å ±ãç»é²ãã¾ãã
- IdPãèªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãåãåãURL
- cybozu.comãããã°ã¢ã¦ãããå¾ã«é·ç§»ããURL
- IdPãèªè¨¼å¿çã¡ãã»ã¼ã¸ã®ç½²åã«ç¨ããç§å¯éµã«å¯¾å¿ããå ¬ééµ
ãã°ã¢ã¦ãURLã«ã¯åºæ¬çã«ã¯IdPãããã°ã¢ã¦ãããããã®URLãè¨å®ãã¾ãããã®URLãç¨ãã¦è¡ãã®ã¯ãSAMLã®Single Logoutã§ã¯ãªããåãªãIdPã®ãã°ã¢ã¦ãç¨URLã¸ã®ãªãã¤ã¬ã¯ãã§ããcybozu.comãããã°ã¢ã¦ãããå¾ã«ãIdPã«ãã°ã¤ã³ããã¾ã¾ã ã¨ãåã³cybozu.comã«ã¢ã¯ã»ã¹ããå ´åã«SSOãå®è¡ããã¦ãã°ã¢ã¦ããæå³ããªããªãããããã®ãããªå¦çãè¡ãªã£ã¦ãã¾ãã
IdPãä¿¡é ¼ããSPã®ç»é²
IdPã®ç®¡çç»é¢ã§æåã§è¨å®ãããããããã¯SPãæä¾ããã¡ã¿ãã¼ã¿ãèªã¿è¾¼ããã¨ã§ãIdPã«SPãç»é²ãã¾ããå ·ä½çãªè¨å®æ¹æ³ã¯IdPã«ãã£ã¦ç°ãªãããå²æãã¾ãããããã§ã¯cybozu.comãæä¾ãã¦ããSPã¡ã¿ãã¼ã¿ã«ã¤ãã¦è§£èª¬ãã¾ãã
SPã¡ã¿ãã¼ã¿ã¯SAML Metadataã«å®ç¾©ããã¦ãã<EntityDescriptor>
è¦ç´ ã¨<SPSSODescriptor>
è¦ç´ ã§è¡¨ç¾ããã¾ããçç¥å¯è½ãªè¦ç´ ã»å±æ§ã¯çç¥ããã¨ããæ¹éãç«ã¦ãçµæãå®éã«cybozu.comã®ç®¡çç»é¢ã§åå¾ã§ããSPã¡ã¿ãã¼ã¿ã®XMLã¯ä»¥ä¸ã®ããã«ãªãã¾ããã<NameIDFormat>
è¦ç´ ã¨<AssertionConsumerService>
è¦ç´ ãå«ãã§ãã¾ããXMLå
ã®(sub_domain)ã¯ç°å¢ã«ãã£ã¦ç°ãªãã¾ãã
<md:EntityDescriptor entityID="https://(sub_domain).cybozu.com"> <md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:NameIDFormat> urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified </md:NameIDFormat> <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://(sub_domain).cybozu.com/saml/acs" index="0"/> </md:SPSSODescriptor> </md:EntityDescriptor>
Web Browser SSO Profileã«å¾ã£ãã¡ãã»ã¼ã¸å¦çæ©è½ã®è¨è¨
åè¿°ã®ããã«ãcybozu.comã§ã¯SP Initiated SSOãæ¡ç¨ãã¦ãã¾ããWeb Browser SSO Profileã«å¾ã£ã¦SP Iinitiated SSOãè¡ãéã«ãSPå´ã«å¿ è¦ãªæ©è½ã¯ä»¥ä¸ã®åã¤ã§ãã
- èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ã®ä½æ
- èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãIdPã«éã
- IdPãçºè¡ããèªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåã
- èªè¨¼å¿çã¡ãã»ã¼ã¸ãæ¤è¨¼ãã
1. èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ã®ä½æ
èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ã¯SAML Coreã«å®ç¾©ããã¦ãã<AuthnRequest>
è¦ç´ ã§è¡¨ç¾ããã¾ããçç¥å¯è½ãªè¦ç´ ã»å±æ§ã¯çç¥ããã<AuthnRequest>
ã«ç½²åããªããã¨ããæ¹éãç«ã¦ãçµæã<AuthnRequest>
ã§ã¯ä»¥ä¸ã®è¦ç´ ã»å±æ§ã®ã¿ã使ç¨ãããã¨ã¨ãã¾ããã< >ã§å²ã¾ãã¦ããã®ã¯è¦ç´ ãããã§ãªãã®ã¯å±æ§ã§ãã
è¦ç´ ã»å±æ§å | å 容 |
---|---|
ID | èªè¨¼è¦æ±ã¡ãã»ã¼ã¸æ¯ã«ã¦ãã¼ã¯ãªxs:IDå8ã®ã©ã³ãã æåå |
Version | SAMLã®ãã¼ã¸ã§ã³ |
IssueInstant | èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ã®çºè¡æ¥æ |
AssertionConsumerServiceURL | SPãèªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåãã¨ã³ããã¤ã³ãã®URL |
ProtocolBinding | èªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåãéã«å©ç¨ããSAML Binding |
< Issuer > | SPã®ã¦ãã¼ã¯ãªID |
< NameIDPolicy > | èªè¨¼å¿çã¡ãã»ã¼ã¸å ã®ã¦ã¼ã¶ã¼ã®èå¥åã«é¢ããããªã·ã¼ |
ãããã®é ç®ã®å¤ãæ¤è¨ããçµæãcybozu.comã§å®éã«åºåããXMLã¯ä»¥ä¸ã®ããã«ãªãã¾ãããXMLå ã®(sub_domain)ã¯ç°å¢ã«ãã£ã¦ç°ãªãã¾ãã
<samlp:AuthnRequest AssertionConsumerServiceURL="https://(sub_domain).cybozu.com/saml/acs" ID="szqd0c3d0u3vpz5jwna4p24iso42opc4" IssueInstant="2013-04-01T00:00:00Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://(sub_domain).cybozu.com <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" /> </samlp:AuthnRequest>
2. èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãIdPã«éã
<AuthnRequet>
ãIdPã«å±ããããã«ãã¾ãã¯IdPã¨ã®éä¿¡ã«å©ç¨ããSAML Bindingã決ããªãã¦ã¯ãªãã¾ãããcybozu.comã§ã¯ãIdPã¨SPãç´æ¥éä¿¡ã§ããªããã¨ãèæ
®ãã HTTP Redirect Binding ãå©ç¨ãããã¨ã¨ãã¾ããã
HTTP Redirect Bindingã§ã¯ã<AuthnRequet>
ã以ä¸ã®é åºã§ã¨ã³ã³ã¼ããã¾ãã
- Deflateã¨ã³ã³ã¼ã
- Base64ã¨ã³ã³ã¼ã
- URLã¨ã³ã³ã¼ã
ã¨ã³ã³ã¼ãçµæã®æååãã¯ã¨ãªãã©ã¡ã¼ã¿ã¨ãã¦ãIdPã®SSOã¨ã³ããã¤ã³ãURLã«ä»å ãããã®URLã«ã¦ã¼ã¶ã¼ããªãã¤ã¬ã¯ãããããã¨ã§ãIdPã«èªè¨¼è¦æ±ã¡ãã»ã¼ã¸ãå±ãã¾ãããã®éã®ãã©ã¡ã¼ã¿åã«ã¯ SAMLRequst ãç¨ãã¾ãã IdPã®SSOã¨ã³ããã¤ã³ãã¯ãåè¿°ã®ãSPãä¿¡é ¼ããIdPã®ç»é²ãã§ç»é²ããURLãå©ç¨ãã¾ãã
ä»®ã«ãã®URLãhttps://idp_host/path/to/sso
ã¨ããå ´åãä½ããã®æ¹æ³ï¼30Xç³»ã®ã¬ã¹ãã³ã¹ãªã©ï¼ã§ã¦ã¼ã¶ã¼ã以ä¸ã®URLã«ãªãã¤ã¬ã¯ãããããã¨ã§ãIdPã«ã¡ãã»ã¼ã¸ãå±ãããã¨ãã§ãã¾ãã
https://idp_host/path/to/sso?SAMLRequest=<Encoded AuthnRequest>
ã¾ãã<AuthnRequest>
ããã£ãã·ã¥ããã¦ã¯å°ãã®ã§ã以ä¸ã®HTTPããããã¬ã¹ãã³ã¹ã«å«ãã¾ãã
Pragma: no-cache
Cache-Control: no-cache, no-store
3. IdPãçºè¡ããèªè¨¼å¿çã¡ãã»ã¼ã¸ãåãåã
IdPãã¦ã¼ã¶ã¼ã®èªè¨¼ã«æåããã¨ãèªè¨¼å¿çã¡ãã»ã¼ã¸ãSPã«éãè¿ãã¾ããèªè¨¼å¿çã¡ãã»ã¼ã¸ã¯<Response>
è¦ç´ ã§è¡¨ç¾ããã¾ããèªè¨¼è¦æ±ã¡ãã»ã¼ã¸ã®å ´åã¨åæ§ã«ãã¡ãã»ã¼ã¸ã®éä¿¡ã«å©ç¨ããSAML Bindingã決ããå¿
è¦ãããã¾ãã
cybozu.comã§ã¯ãIdPã¨SPãç´æ¥éä¿¡ã§ããªããã¨ã<Response>
ã®å
容ã¯<AuthnRequest>
ã«æ¯ã¹ã¦å¤§ããURLã«å«ããã®ã¯é£ãããã¨ããã HTTP POST Binding ãå©ç¨ãããã¨ã¨ãã¾ããããã®æ
å ±ã¯ãcybozu.comã®SPã¡ã¿ãã¼ã¿ã<AuthnRequest>
ã®ProtocolBindingå±æ§ãã確èªã§ãã¾ãã
HTTP POST Bindingã§ã¯<Response>
ã以ä¸ã®é åºã§ã¨ã³ã³ã¼ããã¾ãã
- Base64ã¨ã³ã³ã¼ã
- URLã¨ã³ã³ã¼ã
æçµçã«ãIdPã¯cybozu.comã®AssertionConsumerServiceURLã«ä»¥ä¸ã®å 容ãPOSTãã¾ãã
SAMLResponse=<Encoded Response>
4. èªè¨¼å¿çã¡ãã»ã¼ã¸ãæ¤è¨¼ãã
æå¾ã«ãSPå
ã®AssertionConsumerServiceãåãåã£ã<Response>
ã®å
容ãæ¤è¨¼ãããã°ã¤ã³ã®æå¦ãå¤å®ãã¾ãã å®éã«IdPãåºåãã<Response>
ã®ä¾ã以ä¸ã«ç¤ºãã¾ããXMLå
ã®(sub_domain)ã(idp_host)ã¯ç°å¢ã«ãã£ã¦ç°ãªãã¾ãã
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="s2b39863179da0358f10bb499d6ac0e64062e89e1d" InResponseTo="szqd0c3d0u3vpz5jwna4p24iso42opc4" Version="2.0" IssueInstant="2013-04-01T00:30:00Z" Destination="https://(sub_domain).cybozu.com/saml/acs"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">http://(idp_host) <samlp:Status xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"> <samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Value="urn:oasis:names:tc:SAML:2.0:status:Success"> </samlp:StatusCode> </samlp:Status> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="s2822cac48e7b7ec82ff36710996423e7baec43a00" IssueInstant="2013-04-01T00:30:00Z" Version="2.0"> <saml:Issuer>https://(idp_host) <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> ...ã¢ãµã¼ã·ã§ã³ã®ç½²åã®å 容... </ds:Signature> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="https://(idp_host)" SPNameQualifier="https://(sub_domain).cybozu.com">watanabe</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData InResponseTo="szqd0c3d0u3vpz5jwna4p24iso42opc4" NotOnOrAfter="2013-04-01T00:40:00Z" Recipient="https://(sub_domain).cybozu.com/saml/acs" /> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2013-04-01T00:20:00Z" NotOnOrAfter="2013-04-01T00:40:00Z"> <saml:AudienceRestriction> <saml:Audience>https://(sub_domain).cybozu.com </saml:AudienceRestriction> </saml:Conditions> <saml:AuthnStatement AuthnInstant="2013-04-01T00:29:30Z" SessionIndex="s2901e6c0e0cc0c8f1aa1075215125b2676774dd01"> <saml:AuthnContext> <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> </saml:Assertion> </samlp:Response>
é·ããªãã®ã§å ¨ã¦ã¯ç¡çã§ãããcybozu.comã§ã®æ¤è¨¼é ç®ã®ä¸é¨ãç´¹ä»ãã¾ãã
- Versionå±æ§ã®è©ä¾¡
- < Status >è¦ç´ ã®è©ä¾¡
- < SubjectConfirmation >è¦ç´ ã®methodå±æ§ã®è©ä¾¡
- < SubjectConfirmationData >è¦ç´ ã®å 容ã®è©ä¾¡
- < Conditions >è¦ç´ ã®è©ä¾¡
- < AudienceRestriction >è¦ç´ ã®è©ä¾¡
- < Assertion >è¦ç´ ã®ç½²åã®æ¤è¨¼
ä¾ãã°ãVersionå±æ§ã®è©ä¾¡ã§ã¯ã<Response>
è¦ç´ ã®Versionå±æ§ã®å¤ã2.0ã§ãããã¨ãæ¤è¨¼ãã¦ãã¾ããã¾ããç½²åã®æ¤è¨¼ã«ã¯ãäºåã«ç»é²ãã¦ãããIdPã®å
¬ééµãç¨ãã¾ãã
ãããã®æ¤è¨¼é ç®ã¯ãåºæ¬çã«ã¯ãWeb Browser SSO Profileã®4.1.4.3 < Response > Message Processing Rulesã«å¾ã£ã¦ãã¾ãããããã¦ãé¢é£ããSAML CoreãSAML Bindingsã®ä»æ§ãèæ ®ãã¦æ¤è¨¼é ç®ãæ¤è¨ãã¦ãã¾ãã
æ¤è¨¼ããçµæ<Response>
ã®å
容ã«åé¡ããªããã°ã<NameID>
è¦ç´ ã®å¤ï¼ä¾ã®XMLã®å ´åã¯watanabeï¼ããã°ã¤ã³åã¨ãã¦cybozu.comã«ãã°ã¤ã³ãã¾ãã
å®è£ ã«ããã¦
以ä¸ã§è¨è¨ã¯å®äºã§ãããã¨ã¯è¨è¨éãã«æ©è½ãå®è£ ãã¦ããã°ãæ´ãã¦SAML SPã®å®æã§ãï¼ï¼
ã¾ããå®è£ ã®åã«ä»¥ä¸ã®ãããªæºåããã¦ããã¨éçºãæãã¾ããããããè²ã åµãã©ãããããã®ã§ãããä»åã¯å²æããã¦é ãã¾ãã
- ä»æ§æ¸ã®çèª
é¢é£ããä»æ§ã®è©³ç´°ç解ã¨æ£èª¤è¡¨9ã«ããä»æ§ä¿®æ£ã®ç¢ºèªãè¡ãã¾ãã - åä½ç¢ºèªç°å¢ã®æ§ç¯
OpenAM10ãªã©ãç¨ãã¦ãSAMLèªè¨¼ãåä½ããç°å¢ãæ§ç¯ãã¾ãã - ã©ã¤ãã©ãªã®èª¿æ»
OpenSAML11ãªã©ã®ãXMLã®çæã»è§£æç¨ã®ã©ã¤ãã©ãªãé¸å®ãã¾ãã
ã¾ã¨ã
ç°¡åã«ã§ãããcybozu.comã®SAMLèªè¨¼ã«ã¤ãã¦ããã®æ¦è¦ã¨è¨è¨ã解説ãã¾ãããSP Initiated SSOã®ããã®SPãå®ç¾ããã«ã¯ã以ä¸ã®æ©è½ãå¿ è¦ã§ãã
- ä¿¡é ¼ããIdPã®ç»é²
- IdPã«ç»é²ããSPã®æ å ±ã®æä¾ï¼ã¡ã¿ãã¼ã¿ã®çæãªã©ï¼
- < AuthnRequest >ã®çæ
- < AuthnRequest >ã®éä¿¡
- < Response >ã®åä¿¡
- < Response >ã®æ¤è¨¼
SAMLã¯ãªããªãæå¼·ãç¸æã§ãããæ¬ç¨¿ãããããSAMLèªè¨¼ãå®è£ ããæ¹ã®åèã«ãªãã°å¹¸ãã§ãã