IDプロバイダーでの SAML シングルサインオンの設定

VerifySAML を使用してシングルサインオンを実現し、アプリケーションが によって行われる認証に基づいてユーザーの身元を確認できるようにします。 ユーザーはログインのために に Verify リダイレクトされます。 Verify ユーザーの身元を確認し、その情報を SAML アサーションを通じて送信し、 サービスプロバイダー に対して、そのユーザーがリソースへのアクセスおよび使用を許可されていることを確認します。

始める前に

  • このタスクを完了するには管理者権限が必要です。
  • 少なくとも 2 つのブラウザー・ウィンドウを開いて、セットアップを完了します。 1つは管理コンソール Verify 用、もう1つは対象アプリケーションの管理コンソール用です。
    • IBM® Verify 管理者として管理コンソールにログインしてください。
    • 管理者アカウントを使用して、ターゲット・アプリケーション管理コンソールにログインします。
  • [ 全般 ] タブで、アプリケーションインスタンスの基本情報を設定する必要があります。 「アプリケーションの基本情報の設定」 を参照してください。

このタスクについて

Verify シングルサインオン (SSO)のIDプロバイダー またはサービスプロバイダー として機能することができます。 このタスクでは、 Verify がIDプロバイダー であり、ターゲットアプリケーションがサービスプロバイダー となります。

カスタムアプリケーションのテンプレートを使用している場合は、先に進む前に 「カスタムアプリケーション」 を参照してください。

Configure Verifyサービスプロバイダー が相互に通信できるように設定します。 SAML のシングルサインオンを有効にするには、以下を指定する必要があります:
  • サービス・プロバイダーからの特定のデータを持つ Verify
  • Verify からの特定のデータを持つサービス・プロバイダー

サービスプロバイダーSAML 認証リクエストに署名する場合、まず 「セキュリティ 」>「 証明書 」ページで署名者の証明書を追加する必要があります。 「証明書の管理」 を参照してください。

サービスプロバイダー が、 SAML アサーションの組み込み属性以外に他の属性を要求する場合は、 「ディレクトリ 」>「 属性 」ページで必要な属性ソースを追加してください。 「属性の管理」 を参照してください。

/v1.0/saml/federations/{federationName}注: テナント管理者は、新しいAPIエンドポイントを通じて、 SAML のフェデレーション設定の一部を閲覧および更新できます。これには、および readFederations のAPI権限が必要です manageFederations
ID ソースに使用される構成プロパティーは次のとおりです。
clockSkew
受信SAML アサーション NotBeforeNotOnOrAfterが検証されるときの許容度 (秒)。
messageValidTime
受信SAMLメッセージIssueInstantが検証されるときの許容度 (秒)。
skipTargetUrlValidation
SAMLのtargetURL検証をスキップするかどうかを示します。

falseデフォルト値は です。

allowedTargetUrls
SAMLの許可ターゲットURLを示します。

この構成属性値は、文字列配列です。 各配列要素はURLです。 URLホスト名はワイルドカードをサポートします。 例えば、*.ibmcloud.comなどです。

この値はデフォルトでは空です。

signatureAlgorithm
署名を行う際、アルゴリズムは SAML AuthnRequest メッセージにデジタル署名を行います。サポートされている値は以下の通りです: RSA-SHA1、 RSA-SHA256、 RSA-SHA512、 ECDSA-SHA256、 ECDSA-SHA384、 ECDSA-SHA512。 空の場合、デフォルトの RSA-SHA256 が使用されます。
この値はデフォルトでは空です。
signingKeyLabel
署名に関しては、この証明書はシングルサインオン時に SAML AuthnRequest を署名するために使用されます。 「デフォルトの選択」とは、 「セキュリティ 」>「証明書 」> 「個人用証明書」で設定したデフォルトの個人用証明書を指します。
デフォルトの個人用証明書が選択されています。
decryptionKeyLabel
シングルサインオン時に、受信した SAML レスポンスメッセージに暗号化された要素が含まれている場合は、この証明書を使用して復号化してください。 [ セキュリティ ] > [証明書 ] > [個人用証明書] で設定したデフォルトの個人用証明書。
デフォルトの個人用証明書が選択されています。
アプリケーションに使用される構成プロパティーは次のとおりです。
assertionSettings.assertionValidAfter
SAMLアサーションが発行されたとき、NotOnOrAfterに追加される許容度 (秒)。
assertionSettings.assertionValidBefore
SAMLアサーションが発行されたとき、NotBeforeに追加される許容度 (秒)。
messageValidTime
受信SAMLメッセージIssueInstantが検証されるときの許容度 (秒)。
ID ソースとアプリケーションの両方に使用される構成プロパティーは次のとおりです。
crlEnabled
証明書失効リストを検査します。 外部証明書を使用するすべての機能に対してチェックが行われます。 構成で CRL 検査が必要ない場合は、無効にすることができます。 例えば、内部認証局 (CA) を使用する場合、CRL 検査を無効にできます。 このcrlEnabledプロパティのデフォルト値はtrue.
keySelectionCriteria
さまざまなメッセージの署名、検証、暗号化、暗号化解除にどの鍵または証明書を使用するかを指定します。 指定されたエイリアスを持つキーまたは証明書と同じ SubjectDN 名前を持つキーや証明書が複数ある場合、この設定によってどちらを使用するかが決まります。 以下の選択方法のいずれかを使用します。
only.alias
指定の別名を持つ鍵または証明書を選択します。 この方法がデフォルトです。
longest.lifetime
署名の際に、存続時間が最も長い有効な鍵が使用されます。 検証では、同じ SubjectDNキーが有効期間の可用性に基づいて並べ替えられます。 検証が成功するまで、存続時間が長いものから順に鍵が試されます。
shortest.lifetime
署名の際に、存続時間が最も短い有効な鍵が使用されます。 検証では、同じ SubjectDNキーが有効期間の可用性に基づいて並べ替えられます。 検証が成功するまで、存続時間が短いものから順に鍵が試されます。
  • データ型: ストリング
  • 例:only.alias

手順

  1. アプリケーションの設定にメタデータを使用するかどうかを選択してください。
    表 1. メタデータ設定
    情報 説明
    メタデータの使用 アプリケーションの設定にメタデータを使用するかどうかを指定します。 アプリケーションを作成する際はデフォルトで true になり、既存のアプリケーションを更新する際は false になります。
    インポート・タイプ メタデータのタイプを指定します。 ソースは、メタデータファイルか、一般に公開されている URL のいずれかです。
    メタデータ・ファイル 「インポートの種類」で「ファイルからメタデータをインポート」が選択されている場合、ファイルアップロードボタンが表示されます。 クリックしてメタデータファイルをアップロードしてください。
    メタデータ URL 「インポートタイプ」で「 URL からメタデータをインポート」が選択されている場合、「 URL 」フィールドが表示されます。 メタデータファイルをダウンロードしたい URL を入力してください。
    注:「 メタデータを使用する」 にチェックを入れている場合、以下の表の一部のフィールドが表示されないことがあります。
  2. プロバイダー間のシングルサインオンを確立するために必要なサービスプロバイダー とURLを特定してください。
    表 2. IDとURL
    情報 説明
    プロバイダー ID

    Verifyこれは、ターゲットアプリケーションを一意に識別するためのターゲットアプリケーションプロバイダーIDです。

    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。
    • ターゲット・アプリケーション管理コンソールの「シングル・サインオン構成」ページ。

      このページへのアクセス方法については、 「シングルサインオン設定」 を参照してください。

    • サービス・プロバイダー・メタデータ内。
    • 対象アプリケーションの「 SAML 」シングルサインオン設定に関するドキュメント。
    • ターゲット・アプリケーション・サポート・チームから。
    値は、サード・パーティー・アプリケーションによって異なります。 以下の値が考えられます。
    • 静的または以下のいずれかの形式:
      • https://{@domainName}.<application>.com
      • {@domainName}.<application>.com

      ここで、{@domainName} は、「プロバイダー ID」内の唯一の動的コンポーネントに対応し、「一般」タブで指定した値に実行時に自動的に置き換えられます。

      重要:プロバイダー ID 」を更新した後、「 全般 」タブドメイン名を更新すると、 プロバイダー ID の値は、指定されたドメイン名に基づいてデフォルト値にリセットされます。
    • 動的

      プロバイダー ID には、複数の動的コンポーネントがあります。 そのため、フィールド値は自動的に取り込まれません。

    注: ASCII文字のみがサポートされています。 詳細については、 https://ascii.cl/ をご覧ください。
    固有の ID を使用 一部のアプリケーションではこのチェック・ボックスを使用できます。

    重複するプロバイダー ID の競合を避けるために、アプリケーション用の固有の ID を作成します。

    アサーション・コンシューマー・サービス URL (HTTP-POST)

    サービスプロバイダー 側で、 SAML の認証応答を受信するエンドポイントを指定します。

    IDプロバイダー は、 SAML の認証応答を、この URL にリダイレクトします。 このエンドポイントは、 SAML アサーションを受信して処理します。

    サービスプロバイダー は、 SAML 認証リクエストを送信する際に、希望する URL を指定することができます。

    値は、サード・パーティー・アプリケーションによって異なります。 以下の値が考えられます。
    • 静的または以下のいずれかの形式:
      • https://{@domainName}.<application>.com/saml/consume
      • https://{@domainName}.<application>.com/saml/callback

      ここで、{@domainName} は、「アサーション・コンシューマー・サービスの URL」内の唯一の動的コンポーネントに対応し、「一般」タブで指定した値に実行時に自動的に置き換えられます。

    • 動的

      「アサーション・コンシューマー・サービスの URL」には、複数の動的コンポーネントがあります。 そのため、フィールド値は自動的に取り込まれません。

    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。
    • ターゲット・アプリケーション管理コンソールの「シングル・サインオン構成」ページ。

      このページへのアクセス方法については、 「シングルサインオン設定」 を参照してください。

    • サービス・プロバイダー・メタデータ内。
    • 対象アプリケーションの「 SAML 」シングルサインオン設定に関するドキュメント。
    • ターゲット・アプリケーション・サポート・チームから。
    注:

    カスタム・アプリケーションの場合は、複数のアサーション・コンシューマー・サービスの URL を使用できます。 最大 1500 個の URL を指定できます。 URL の索引値は変更できますが、各値は固有でなければなりません。 デフォルトの URL にする URL を選択することもできます。

    名前 ID 管理 URL (HTTP-POST) (名前 ID 管理 URL (HTTP-POST))
    Not Specified注: このオプションは、 NameID 形式として設定され PersistentName 識別子がであるカスタムアプリケーションテンプレートでのみ利用可能です。

    SAML Manage Name ID請求とSAMLManage Name ID 応答を受信するサービス・提供者側のエンドポイントを指定します。

    ID提供者は、SAMLManage Name ID請求とSAMLManage Name ID応答をこのURLにリダイレクトします。 このエンドポイントは、SAMLManage Name ID請求とSAMLManage Name ID応答を受信して処理します。

    値は、サード・パーティー・アプリケーションによって異なります。

    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。

    • ターゲット・アプリケーション管理コンソールの「シングル・サインオン構成」ページ。 このページにアクセスする方法については、アプリケーションのシングル・サインオン構成の手順を参照してください。

    • サービス・プロバイダー・メタデータ内。
    • ターゲット・アプリケーションの SAML シングル・サインオン・セットアップ資料内。
    • ターゲット・アプリケーション・サポート・チームから。
    ID プロバイダーから開始されるシングル・サインオンの使用
    注: このオプションは、カスタムアプリケーションテンプレートでのみ利用可能です。

    このオプションは、サービス・プロバイダー が、アイデンティティー・プロバイダーによって開始されたサインオンをサポートする場合に選択します。 このシナリオでは、ユーザーはアイデンティティー・プロバイダー・サイトに直接サインインして、サービス・プロバイダー にアクセスします。

    有効にすると、 IDプロバイダー 主導のシングルサインオン( URL )が自動的に構築されます。 IDプロバイダーからのSSOフローを開始するのは、 URL です。 サービスプロバイダー のSSO用 URL を指定する必要はありません。

    このオプションが有効になっていない場合は、 サービスプロバイダーSSO の URL を指定する必要があります。 サービスプロバイダー側からSSOフローを開始するのは、 URL です。

    ターゲット URL

    これは、ターゲット・アプリケーションのユーザー・ランディング・ページです。ユーザーはサインオン後にこのページにリダイレクトされます。

    必ずしも対象アプリケーションの管理者コンソールを指すわけではありません。 シングル・サインオンの最終宛先であるサービス・プロバイダー の任意の保護リソースにすることができます。

    このフィールドは、以下の条件の下でのみ表示されます。
    • ターゲット・アプリケーションがリレー状態をサポートしている。
    • ターゲット・アプリケーションが アイデンティティー・プロバイダーによって開始されるシングル・サインオン をサポートする。 この URL は、 SAML の 2.0 アイデンティティプロバイダー によってシングルサインオンが開始された場合にのみ使用されます。
    • ターゲット 「 URL 」は動的であるか、複数の値が考えられます。
    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。
    • ターゲット・アプリケーション管理コンソールの「シングル・サインオン構成」ページ。

      このページへのアクセス方法については、 「シングルサインオン設定」 を参照してください。

    • ターゲット・アプリケーションの Web サイトから。
      1. ターゲット・ランディング・ページにナビゲートします。
      2. URL をコピーし、このフィールドに貼り付けます。
    サービス・プロバイダー SSO URL

    ユーザーブラウザからの SAML 認証リクエストを開始し、ユーザーを認証するために SAML 認証レスポンスを返すのは、 サービスプロバイダー のエンドポイントです。

    このフィールドは、以下の条件の下でのみ表示されます。
    • ターゲット・アプリケーションがサービス・プロバイダーによって開始されるシングル・サインオン をサポートする。
    • 「サービス・プロバイダーの SSO URL」が動的であるか、このフィールドで可能な値が複数ある。
    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。
    • ターゲット・アプリケーション管理コンソールの「シングル・サインオン構成」ページ。

      このページへのアクセス方法については、 「シングルサインオン設定」 を参照してください。

    • 対象アプリケーションの「 SAML 」シングルサインオン設定に関するドキュメント。
    • ターゲット・アプリケーション・サポート・チームから。
  3. サービス・プロバイダーがシングル・ログアウトをサポートしている場合は、シングル・ログアウト設定を構成します。
    IBM Verify注: 現在のセッション内のいずれかのアプリケーションが、から送信されたログアウト要求に応答しない場合、シングルログアウトはそのアプリケーションで停止します。 次のアプリケーションからシングル・ログアウトを再開するには、ユーザーはシングル・ログアウトを再度実行する必要があります。
    表 3. 単一ログアウト設定
    情報 説明
    シングル・ログアウト URL (HTTP-POST)

    サービスプロバイダー側で、 SAML のログアウト要求および SAML のログアウト応答を受信するエンドポイントを指定します。

    IDプロバイダーは、 SAML のログアウトリクエストと SAML のログアウトレスポンスを、この URL にリダイレクトします。 このエンドポイントは、 SAML のログアウトリクエストと、 SAML のログアウトレスポンスを受け取り、処理します。

    値は、サード・パーティー・アプリケーションによって異なります。

    この情報はサード・パーティー・アプリケーションから取得できます。 ターゲット・アプリケーションによっては、この情報が以下の適用可能なソースのいずれかから取得されることがあります。

    • ターゲット・アプリケーション管理コンソールのシングル・サインオン構成ページ。 このページへのアクセス方法については、アプリケーションのシングル・サインオン構成の説明を参照してください。
    • サービス・プロバイダー・メタデータ内。
    • ターゲット・アプリケーションの SAML シングル・サインオン・セットアップ資料内。
    • ターゲット・アプリケーション・サポート・チームから。
  4. 署名オプションを構成します。 デジタル署名を使用して、ユーザーとサービスプロバイダー 間の Verify 信頼関係を確立します。
    表4. 署名オプション
    情報 説明
    署名認証応答
    注: このオプションは、カスタムアプリケーションテンプレートでのみ利用可能です。
    IDプロバイダーSAML アサーションおよび認証応答に署名するかどうかを示します。
    注: 一部のサービスプロバイダーでは、 署名付き認証応答を受け付けられない場合があります。

    選択された場合、 SAML のアサーション認証応答の両方に署名が付与されます。

    このオプションが選択されていない場合、 SAML のアサーションのみに署名が行われます。 SAML のアサーションは、チェックボックスがオンになっているかどうかにかかわらず、常に署名されます。

    署名アルゴリズム
    注: このオプションは、カスタムアプリケーションテンプレートでのみ利用可能です。

    署名アルゴリズムは、 SAML アサーションまたは SAML 認証応答にデジタル署名を行います。

    デジタル署名アルゴリズムを使用して、データをダイジェストしてから、そのダイジェストを暗号化します。 以下のサポート対象アルゴリズムから選択します。
    • RSA-SHA1
    • RSA-SHA256
    • RSA-SHA512
    • ECDSA-SHA256
    • ECDSA-SHA384
    • ECDSA-SHA512

    ほとんどのアプリケーションでは、 SAML のアサーションまたは認証応答の署名に、デフォルトのアルゴリズムとして RSA-SHA256 を使用しています。

    RSA-SHA1 は非推奨とされており、強い暗号化をサポートしないレガシー・アプリケーションで使用するためにのみ提供されています。

    署名証明書

    「設定 「証明書 」>「個人用証明書 」ページからアップロードされたすべての個人用証明書を一覧表示します。

    選択したアプリケーション用にアップロードした個人証明書を選択してください。

    SAML 要求署名の検証

    サービスプロバイダー が、 SAML のシングルサインオンフローを開始する際に、 SAML 認証リクエストに署名するかどうかを示します。

    SAML の認証リクエストへの署名は、サービスプロバイダー によっては必須となる場合があり、また別のプロバイダーでは任意となる場合があります。

    選択した場合は、 個人用証明書を選択する必要があります。

    注: SAML 認証リクエストに署名を行っていないサービスプロバイダー では、このオプションは利用できません。
    SAML ログアウト要求署名の検証 着信ログアウト要求メッセージに署名が必要かどうかを示します。

    選択した場合は、個人用証明書を選択する必要があります。

    SAML ログアウト応答署名の検証 着信ログアウト応答メッセージに署名が必要かどうかを示します。

    選択した場合は、個人用証明書を選択する必要があります。

  5. 暗号化オプションを構成します。 SAML アサーションの内容を保護するために暗号化を有効にし、意図した受信者のみがアクセスできるようにします。
    表5. 暗号化オプション
    情報 説明
    アサーションの暗号化
    サービスプロバイダー に送信される SAML アサーション全体を暗号化します。 意図したサービス・プロバイダー のみがその内容を暗号化解除して把握できます。
    注: このオプションは、暗号化に対応しているサービスプロバイダー のみが利用可能です。
    SAML アサーションの暗号化アルゴリズム

    このアルゴリズムは、 SAML アサーションの内容を暗号化します。

    以下の拡張暗号化標準 (AES) またはデータ暗号化規格 (DES) アルゴリズムから選択します。
    AES-128
    AES-CBCモードで 128ビットの鍵を使用します。 データ変換は 10 サイクル繰り返されます。
    AES-192
    AES-CBCモードで 192ビットの鍵を使用します。 データ変換は 12 サイクル繰り返されます。
    AES-256
    AES-CBCモードで 256ビットの鍵を使用します。 データ変換は 14 サイクル繰り返されます。 これはデフォルトであるか、一般的に使用される暗号化アルゴリズムです。
    Triple DES
    3 つの 8 バイト DES 鍵から成る 3 倍長のデータ鍵を使用して、8 バイトのデータを暗号化します。 これには次の方法が使用されます。
    • 最初の鍵を使用してデータを暗号化します。
    • 2 番目の鍵を使用して結果を復号します。
    • 3 番目の鍵を使用して 2 番目の結果を暗号化します。
    AES-128-GCM
    AES- GCM モードで128ビットの鍵を使用します。
    AES-192-GCM
    AES- GCM モードで192ビットの鍵を使用します。
    AES-256-GCM
    AES- GCM モードで256ビットの鍵を使用します。
    注: このオプションは、暗号化に対応しているすべてのアプリケーションで利用可能です。
    暗号鍵トランスポート・アルゴリズム このアルゴリズムでアサーション暗号鍵を暗号化します。 以下のアルゴリズムから選択します。
    RSA-OAEP

    公開鍵暗号化スキーム。 短メッセージ (対称暗号化では通常は秘密鍵) の暗号化のみを目的としています。

    http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p を参照してください。

    RSA-v1.5
    署名スキーム。

    http://www.w3.org/2001/04/xmlenc#rsa-1_5 を参照

    注:RSA-v1.5 暗号化キー転送アルゴリズムは、2024年3月をもってサポート終了となります。
    注: このオプションは、暗号化に対応しているすべてのアプリケーションで利用可能です。
    サービス・プロバイダーの暗号化証明書

    セキュリティ > 証明書 > 署名者証明書にインポートされたすべてのサービスプロバイダー 暗号化証明書を一覧表示します。

    選択した SAML アサーション暗号化アルゴリズムと組み合わせて、 VerifySAML アサーションの内容を暗号化するために使用する必要がある暗号化証明書を選択してください。

  6. SAML アサーションIDプロバイダー 属性ソースを特定します。 「 SAML の構成」の項目およびマッピング属性について参照してください。
  7. ユーザーがアプリケーションにアクセスする方法を決定するポリシーを選択します。

    割り当てられているデフォルトのアクセス・ポリシー (「すべてのデバイスからのアクセスを許可する」) を引き続き使用できます。 あるいは、チェックボックスのチェックを外し、[ 編集 ] をクリックして、あらかじめ定義されたアクセスポリシーのリストから選択することもできます。 詳細については、 「アクセスポリシー」 を参照してください。

  8. 「保存」 をクリックします。

次の手順

  • サービスプロバイダー に対し、とサービスプロバイダー 間の VerifySAML シングルサインオン設定を完了するために必要な情報を Verify 提供してください。 ユーザー・インターフェースで提供されている説明を参照してください。

    SAML アプリケーションで「 デフォルトの個人証明書 」が署名証明書として設定されている場合、 SAML のメタデータをVerify atから https://{tenantName}/v1.0/saml/federations/saml20ip/metadataダウンロードできます。 https://{tenantName}/v1.0/saml/federations/saml20ip/metadata?keyLabel={actualKeyLabel}SAML アプリケーションで、 署名証明書として「 {actualKeyLabel} 」というラベルを持つデフォルト以外の個人証明書が設定されている場合、 SAML のメタデータを以下からダウンロードできます。

  • 構成済みアプリケーションへのアクセスを許可するユーザーまたはグループの資格を追加します。 「アプリケーションの権限の管理(管理者またはアプリケーション所有者による)」 を参照してください。
  • ユーザーに対するセキュリティー管理を強化するために、ユーザーが構成済みアプリケーションにサインオンする際に、2 要素認証を実施します。 「認証要素の設定」 を参照してください。