- Springerの利用プロトコル: SAML2.0
- SpringerのSAML実装: OpenAM
- Springerへの属性送信の設定例:
SpringerのentityIDは https://fsso.springer.com ですが、このSPは属性を必要とせず、IdPのentityIDを見て機関の確認をしていますので、attribute-filter.xmlの設定は不要です。
IdPが送出するTransient IDについての注意
SpringerはentityIDを見ているため属性情報の送出は不要です。しかし、SpringerではTransient IDが送出されない場合にはIdPでの認証後に以下のようにエラーとなることがわかっています。
学認が提供しているattribute-filter.xmlのテンプレートでは以下のように Transient ID に関してすべてのSPに対して送出するようなっていますが、なんらかの理由で送出しない設定にしている場合はSpringer向けに Transient ID の送出設定を追加してください。
<!-- Release the transient ID to anyone -->
<afp:AttributeFilterPolicy id="releaseTransientIdToAnyone">
<afp:PolicyRequirementRule xsi:type="basic:ANY" />
<afp:AttributeRule attributeID="transientId">
<afp:PermitValueRule xsi:type="basic:ANY" />
</afp:AttributeRule>
</afp:AttributeFilterPolicy>
IdPメタデータに記載する証明書についての注意
また、IdPのメタデータに記載される証明書について、パブリックかプライベート/自己署名かに関わらず、またIdPで実際に使用しているか否かに関わらず、有効期限切れの証明書を含んでいる場合に上記と同様のエラーになることが確認されております。
有効期限切れの証明書を使い続けませんよう、また証明書を更新する場合はメタデータ記載の証明書更新手順(IdP)の手順に従っていただけますよう、ご注意ください。
※ メタデータ内の記載順序が影響するかどうかについては未確認ですが、先に期限切れの証明書を記載した場合に問題になることが分かっています。
学認で提供している構築手順による標準的な設定の場合はすべてのSPに送信されますが、Transient IDの送出先を制限している場合には対象となるentityIDへTransient IDが送出されるようになっているかご確認ください。以下のコマンドで確認することも可能です。出力の<saml2:NameID ...>
の部分のFormat属性がFormat="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
であることを確認してください。
書式設定済み |
---|
$ /opt/shibboleth-idp/bin/aacli.sh --principal="ユーザ名" --requester="https://fsso.springer.com" --saml2 |
IdPメタデータに記載する証明書についての注意
IdPが有効期限切れの証明書をアサーションの署名に使っているとエラーになることが確認されていますので、期限内にメタデータ記載の証明書更新手順(IdP)の手順に従って証明書を更新するようご注意ください。
なお、以前はIdPのメタデータに複数の証明書が記載されている場合にエラーとなっていましたが、現在はこの問題は解消されていることが確認できています。
IdPが送出するAuthentication Context Classについての注意
...
- urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorContract
- urn:oasis:names:tc:SAML:2.0:ac:classes:Smartcard
- urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken
- urn:oasis:names:tc:SAML:2.0:ac:classes:SmartcardPKI
- urn:oasis:names:tc:SAML:2.0:ac:classes:Password
- urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession
- urn:oasis:names:tc:SAML:2.0:ac:classes:MobileTwoFactorUnregistered
- urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorContract
- urn:oasis:names:tc:SAML:2.0:ac:classes:NomadTelephony
- urn:oasis:names:tc:SAML:2.0:ac:classes:SecureRemotePassword
- urn:oasis:names:tc:SAML:2.0:ac:classes:TLSClient
- urn:oasis:names:tc:SAML:2.0:ac:classes:MobileOneFactorUnregistered
- urn:oasis:names:tc:SAML:2.0:ac:classes:AuthenticatedTelephony
- urn:oasis:names:tc:SAML:2.0:ac:classes:SPKI
- urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
- urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol
- urn:oasis:names:tc:SAML:2.0:ac:classes:XMLDSig
- urn:oasis:names:tc:SAML:2.0:ac:classes:X509
- urn:oasis:names:tc:SAML:2.0:ac:classes:Telephony
- urn:oasis:names:tc:SAML:2.0:ac:classes:PGP
- urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocolPassword
- urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos
- urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
- urn:oasis:names:tc:SAML:2.0:ac:classes:SoftwarePKI
- urn:oasis:names:tc:SAML:2.0:ac:classes:PersonalTelephony
...