複雑な属性を持つSAMLレスポンス

イントロダクション

Oracle Access Management (OAM)がSAMLアイデンティティ・プロバイダ(IdP)と統合されている場合、SAML:AuthnRequestに対してIdPによってSAML:Responseが発行されます。saml:AttributeStatementにデータ型がXMLスキーマ文字列以外の属性が含まれている場合、属性値は空の文字列に設定されます。そのような属性の例を次に示します。

<saml2:Attribute Name="AddressDetails">
 <saml2:AttributeValue xmlns:xyznamespace="http://foo"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xyznamespace:AdresseType">
   <xyznamespace:Type>Type0</xyznamespace:Type>
   <xyznamespace:Street>Street123</xyznamespace:Street>
   <xyznamespace:LaneNo>100</xyznamespace:LaneNo>
   <xyznamespace:HouseNo>66</xyznamespace:HouseNo>
   <xyznamespace:Section>Section76</xyznamespace:Section>
   <xyznamespace:SubSection>TestSection</xyznamespace:SubSection>
   </saml2:AttributeValue>
</saml2:Attribute>

2022年10月のBPでは、XMLスキーマが保護されたアプリケーションに対する単純なタイプではない属性の伝播がサポートされています。

目的

Oracle Access ManagementでSAMLサービス・プロバイダを設定します。

前提条件

タスク1: アイデンティティ・フェデレーションでの複雑な属性処理の有効化

デフォルトでは、この機能は有効化されていません。この機能を有効にするには、Javaシステム・プロパティoam.saml.customattrtrueに設定する必要があります。OAM起動スクリプト(weblogic startWeblogic.shなど)を更新して、次のものを注入します。

-Doam.saml.customattr=true

タスク2: OAMレスポンス属性の確認

有効にすると、属性は処理され、他のsaml:attributeと同様にセッション(セッション)に移入されます。saml:attributeの場合、セッション・レスポンスには$session.attr.fed.attr.AddressDetailsが含まれ、アプリケーションに伝播できます。アプリケーションは、次の値を持つ認可レスポンス・ヘッダー/Cookieを受け取ります。

Type=Type0^Street=Street123^LaneNo=100^HouseNo=66^Section=Section76^SubSection=TestSection

図responses.jpgの説明

謝辞

その他の学習リソース

docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。