Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
前 |
次 |
フェデレーションSSO処理は、Identity FederationがIdPまたはSPとして動作している場合に開始できます。
IdPが開始するフェデレーションSSOサービスには、providerid、returnurlおよびacsurlの3つの問合せパラメータがあります。
Identity FederationがIdPとして機能する場合、フェデレーションSSOを開始するためのURLは次のとおりです。
http://public-oam-host:public-oam-port/oamfed/idp/initiatesso
問合せパラメータは次のとおりです。
providerid: フェデレーションSSOを実行するSPパートナの名前、またはフェデレーションSSOを実行するSPパートナの発行者ID/プロバイダID。(必須)
returnurl: フェデレーションSSOの成功後ユーザーがリダイレクトされるSP URL(オプション)
acsurl: Identity FederationがSAML 2.0アサーションでユーザーをリダイレクトするSAML 2.0アサーション・コンシューマ・サービスURL。このURLはSP SAML 2.0メタデータで宣言する必要があります。(オプション)
この機能のデフォルト動作では、ユーザーが複数のグループに属し、always send
がtrueに設定されている場合、SSO時に、IdPによってGroup属性がカンマ区切りの形式で送信されます。拡張動作では、multivaluegroups
フラグがtrueに設定されている場合、SSO時に、IdPによってGroup属性がカンマ区切りではなく別個のSAML文で送信されます。
次のSSOプロトコルでは、複数値のGroups SAML属性がサポートされます。
SAML 2.0
SAML 1.1
この機能を有効にするには、OAM構成を要件に応じて更新する必要があります。multivaluegroups
属性設定はデフォルトでは無効になっており、oam-config.xmlに存在しません。ユーザーは、WLSTコマンドを使用してoam-config.xmlにこの設定を追加してtrueに設定し、Group属性に対して複数の属性文を有効にする必要があります。
WLSTコマンドを使用してmultivaluegroups
属性設定をoam-config.xmlのパートナ・レベル、パートナ・プロファイル・レベルまたはグローバル・レベルに追加し、trueに設定ます。
<Setting Name
="multivaluegroups
" Type
="xsd:boolean
">true</Setting
>
パートナ・レベルでのmultivaluegroups
の有効化または無効化
updatePartnerProperty(partnerName="spPartnername"
, partnerType="SP",propName="multivaluegroups",propValue="true/false",type="boolean");
パートナ・プロファイル・レベルでのmultivaluegroups
の有効化または無効化
putBooleanProperty("/fedpartnerprofiles/saml20-sp-partner-profile/multivaluegroups","true/false");
グローバル・レベルでのmultivaluegroups
の有効化または無効化
putBooleanProperty("/idpglobal/multivaluegroups","true/false");
SPが開始するフェデレーションSSOサービスには、provideridおよびreturnurlの2つの問合せパラメータがあります。
Identity FederationがSPとして機能する場合、フェデレーションSSOを開始するためのURLは次のとおりです。
http://public-oam-host:public-oam-port/oamfed/sp/initiatesso
問合せパラメータは次のとおりです。
providerid: フェデレーションSSOを実行するIdPパートナの名前、またはフェデレーションSSOを実行するIdPパートナの発行者ID/プロバイダID。(必須)
returnurl: フェデレーションSSOの成功後ユーザーがリダイレクトされるURL(オプション)
OAMフェデレーション・サービスは、標準のSAML2vベースのインタフェースおよび要素をサポートするために拡張されています。
この節では、以下のトピックについて説明します。
属性コンシューミング・サービスには次の3つの要素が含まれます: AttributeConsumingService
、AttributeConsumingServiceIndex
およびNameQualifier
。
AttributeConsumingService
AttributeConsumingService
要素は、SPメタデータに含まれています。この要素には、次のフィールドが含まれています。
ServiceName
ServiceDescription
index
isDefault
RequestedAttribute
には、次のフィールドが含まれています。acsIndex
rqstAttrName
ノート:
rqstAttrName
フィールドは、name
、fiscal number
、email
など、任意のユーザー定義値にできます。rqstAttrNameFormat
rqstAttrFriendlyName
rqstAttrIsRequired
SPメタデータの例:
<md:AttributeConsumingService index="1" isDefault="false"> <md:ServiceName xml:lang="en_US">serviceName1</md:ServiceName> <md:ServiceDescription xml:lang="en_US">serviceDesc1</md:ServiceDescription> <md:RequestedAttribute FriendlyName="friendlyName1" Name="email" NameFormat="sample:urn:format" isRequired="true"/> </md:AttributeConsumingService> <md:AttributeConsumingService index="1" isDefault="true"> <md:ServiceName xml:lang="eng">Updated-Service-Name1</md:ServiceName> <md:ServiceDescription xml:lang="eng">updatedServiceDesc</md:ServiceDescription> <md:RequestedAttribute FriendlyName="friendlyName1" Name="email" NameFormat="sample:urn:format" isRequired="true"/> <md:RequestedAttribute FriendlyName="" Name="empNum" NameFormat="empFormat1" isRequired="false"/> <md:RequestedAttribute FriendlyName="fname" Name="empFirstName" NameFormat="firstnameformat1" isRequired="true"/> </md:AttributeConsumingService>
AttributeConsumingService
AttributeConsumingServiceIndex
要素は、SAML 2.0認証リクエストに含まれています。ランタイムSSOで、AttributeConsumingServiceIndex
がauthnrequest
に表示されるよう、SPで開始されたURLでattributeconsumingserviceindex
パラメータを渡します。
たとえば、http://sp-host:sp-managed-port/oamfed/sp/initiatesso?providerid=http://idp-host:idp-managed-port/oam/fed&returnurl=http://sp-host:webgate-port/cgi-bin/headers.cgi&attributeconsumingserviceindex=1
となります。
認証リクエストの例:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <samlp:AuthnRequest xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:enc="http://www.w3.org/2001/04/xmlenc#" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" AttributeConsumingServiceIndex="1" ID="id-atMY1jR9Vh7PBcWSjdqmyxIc1JNMSFD-zQ1d7lf8" Version="2.0" IssueInstant="2016-09-15T22:32:37Z" Destination="http://slc05ynv.us.oracle.com:21328/oamfed/idp/samlv20"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">http://slc06fcv.us.oracle.com:23768/oam/fed</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true"/> </samlp:AuthnRequest>
NameQualifier
NameQualifier
要素は、<samlp:issuer>
タグ内に含まれています。
次に例を示します。
<saml:Issuer NameQualifier=" http://spid-sp.it" Format=" urn:oasis:names:tc:SAML:2.0:nameid format:entity"> SPID-sp-test </saml:Issuer>
デフォルトでは、NameQualifier
はfalseに設定されています。WLSTコマンドを使用して、oam-config.xmlファイル内でNameQualifier
をtrue
に設定できます。WLSTコマンドの詳細は、WebLogic Server WLSTコマンド・リファレンスを参照してください。
次の表では、WLSTコマンドを使用してNameQualifier
要素を有効または無効にする方法を示します。
アクション | WLSTコマンド例 |
---|---|
パートナ・レベルでNameQualifier を有効にします。 |
updatePartnerProperty(partnerName="idp-partner",partnerType="IDP",propName="samlrequestissuernamequalifier",propValue="http://sample.sp.it",type="string") |
パートナ・プロファイル・レベルでNameQualifier を有効にします。 |
putStringProperty("/fedpartnerprofiles/saml20-idp-partner-profile/samlrequestissuernamequalifier","http://profile-sample.it") |
グローバル・レベルでNameQualifier を有効にします。 |
putStringProperty("/spglobal/samlrequestissuernamequalifier","http://spglobal.it") |
パートナ・レベルでNameQualifier を無効にします。 |
deletePartnerProperty(partnerName="idp-partner",partnerType="IDP",propName="samlrequestissuernamequalifier") |
パートナ・プロファイル・レベルでNameQualifier を無効にします。 |
deleteStringProperty("/fedpartnerprofiles/saml20-idp-partner-profile/samlrequestissuernamequalifier") |
グローバル・レベルでNameQualifier を無効にします。 |
deleteStringProperty("/spglobal/samlrequestissuernamequalifier") |
属性コンシューミング・サービスは、10個のWebLogic Scripting Tool (WLST)コマンドでサポートされています。
詳細は、次の各項を参照してください。
このコマンドは、デフォルトの属性コンシューミング・サービスを取得します。
説明
getDefaultACS
コマンドは、デフォルトの属性コンシューミング・サービスを取得します。
構文
getDefaultACS()
例
この例では、getDefaultACS
コマンドの使用方法を示します。
getDefaultACS()
このコマンドは、指定された属性コンシューミング・サービスacsIndex
の下のリクエストされた属性のリストを取得します。
説明
getAllRqstAttrsForACS
コマンドは、指定された属性コンシューミング・サービスacsIndex
の下のリクエストされた属性のリストを取得します。
構文
getAllRqstAttrsForACS(acsIndex)
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックス。 |
例
この例では、getAllRqstAttrsForACS(acsIndex)
コマンドの使用方法を示します。
getAllRqstAttrsForACS(1)
このコマンドは、構成されているすべての属性コンシューミング・サービスのリストを取得します。
説明
getAllACS
コマンドは、構成されているすべての属性コンシューミング・サービスのリストを取得します。
構文
getAllACS()
例
getAllACS()
コマンドの使用方法を示します。getAllACS()
このコマンドは、指定された属性コンシューミング・サービスacsIndex
を取得します。
説明
getACS
コマンドは、指定された属性コンシューミング・サービスacsIndexを取得します。
構文
getACS(acsIndex)
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックス。 |
例
getACS(acsIndex)
コマンドの使用方法を示します。getACS(1)
このコマンドは、acsIndex
、serviceName
、attributeConsumingIsDefault
、rqstAttrName
、rqstAttrNameFormat
、rqstAttrFriendlyName
、rqstAttrIsRequired
およびserviceDescription
を使用して属性コンシューミング・サービスの新規エントリを作成します。
説明
このコマンドは、acsIndex
、serviceName
、attributeConsumingIsDefault
、rqstAttrName
、rqstAttrNameFormat
、rqstAttrFriendlyName
、rqstAttrIsRequired
およびserviceDescription
を使用して属性コンシューミング・サービスの新規エントリを作成します。
属性コンシューミング・サービスの作成時には、少なくとも1つのリクエストされた属性について詳細を提供する必要があります。<xml:lang>
パラメータは、サーバー・ロケールで自動的に更新されます。
ノート:
GETおよびDELETE WLSTコマンドを実行するには、acsIndex
を使用してaddACS
を作成する必要があります。構文
addACS(acsIndex, serviceName, rqstAttrName, rqstAttrNameFormat, rqstAttrFriendlyName="", rqstAttrIsRequired="false", serviceDescription="", attributeConsumingIsDefault="false")
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックスを指定します。 |
serviceName |
[必須] サービスの名前を指定します。 |
rqstAttrName |
[必須] リクエストされた属性の名前を指定します。 |
rqstAttrNameFormat |
[必須] リクエストされた属性の形式を指定します。 |
rqstAttrFriendlyName |
[オプション] 属性コンシューミング・サービスのフレンドリ名を指定します。 |
rqstAttrIsRequired |
[オプション] リクエストされた属性が必要かどうかを決定します。有効は値は、true およびfalse です。 |
serviceDescription |
[オプション] サービスの説明を指定します。デフォルト値は「 」です。 |
attributeConsumingIsDefault |
[オプション] デフォルトの属性コンシューミング・サービスを設定するには、この値を受け入れます。デフォルト値はfalse です。 |
例
この例では、addACS
コマンドの使用方法を示します。
addACS(1, "Updated-Service-Name1", "email", "sample:urn:format", rqstAttrFriendlyName="", rqstAttrIsRequired="false", serviceDescription="updatedServiceDesc", attributeConsumingIsDefault="true")
このコマンドは、指定された属性コンシューミング・サービスacsIndex
のリストの下のrqstAttrName
、rqstAttrNameFormat
、rqstAttrFriendlyName
およびrqstAttrIsRequired
など、リクエストされた新規属性を追加します。
説明
addRqstAttrToACS
コマンドは、指定された属性コンシューミング・サービスacsIndex
のリストの下のrqstAttrName
、rqstAttrNameFormat
、rqstAttrFriendlyName
およびrqstAttrIsRequired
など、リクエストされた新規属性を追加します。
構文
addRqstAttrToACS(acsIndex, rqstAttrName, rqstAttrNameFormat, rqstAttrFriendlyName=None, rqstAttrIsRequired="false"):
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックスを指定します。 |
rqstAttrName |
[必須] リクエストされた属性の名前を指定します。 |
rqstAttrNameFormat |
[必須] リクエストされた属性の形式を指定します。 |
rqstAttrFriendlyName |
[オプション] 属性コンシューミング・サービスのフレンドリ名を指定します。 |
rqstAttrIsRequired |
[オプション] リクエストされた属性が必要かどうかを決定します。有効は値は、true およびfalse です。 |
例
この例では、addRqstAttrToACS
コマンドの使用方法を示します。
addRqstAttrToACS(1, "empNumber", "empFormat1", rqstAttrFriendlyName=None, rqstAttrIsRequired="false"):
このコマンドは、指定された属性コンシューミング・サービスoldACSIndex
の任意またはすべてのフィールドを更新します。
説明
updateACS
コマンドは、指定された属性コンシューミング・サービスoldACSIndex
の任意またはすべてのフィールド(つまり、newServiceName
、newServiceDescription
、newAttributeLang
、newIsDefault
およびnewACSIndex
)を更新します。
構文
updateACS(oldACSIndex, newServiceName=None, newServiceDescription=None, newAttributeLang=None, newIsDefault=None, newACSIndex=None)
引数 | 定義 |
---|---|
oldACSIndex |
[必須] 既存の属性コンシューミング・サービス・インデックスの名前を指定します。 |
newServiceName |
[オプション] 属性コンシューミング・サービスの更新した名前を指定します。 |
newServiceDescription |
[オプション] 属性コンシューミング・サービスの更新した説明を指定します。 |
newAttributeLang |
[オプション] 属性コンシューミング・サービスの名前および説明のための、更新したxml:langを指定します。 |
newIsDefault |
[オプション] 属性コンシューミング・サービスに新しいデフォルト値を設定するには、true またはfalse などの値を受け入れます。有効は値は、true およびfalse です。 |
newACSIndex |
[オプション] 新しい属性コンシューミング・サービス・インデックスの名前を指定します。 |
例
updateACS
コマンドの使用方法を示します。ノート:
ACSを正常に更新するには、acsIndex
とともに少なくとも1つのオプション・パラメータが必要です。newServiceName
フィールドのみを更新するには、次のコマンドを使用します。updateACS(1, newServiceName="SampleAttributeName");
newServiceName
とisdefault
を両方とも更新するには、次のコマンドを使用します。updateACS(1, newServiceName="SampleAttributeName", newIsDefault="true");
このコマンドは、指定された属性コンシューミング・サービスacsIndex
の下の指定されたリクエスト済属性oldRqstAttrName
のすべてのフィールドを更新します。
説明
updateRqstAttrForACS
コマンドは、指定された属性コンシューミング・サービスacsIndex
の下の指定されたリクエスト済属性oldRqstAttrName
のすべてのフィールドを更新します。
構文
updateRqstAttrForACS(acsIndex, oldRqstAttrName, newRqstAttrName=None, newRqstAttrFriendlyName=None, newRqstAttrNameFormat=None, newRqstAttrIsRequired=None)
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックスを指定します。 |
oldRqstAttrName |
[必須] フィールドを更新する、既存のリクエストされた属性の名前を指定します。 |
newRqstAttrName |
[オプション] リクエストされた属性の更新した名前を指定します。 |
newRqstAttrFriendlyName |
[オプション] リクエストされた属性の更新したフレンドリ名を指定します。 |
newRqstAttrNameFormat |
[オプション] リクエストされた属性の名前の更新した形式を指定します。 |
newRqstAttrIsRequired |
[オプション] リクエストされた属性が属性コンシューミング・サービスから必要となるかどうかを決定します。有効は値は、true およびfalse です。 |
例
updateRqstAttrForACS
コマンドの使用方法を示します。ノート:
指定されたリクエスト済属性を正常に更新するには、acsIndex
とともに少なくとも1つのオプション・パラメータが必要です。newRqstAttrName
のみを更新するには、次のコマンドを使用します。updateRqstAttrForACS(acsIndex, oldRqstAttrName, newRqstAttrName="SAMPLE_RQST_ATTR");
newRqstAttrName
およびnewRqstAttrNameFormat
を更新するには、次のコマンドを使用します。updateRqstAttrForACS(acsIndex, oldRqstAttrName, newRqstAttrName="SAMPLE_RQST_ATTR", newRqstAttrNameFormat="urn:oasis:sample");
このコマンドは、指定された属性コンシューミング・サービスacsIndex
を削除します。
説明
deleteACS
コマンドは、指定された属性コンシューミング・サービスacsIndex
を削除します。
構文
deleteACS(acsIndex)
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックスを指定します。 |
例
deleteACS
コマンドの使用方法を示します。deleteACS(1)
このコマンドは、リクエストされた属性rqstAttrName
を、指定された属性コンシューミング・サービスacsIndex
から削除します。
説明
deleteRqstAttrForACS
コマンドは、リクエストされた属性rqstAttrName
を、指定された属性コンシューミング・サービスacsIndex
から削除します。
構文
deleteRqstAttrForACS(acsIndex, rqstAttrName)
引数 | 定義 |
---|---|
acsIndex |
[必須] 属性コンシューミング・サービスのインデックスを指定します。 |
rqstAttrName |
[必須] リクエストされた属性の名前を指定します。 |
例
deleteRqstAttrForACS
コマンドの使用方法を示します。deleteRqstAttrForACS(1, rqstAttrName="empFirstName")