SAML 2.0 Artifact サービスを保護する認証方式の設定

目次
sm1252sp1jjp
目次
2
sm1252sp1jjp
HTTP-Artifact プロファイルの場合、アサーション検索サービス(SAML 1.x)および Artifact 解決サービス(SAML 2.0)は、アサーティング パーティでアサーションを取得します。これらのサービスでは、アサーション レスポンスを依存パーティに送信する際、セキュリティで保護されたバックチャネルを使用します。これらのサービスおよびバックチャネル上の通信を不正なアクセスから保護することを強くお勧めします。
: WS フェデレーション は HTTP-Artifact プロファイルをサポートしません。
これらのサービスを保護するには、アサーティング パーティでサービスが含まれるレルムに対する認証方式を指定します。認証方式により、依存パーティで消費サービスがバックチャネル上の関連サービスにアクセスするために提供する必要がある認証情報のタイプが指定されます。
以下のいずれかの認証方式を選択できます。
  • 基本
  • SSL を介した基本
  • X.509 クライアント証明書
アサーションを取得するサービスを保護するベーシック認証
sm1252sp1jjp
HTTP Artifact シングル サインオンの場合、アサーティング パーティは、安全なバックチャネルでアサーションを依存パーティに送信します。ベーシック認証の場合、Artifact を解決し、アサーションを取得するサービスにアクセスするためのパスワードを設定します。すると、サービスは、バックチャネルでアサーションを依存パーティに送信します。
SSL を有効にしてベーシック認証を使用できます。ただし、SSL は必須ではありません。
: バックチャネル全域でベーシックまたは Basic over SSL を認証方式として使用する場合にのみパスワードが関連します。
SAML 1.x アサーション検索サービスに対して以下の手順に従います
  1. 管理 UI にログインします。
  2. プロデューサに関する[一般]設定に移動します。
  3. 以下のフィールドに値を入力します。
    • Password
    • パスワードの確認入力
  4. [サブミット]をクリックして変更内容を保存します。
SAML 2.0 Artifact 解決サービスに対して、以下の手順に従います
  1. 管理 UI にログインします。
  2. アイデンティティ プロバイダに関する[属性]設定に移動します。
  3. [バックチャネル]セクションで、以下のフィールドに値を入力します。
    • Password
    • パスワードの確認入力
  4. [サブミット]をクリックして変更内容を保存します。
Basic over SSL によるアサーション検索サービスの保護
sm1252sp1jjp
アサーション検索サービス(SAML 1.x)や Artifact 解決サービス(SAML 2.0)の保護として、Basic over SSL 認証方式を使用できます。アサーティング パーティにおいて、ポリシー サーバのインストール時に、サービスを保護するための一連のデフォルト ポリシーがすでに設定されています。
必要な設定は、各パートナーで SSL を有効にすることだけです。アサーティング パーティや依存パーティでの他の設定は不要です。依存パーティでは、証明書データ ストアのデフォルト ルート認証機関(CA)の 1 つを使用して、SSL 接続を確立できます。デフォルト CA の代わりに独自のルート CA を使用する場合は、CA 証明書をデータ ストアにインポートします。
Basic over SSL 認証方式を使用する場合には、すべてエンドポイント URL で SSL 通信が使用される必要があります。これは、URL が
https://
で始まる必要があることを意味します。エンドポイント URL により、サーバ上のさまざまな SAML サービスが特定されます。たとえば、シングル サインオン、シングル ログアウト、Artifact 解決サービス(SAML 2.0)、アサーション検索サービス(SAML 1.x)などが特定されます。
アサーションを検索するサービスを保護ためのクライアント証明書認証
sm1252sp1jjp
クライアント証明書認証方式を使用して、アサーション検索サービス(SAML 1.x)および Artifact 解決サービス(SAML 2.0)を保護できます。アサーティング パーティがクライアント証明書認証を必要とするように設定されている場合、依存パーティは、接続をアサーティング パーティに戻し、クライアント証明書の表示を試みます。
クライアント証明書認証方式の使用方法
  1. 関連するサービスを保護するためのポリシーをアサーティング パーティで作成します。このポリシーは、クライアント証明書認証方式を使用します。
  2. 依存パーティでのバックチャネル設定用にクライアント証明書認証を有効化します。
  3. パートナーシップのそれぞれの側で SSL を有効化します。
クライアント証明書認証を使用する場合、すべてのエンドポイント URL が SSL 通信を使用する必要があります。すなわち、URL が
https://
で始まる必要があります。エンドポイント URL により、サーバ上のさまざまな SAML サービスが特定されます。たとえば、シングル サインオン、シングル ログアウト、Artifact 解決サービス(SAML 2.0)、アサーション検索サービス(SAML 1.x)などが特定されます。
sm1252sp1jjp
ServletExec を実行する以下の Web サーバではクライアント証明書認証を使用できません。
  • プロデューサ/ID プロバイダの IIS Web サーバ(IIS の制限のため)。
  • プロデューサ/ID プロバイダの SunOne/Sun Java サーバ Web サーバ(ServletExec に記載された制限のため)。
検索サービスを保護するポリシーの作成
sm1252sp1jjp
アサーティング パーティがアサーションを取得するサービスを保護するためのポリシーをアサーティング パーティで作成します。
以下の手順に従います。
  1. アサーションをリクエストするアフィリエイトごとに、個別のエントリをユーザ ディレクトリに追加します。ユーザ ディレクトリを作成するか既存のディレクトリを使用します。
    管理 UI のアフィリエイト一般設定の[名前]フィールドで指定されている値と同じ値をユーザ レコードに入力します。たとえば、アフィリエイトの[名前]フィールドの値が Company A の場合、ユーザ ディレクトリのエントリは次のようになります。
    uid=CompanyA, ou=Development,o=CA
    ポリシー サーバは、アフィリエイト クライアント証明書の Subject DN 値をこのディレクトリ エントリにマップします。
  2. 設定したユーザ ディレクトリを FederationWebServicesDomain に追加します。
  3. 証明書マッピング エントリを作成します。
    属性名を、アフィリエイトのユーザ ディレクトリ エントリにマップします。属性は、アフィリエイトの証明書における Subject DN エントリを表します。たとえば、CN を属性名として選択すると、この値は cn=CompanyA,ou=Development,o=partner というアフィリエイトを表します。
    マップを設定するには、[インフラストラクチャ]-[ディレクトリ]-[証明書マッピング]の順に移動します。
  4. X509 クライアント証明書認証方式を設定します。
  5. 以下のエントリが含まれるレルムを FederationWebServicesDomain の下に作成します。
    • 名前
      any_name
      例: cert assertion retrieval
    • エージェント
      FederationWebServicesAgentGroup
    • リソース フィルタ
      /affwebservices/certassertionretriever (SAML 1.x)
      /affwebservices/saml2certartifactresolution (SAML 2.0)
    • 認証方式
      前の手順で作成されたクライアント証明書認証方式。
  6. 以下の情報が含まれるルールを cert assertion retrieval レルムの下に作成します。
    • 名前
      any_name
      例: cert assertion retrieval rule
    • Resource
      *
    • Web エージェント アクション
      GET、POST、PUT
  7. FederationWebServicesDomain の下に Web エージェント レスポンス ヘッダを作成します。
    アサーション検索サービスは、この HTTP ヘッダを使用して、アフィリエイトがアサーションを取得するサイトであることを確認します。
    以下の値が含まれるレスポンスを作成します。
    • 名前
      any_name
    • 属性
      WebAgent-HTTP-Header-Variable
    • 属性の種類
      ユーザ属性
    • 変数名
      consumer_name
    • 属性名
      アフィリエイト名の値が含まれる使用ディレクトリ属性を入力します。
      例: uid=CompanyA
    以下のエントリに基づいて、Web エージェントは、HTTP_CONSUMER_NAME という名前のレスポンスを返します。
  8. 以下の値が含まれるポリシーを FederationWebServicesDomain の下に作成します。
    • 名前
      any_name
    • [User]
      この手順で先に作成したユーザ ディレクトリからユーザを追加します。
    • ルール
      rule_created_earlier_in_this_procedure
    • レスポンス
      response_created_earlier_in_this_procedure
Artifact 解決サービスを保護するポリシーが完成しました。
依存パーティにおいて、管理者は、以下のように関連するアサーション サービスに接続するバックチャネルでクライアント証明書認証を有効にする必要があります
SAML 1.x: アサーション検索サービスに対してクライアント証明書認証を有効化します
SAML 2.0: Artifact 解決サービスに対してクライアント証明書認証を有効化します
バックチャネル認証に必要な WebLogic 設定
アイデンティティ プロバイダでは、Web エージェント オプション パックが WebLogic 9.2.
x
アプリケーション サーバにインストールされています。バックチャネルでのベーシック認証がこのサーバで動作するように、WebLogic config.xml ファイルを変更します。
アプリケーション ドメインの WebLogic config.xml ファイルで、以下のように <security-configuration> 要素内に <enforce-valid-basic-auth-credentials> を設定します。
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>