OAMおよびIdPでのSAML 1.1およびOpenID 2.0 SPパートナの作成
この記事では、SAML 1.1またはOpenID 2.0プロトコルを介して、IdPとして機能するOAMとリモートSPパートナ間のフェデレーション契約を設定する方法について説明します。
- リモートSAML 1.1 SPパートナの設定
- リモート OpenID 2.0 SPパートナーを設定する
この記事では、前述のタスクをUIまたはOAM WLSTコマンドを使用して実行する方法についても説明します。
フェデレーションの信頼の構築
フェデレーション・サーバー間でフェデレーションSSO操作を実行する前に、フェデレーション・パートナ間の信頼を確立することが前提条件です。
信頼の確立には、使用されるプロトコルがPKI X.509証明書に依存してメッセージ交換を保護する場合や、フェデレーション・プロトコルを実装するサービスの場所/URLに依存する場合、証明書情報の交換が含まれます。
SAML 1.1
OAM管理コンソール
新しいSAML 1.1 SPパートナを作成するには、次のステップを実行します(最初に、証明書、SP識別子、URLなど、SPパートナのすべてのデータがあることを確認します)。
-
OAM管理コンソールに移動します:
http(s)://OAM-admin-host:OAM-adminport/oamconsole
-
「アイデンティティ・フェデレーション」、「アイデンティティ・プロバイダ管理」のナビゲート
-
「サービス・プロバイダ・パートナの作成」ボタンをクリックします
-
「Create」画面で:
- パートナの名前を入力します
- プロトコルとしてSAML 1.1を選択します
- SPパートナの発行者/ProviderIDを入力します。SPパートナに発行者がいない場合(パートナがSPのみで、IdPおよびSPでない場合)は、アサーション・コンシューマService URLを入力します
- そのSPパートナのアサーション・コンシューマService URLを入力します。これは、ユーザーがSAMLアサーションでIdPからリダイレクトされるURLです。
- SPパートナがSAMLメッセージに署名する場合は、署名証明書ファイルをアップロードします。
- PEM形式(ファイルに最初の行として含まれる場合- - BEGIN CERTIFICATE- - 、Base64エンコード形式の証明書、最後に- - END CERTIFICATE- - )
- 証明書がバイナリエンコーディングで格納されているDER形式
NameID
値の設定方法を入力します。- 「ユーザーIDストア属性」を選択した場合、これは、
NameID
値がドロップダウン横のフィールドに指定されたLDAP属性に設定されることを意味します - 「式」を選択する場合、これは、ドロップダウンの横のフィールドに指定された式に基づいて
NameID
値が設定されることを意味します。
- 「ユーザーIDストア属性」を選択した場合、これは、
- SAMLアサーションに属性を移入するために使用する属性プロファイルを選択します。
-
「保存」をクリックします
パートナが作成されると、「パートナの編集」画面が表示されます。
- 前の画面で設定した設定を変更可能
- 「詳細設定」セクションが表示されます。
- SSOレスポンス・バインディング: SPが特定のバインディングを要求しなかった場合のアサーションをSPに送信する方法
ノート: 「属性問合せユーザー・マッピング」サブセクションは、SAML属性問合せ交換が実行されるときに、SAML属性権限/要求弓にのみ関連します。この弓はフェデレーションSSO弓の一部ではありません。
WLST
OAM WLSTコマンドを使用して新しいSAML 1.1 SPパートナを作成するには、次のステップを実行します(最初に、証明書、SP識別子、URLなど、SPパートナのすべてのデータがあることを確認します)。
-
$IAM_ORACLE_HOME/common/bin/WLST.sh
を実行して、WLST環境を入力します。 -
WLS管理サーバー(
connect()
)に接続します。 -
ドメイン・ランタイム・ブランチ
domainRuntime()
に移動します -
OAMで
acmeSP
をコールするSAML 1.1 SPパートナを作成します:addSAML11SPFederationPartner("acmeSP", "https://SP.com", "https://SP.com/saml11/sso"
-
デフォルトでは、新しいSPパートナーは次のように構成されます。
-
NameID
フォーマットとして電子メール・アドレスを使用 -
メールLDAPユーザー属性を
NameID
値として指定します。 -
HTTP- POSTをデフォルトSSOレスポンス・バインディングとして使用
-
デフォルトのサービス・プロバイダ属性プロファイルの使用 このサービス・ポイント・パートナの証明書はアップロードされていません
-
-
WLST環境を終了します:
exit()
WLSTを使用したフェデレーション設定の変更
この項では、OAM WLSTコマンドを使用して共通SPパートナ設定を変更する方法について説明します。
-
SAML署名証明書
-
SPパートナのSPパートナ属性プロファイル
-
SAML
NameID
設定 -
SAML SSOリクエストとレスポンスのバインディング
すでにWLST環境にあり、次を使用して接続しているとします。
-
$IAM_ORACLE_HOME/common/bin/WLST.sh
を実行して、WLST環境を入力します。 -
WLS管理サーバー(
connect()
)に接続します。 -
ドメイン・ランタイム・ブランチ
domainRuntime()
に移動します
SAML署名証明書
署名証明書および暗号化証明書の管理に使用できる様々なWLSTコマンドがあります。
-
Base64エンコード形式でパートナの署名証明書を出力する
getFederationPartnerSigningCert()
:getFederationPartnerSigningCert("acmeSP","sp")
-
acmeSP
は、以前に作成したパートナの名前です。 -
SP
は、パラメータとして渡された署名証明書ファイルをSPパートナ構成にアップロードするパートナ・タイプsetFederationPartnerSigningCert()
を示します:setFederationPartnerSigningCert("acmeSP","SP", "/tmp/cert.file")
-
acmeSP
は、以前に作成したパートナの名前です。 -
sp
は、パートナ・タイプを示し、3番目のパラメータは証明書を含むファイルのファイル・システムの場所を示します。- PEM形式(ファイルに最初の行として含まれる場合- - BEGIN CERTIFICATE- - 、Base64エンコード形式の証明書、最後に- - END CERTIFICATE- - )
- 証明書がバイナリエンコーディングで格納されているDER形式
-
deleteFederationPartnerSigningCert()
。SPパートナ・エントリから署名証明書を削除します:deleteFederationPartnerSigningCert("acmeSP","SP")
-
acmeSP
は、以前に作成したパートナの名前です。 -
sp
はパートナ・タイプを示します
SPパートナ属性プロファイル
特定のSPパートナのSPパートナ属性プロファイルを構成するには、次のコマンドを使用します。
-
特定のSPパートナ属性プロファイルを使用するようにSPパートナを構成するには、
setSPPartnerAttributeProfile(partnerName, aZrProfileID)
を実行します -
partnerName
は、SPパートナの作成に使用された名前です -
attrProfileID
は、SPパートナ属性プロファイルIDです -
既存のSPパートナ属性プロファイルをリストするには、
listSPPartnerAttributeProfileIDs()
を実行します。
SAML SSOリクエストとレスポンスのバインディング
特定のSPパートナのSAMLバインディングを構成するには、次のコマンドを使用します。
-
SPパートナを構成するには、
configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")
を実行します。 -
partnerName
は、SPパートナの作成に使用された名前です -
パートナがSPであるため、
partnerType
をSP
に設定する必要があります -
バインディング: これはSAML 2.0にのみ適用されます。
httppost
の使用 -
ssoResponseBinding
: SAMLアサーションをSPに戻すために使用するバインディング、HTTP- POSTバインディングの場合はhttppost
、アーティファクト・バインディングの場合はアーティファクト
SAML NameID設定
SAML SPパートナのNameID
設定を構成するには:
次のコマンドを使用します。
-
setSPSAMLPartnerNameID(partnerName, nameIDFormat, nameIDValue="", customFormat="", nameIDValueComputed="false")
-
partnerName
は、SPパートナの作成に使用された名前です -
nameIDFormat
: 使用可能な値urn:oasis:names:tc:SAML:1.1:nameidformat:emailAddress
の場合はorafed-emailaddress
urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName
の場合はorafed-x509
urn:oasis:names:tc:SAML:1.1:nameidformat:WindowsDomainQualiQedName
の場合はorafed-windowsnamequalifier
urn:oasis:names:tc:SAML:1.1:nameidformat:unspecified
の場合はorafed-unspecified
customFormat
パラメータで指定されるカスタムNameID
形式のorafed-custom
-
nameIDFormat
がorafed-custom
に設定されている場合、使用される形式を含むcustomFormat
-
nameIDValueComputed
: この設定はSAML 2.0専用です。これをfalseに設定します。
OpenID 2.0
OAM管理コンソール
新しいOpenID 2.0 SP/RPパートナを作成するには、次のステップを実行します(最初にSP/RPレルムやURLなど、SPパートナのすべてのデータがあることを確認します)。
-
OAM管理コンソールに移動します:
http(s)://OAM-admin-host:OAM-adminport/oamconsole
-
アイデンティティ・フェデレーション、アイデンティティ・プロバイダ管理に移動
-
「サービス・プロバイダ・パートナの作成」ボタンをクリックします
-
「Create」画面で:
- パートナの名前を入力します。プロトコルとしてOpenID 2.0を選択しますRP/SPパートナのレルムを入力します。
- そのRPパートナのOpenIDエンドポイントURLを入力します。これは、OpenIDレスポンスを使用してユーザーがIdPからリダイレクトされるURLです。
- OpenIDレスポンスに属性を移入するために使用する属性プロファイルを選択します。
-
「保存」をクリックします。
図Create_SrProvider_Screen.jpgの説明
パートナが作成されると、「パートナの編集」画面が表示され、同じ情報が「パートナの作成」画面に表示されます。
OpenID 2.0プロトコルは、主に、OpenID 2.0 SSO交換時にOPとRP間で共有されるユーザー属性に依存します。IdPは、SSOレスポンスに追加する必要がある属性とその属性の設定方法を示すSP属性プロファイルを介してこれを実現します。
WLST
OAM WLSTコマンドを使用して新しいOpenID 2.0 RPパートナを作成するには、次のステップを実行します(最初に、SP/RPレルムやURLなど、SPパートナのすべてのデータがあることを確認します)。
-
$IAM_ORACLE_HOME/common/bin/WLST.sh
を実行して、WLST環境を入力します。 -
WLS管理サーバー(
connect()
)に接続します。 -
ドメイン・ランタイム・ブランチ
domainRuntime()
に移動します -
OAMでacmeRPと呼ばれるOpenID 2.0 RPパートナを作成します:
addOpenID20SPFederationPartner("acmeRP", "https://sp.com", "https://sp.com/sso/openid20"
-
デフォルトでは、新しいSPパートナはデフォルトのサービス・プロバイダ属性プロファイルを使用するように構成されています
-
WLST環境を終了します:
exit()
WLSTを使用したフェデレーション設定の変更
この項では、OAM WLSTコマンドを使用して共通SPパートナ設定を変更する方法について説明します。
- SPパートナのSPパートナ属性プロファイル
すでにWLST環境にあり、次を使用して接続しているものとします。
-
$IAM_ORACLE_HOME/common/bin/WLST.sh
を実行して、WLST環境を入力します。 -
WLS管理サーバー(
connect()
)に接続します。 -
ドメイン・ランタイム・ブランチ
domainRuntime()
に移動します
SPパートナ属性プロファイル
特定のSPパートナのSPパートナ属性プロファイルを構成するには、次のコマンドを使用します。
特定のSPパートナ属性プロファイルを使用するようにSPパートナを構成するには、次を実行します。
setSPPartnerAttributeProfile(partnerName, attrProfileID)
partnerName
は、SPパートナの作成に使用された名前です。attrProfileID
は、SPパートナ属性プロファイルIDです- 既存のSPパートナ属性プロファイルをリストするには、
listSPPartnerAttributeProfileIDs()
を実行します。
その他の学習リソース
docs.oracle.com/learnで他のラボを探すか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Create SAML 1.1 and OpenID 2.0 SP Partners in OAM and IdP
F59900-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.