OAMおよびIdPでのSAML 1.1およびOpenID 2.0 SPパートナの作成

この記事では、SAML 1.1またはOpenID 2.0プロトコルを介して、IdPとして機能するOAMとリモートSPパートナ間のフェデレーション契約を設定する方法について説明します。

この記事では、前述のタスクをUIまたはOAM WLSTコマンドを使用して実行する方法についても説明します。

フェデレーションの信頼の構築

フェデレーション・サーバー間でフェデレーションSSO操作を実行する前に、フェデレーション・パートナ間の信頼を確立することが前提条件です。

信頼の確立には、使用されるプロトコルがPKI X.509証明書に依存してメッセージ交換を保護する場合や、フェデレーション・プロトコルを実装するサービスの場所/URLに依存する場合、証明書情報の交換が含まれます。

SAML 1.1

OAM管理コンソール

新しいSAML 1.1 SPパートナを作成するには、次のステップを実行します(最初に、証明書、SP識別子、URLなど、SPパートナのすべてのデータがあることを確認します)。

  1. OAM管理コンソールに移動します: http(s)://OAM-admin-host:OAM-adminport/oamconsole

  2. 「アイデンティティ・フェデレーション」、「アイデンティティ・プロバイダ管理」のナビゲート

  3. 「サービス・プロバイダ・パートナの作成」ボタンをクリックします

  4. 「Create」画面で:

    1. パートナの名前を入力します
    2. プロトコルとしてSAML 1.1を選択します
    3. SPパートナの発行者/ProviderIDを入力します。SPパートナに発行者がいない場合(パートナがSPのみで、IdPおよびSPでない場合)は、アサーション・コンシューマService URLを入力します
    4. そのSPパートナのアサーション・コンシューマService URLを入力します。これは、ユーザーがSAMLアサーションでIdPからリダイレクトされるURLです。
    5. SPパートナがSAMLメッセージに署名する場合は、署名証明書ファイルをアップロードします。
      1. PEM形式(ファイルに最初の行として含まれる場合- - BEGIN CERTIFICATE- - 、Base64エンコード形式の証明書、最後に- - END CERTIFICATE- - )
      2. 証明書がバイナリエンコーディングで格納されているDER形式
    6. NameID値の設定方法を入力します。
      1. 「ユーザーIDストア属性」を選択した場合、これは、NameID値がドロップダウン横のフィールドに指定されたLDAP属性に設定されることを意味します
      2. 「式」を選択する場合、これは、ドロップダウンの横のフィールドに指定された式に基づいてNameID値が設定されることを意味します。
    7. SAMLアサーションに属性を移入するために使用する属性プロファイルを選択します。
  5. 「保存」をクリックします

図OAM_Admin_Console.jpgの説明

パートナが作成されると、「パートナの編集」画面が表示されます。

ノート: 「属性問合せユーザー・マッピング」サブセクションは、SAML属性問合せ交換が実行されるときに、SAML属性権限/要求弓にのみ関連します。この弓はフェデレーションSSO弓の一部ではありません。

図Edit_Partner_screen.jpgの説明

WLST

OAM WLSTコマンドを使用して新しいSAML 1.1 SPパートナを作成するには、次のステップを実行します(最初に、証明書、SP識別子、URLなど、SPパートナのすべてのデータがあることを確認します)。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します

  4. OAMでacmeSPをコールするSAML 1.1 SPパートナを作成します: addSAML11SPFederationPartner("acmeSP", "https://SP.com", "https://SP.com/saml11/sso"

  5. デフォルトでは、新しいSPパートナーは次のように構成されます。

    1. NameIDフォーマットとして電子メール・アドレスを使用

    2. メールLDAPユーザー属性をNameID値として指定します。

    3. HTTP- POSTをデフォルトSSOレスポンス・バインディングとして使用

    4. デフォルトのサービス・プロバイダ属性プロファイルの使用 このサービス・ポイント・パートナの証明書はアップロードされていません

  6. WLST環境を終了します: exit()

WLSTを使用したフェデレーション設定の変更

この項では、OAM WLSTコマンドを使用して共通SPパートナ設定を変更する方法について説明します。

すでにWLST環境にあり、次を使用して接続しているとします。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します

SAML署名証明書

署名証明書および暗号化証明書の管理に使用できる様々なWLSTコマンドがあります。

  1. Base64エンコード形式でパートナの署名証明書を出力するgetFederationPartnerSigningCert(): getFederationPartnerSigningCert("acmeSP","sp")

  2. acmeSPは、以前に作成したパートナの名前です。

  3. SPは、パラメータとして渡された署名証明書ファイルをSPパートナ構成にアップロードするパートナ・タイプsetFederationPartnerSigningCert()を示します: setFederationPartnerSigningCert("acmeSP","SP", "/tmp/cert.file")

  4. acmeSPは、以前に作成したパートナの名前です。

  5. spは、パートナ・タイプを示し、3番目のパラメータは証明書を含むファイルのファイル・システムの場所を示します。

    1. PEM形式(ファイルに最初の行として含まれる場合- - BEGIN CERTIFICATE- - 、Base64エンコード形式の証明書、最後に- - END CERTIFICATE- - )
    2. 証明書がバイナリエンコーディングで格納されているDER形式
  6. deleteFederationPartnerSigningCert()。SPパートナ・エントリから署名証明書を削除します: deleteFederationPartnerSigningCert("acmeSP","SP")

  7. acmeSPは、以前に作成したパートナの名前です。

  8. spはパートナ・タイプを示します

SPパートナ属性プロファイル

特定のSPパートナのSPパートナ属性プロファイルを構成するには、次のコマンドを使用します。

  1. 特定のSPパートナ属性プロファイルを使用するようにSPパートナを構成するには、setSPPartnerAttributeProfile(partnerName, aZrProfileID)を実行します

  2. partnerNameは、SPパートナの作成に使用された名前です

  3. attrProfileIDは、SPパートナ属性プロファイルIDです

  4. 既存のSPパートナ属性プロファイルをリストするには、listSPPartnerAttributeProfileIDs()を実行します。

SAML SSOリクエストとレスポンスのバインディング

特定のSPパートナのSAMLバインディングを構成するには、次のコマンドを使用します。

  1. SPパートナを構成するには、configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")を実行します。

  2. partnerNameは、SPパートナの作成に使用された名前です

  3. パートナがSPであるため、partnerTypeSPに設定する必要があります

  4. バインディング: これはSAML 2.0にのみ適用されます。httppostの使用

  5. ssoResponseBinding: SAMLアサーションをSPに戻すために使用するバインディング、HTTP- POSTバインディングの場合はhttppost、アーティファクト・バインディングの場合はアーティファクト

SAML NameID設定

SAML SPパートナのNameID設定を構成するには:

次のコマンドを使用します。

OpenID 2.0

OAM管理コンソール

新しいOpenID 2.0 SP/RPパートナを作成するには、次のステップを実行します(最初にSP/RPレルムやURLなど、SPパートナのすべてのデータがあることを確認します)。

  1. OAM管理コンソールに移動します: http(s)://OAM-admin-host:OAM-adminport/oamconsole

  2. アイデンティティ・フェデレーション、アイデンティティ・プロバイダ管理に移動

  3. 「サービス・プロバイダ・パートナの作成」ボタンをクリックします

  4. 「Create」画面で:

    1. パートナの名前を入力します。プロトコルとしてOpenID 2.0を選択しますRP/SPパートナのレルムを入力します。
    2. そのRPパートナのOpenIDエンドポイントURLを入力します。これは、OpenIDレスポンスを使用してユーザーがIdPからリダイレクトされるURLです。
    3. OpenIDレスポンスに属性を移入するために使用する属性プロファイルを選択します。
  5. 「保存」をクリックします。

図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パートナのすべてのデータがあることを確認します)。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します

  4. OAMでacmeRPと呼ばれるOpenID 2.0 RPパートナを作成します: addOpenID20SPFederationPartner("acmeRP", "https://sp.com", "https://sp.com/sso/openid20"

  5. デフォルトでは、新しいSPパートナはデフォルトのサービス・プロバイダ属性プロファイルを使用するように構成されています

  6. WLST環境を終了します: exit()

WLSTを使用したフェデレーション設定の変更

この項では、OAM WLSTコマンドを使用して共通SPパートナ設定を変更する方法について説明します。

すでにWLST環境にあり、次を使用して接続しているものとします。

  1. $IAM_ORACLE_HOME/common/bin/WLST.shを実行して、WLST環境を入力します。

  2. WLS管理サーバー(connect())に接続します。

  3. ドメイン・ランタイム・ブランチdomainRuntime()に移動します

SPパートナ属性プロファイル

特定のSPパートナのSPパートナ属性プロファイルを構成するには、次のコマンドを使用します。

特定のSPパートナ属性プロファイルを使用するようにSPパートナを構成するには、次を実行します。

  1. setSPPartnerAttributeProfile(partnerName, attrProfileID)
  2. partnerNameは、SPパートナの作成に使用された名前です。attrProfileIDは、SPパートナ属性プロファイルIDです
  3. 既存のSPパートナ属性プロファイルをリストするには、listSPPartnerAttributeProfileIDs()を実行します。

その他の学習リソース

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

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