ArcGIS OnlineにShibboleth IdPでSSO設定する際のメモ
概要
ArcGIS OnlineはSAML認証に対応しており、Shibboleth IdPとの認証連携も可能となっている。
設定メモ
基本的にはESRI社のドキュメントに従って設定するが、注意点や変更可能な点がある。
ログインボタンの設定
ArcGIS Onlineのログイン画面にSAMLログイン用のボタンを表示する際のテキストを設定できる。ここで漢字などのマルチバイト文字を利用すると、ログインボタンが動作しない。
エンティティIDの指定
Shibboleth IdPとShibboleth SPの組み合わせの場合、一般的にエンティティIDには
<PolicyRequirementRule xsi:type="Requester" value="https://sp.example.com/shibboleth-sp" />
のようなにURLを指定するが、ArcGIS Onlineの場合は、 スキームのないFQDNで指定する。
<AttributeFilterPolicy id="ArcGIS">
- <PolicyRequirementRule xsi:type="Requester" value="[The Entity ID of your ArcGIS Online organization]" />
+ <PolicyRequirementRule xsi:type="Requester" value="your-id.maps.arcgis.com" />
NameIDの指定
ArcGIS Onlineで利用するユーザIDとして、Shibboleth IdPからNameIDを送出する必要がある。ちなみにePTIDを利用しようとするとArcGIS Online側で不正とみなされ、ログインが失敗する。
以下の設定では、NameIDとしてuidまたはemailを利用できるよう定義している。
<util:list id="shibboleth.SAML2NameIDGenerators">
<ref bean="shibboleth.SAML2TransientGenerator" />
+ <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
+ p:omitQualifiers="true"
+ p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:username"
+ p:attributeSourceIds="#{ {'uid'} }" />
+
+ <bean parent="shibboleth.SAML2AttributeSourcedGenerator"
+ p:omitQualifiers="true"
+ p:format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
+ p:attributeSourceIds="#{ {'mail'} }" />
</util:list>
特定のサービスでどの属性値をNameIDとして利用するか、RelyingPartyOerridesとして設定する。
relyingPartyIdsで指定したエンティティIDのサービスについて設定が上書きされるため、ArcGIS OnlineのエンティティIDを指定する。ここではemailを利用する設定だが、p:nameIDFormatPrecedenceの値を、先で定義したp:formatに合わせて変えることで変更可能。
<util:list id="shibboleth.RelyingPartyOverrides">
+ <bean parent="RelyingPartyByName" c:relyingPartyIds="your-id.maps.arcgis.com">
+ <property name="profileConfigurations">
+ <list>
+ <bean parent="SAML2.SSO"
+ p:nameIDFormatPrecedence="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
+ p:encryptAssertions="false" />
+ </list>
+ </property>
+ </bean>
</util:list>
attribute-filterの設定
ArcGIS OnlineへのSSOにはmail属性が必須のため送出する必要があるが、givenNameは任意となっている。前項のようにNameIDとしてmailを利用する場合は、attribute-filterの記述は下記のようになる。
+ <AttributeFilterPolicy id="ArcGISOnline">
+ <PolicyRequirementRule xsi:type="Requester" value="your-id.maps.arcgis.com" />
+ <!--<AttributeRule attributeID="givenName" permitAny="true" />-->
+ <AttributeRule attributeID="mail" permitAny="true" />
+ </AttributeFilterPolicy>
</AttributeFilterPolicyGroup>
Author And Source
この問題について(ArcGIS OnlineにShibboleth IdPでSSO設定する際のメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/papillon/items/18fe614ff2f4a5d905bf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .