このページを共有

# SSO 認証の設定 (ALM 15.00 の場合)

本トピックでは、ALM に接続するために SSO 認証を設定する方法について説明します。

ALM 15.0.1 で SSO 認証を設定する方法の詳細については、SSO 認証の設定を参照してください。

注: CAC (Common Access Card) および SiteMinder については、『ALM External Authentication Configuration Guide』を参照してください。

このトピックの内容:

## 概要

本項では、フェデレーション環境で ALM への SSO アクセスが許可される方法について説明します。こうして、ユーザはサイトにある他の SSO アプリケーションと同じように、ALM へのログインにシングル・サインオンを使用できます。

### ALM が SSO をサポートする方法

ALM は、SAML 2.0 を介して SSO をサポートし、SSO のサービス・プロバイダ (SP) として機能します。SAML 2.0 のフェデレーション・プロトコルで ID プロバイダ (IdP) として機能するには、フェデレーション・サービスを実装する必要があります。

シングル・サインオンを進めるために、ALM サービス・プロバイダ (SP) は IdP (セキュリティ・トークンを使ってユーザを認証するオンライン・サービス) に認証要求を送信します。ALM サービス・プロバイダ (SP) が ID プロバイダ (IdP) と通信するときには、ユーザを一意に識別できることが不可欠です。

### ユーザの承認について

ユーザがログインすると、ALM は ALM 内で対応するユーザを見つけようとします。

シナリオ | 説明と結果
--- | ---
対応するユーザが存在する | ALM は、ID キーと IdP ID によってチェックします。その両方が 1 人のユーザにある場合、そのユーザは承認されます。
対応するユーザが存在しない | ユーザは承認されず、ログインできません。 自動ユーザ・プロビジョニングが有効になっている場合、ALM は自動ユーザ・プロビジョニング・プロセスを実行して、対応するユーザを ALM 内に作成します。詳細については、自動ユーザ・プロビジョニングの設定を参照してください。

先頭に戻る

## 前提条件

ALM SP が SAML 2 と OAuth トークンに署名するときに使用する証明書 (または証明書を格納するためのキーストア・ファイル) はすでに取得しています。

キーストア・ファイルは SSO 設定ツールにアップロードされます。

認証を成功させるため、ALM の実行に使用される JVM ランタイムの信頼済みストアに、ALM サーバ、リバース・プロキシ、または IdP の https 証明書が追加されていることを確認してください。

ALM がクラスタ環境にデプロイされている場合、SSO 認証では、すべての ALM ノードとユーザの IdP サーバのシステム時刻ができるだけ厳密に同期されている必要があります。これらのサーバ上のシステムは、ネットワーク・タイム・プロトコル (NTP) などのネットワーク時刻同期プロトコルを使用するように設定できます。ALM ノードと IdP サーバで時刻が異なる場合、認証は失敗します。

先頭に戻る

## ALM SP の設定

1. ALM サイト管理にログインします。

2. ［ツール］＞［SSO 設定］をクリックして、SSO 設定ツールを開きます。

3. ［一般設定］＞［プロパティ］をクリックして、次の情報を入力します。

   フィールド (* 必須) | 説明
   --- | ---
   *OAuth クライアント・シークレット | ALM サービス・プロバイダ (SP) でアクセス・トークンの生成に使用するシークレット。
   *通信 FQDN | ALM サーバの FQDN (完全修飾ドメイン名) 。ALM サーバの前で Web サーバ/リバース・プロキシが使用されている場合は、Web サーバの FQDN にします。
   *通信ポート | ALM サーバのポート番号。Web サーバ/リバース・プロキシが使用されている場合は、Web サーバのポート番号にします。 ポート番号は書き換えられている可能性があります。ポート番号を取得するにはネットワーク・チームに確認してください。
   *セキュリティ保護された通信を有効にする | ALM サーバで HTTPS プロトコル (TLS) を使用するかどうかを指定します。 Web サーバ/リバース・プロキシが使用されている場合は、Web サーバで HTTPS プロトコル (TLS) を使用するかどうかを指定します。プロトコルは書き換えられている可能性があります。ネットワーク・チームに確認してください。
   リバースプロキシの使用 | リバース・プロキシを使用するかどうかを指定します。使用する場合は、リバース・プロキシ・ポートも指定してください。
   リバース プロキシ ポート | リバース・プロキシのポート番号
   セキュア リバース プロキシを有効化 | リバース・プロキシで HTTPS プロトコル (TLS) を使用するかどうかを指定します。

4. ［保存］をクリックして設定を保存します。

5. ［一般設定］＞［SAML2 証明書］をクリックして証明書を提示します。

   証明書は、キーストア・ファイルをアップロードするか、証明書情報を手動で入力して提示できます。

   キーストア・ファイルをアップロードして証明書を提示するには | ［証明書の送信タイプ］フィールドで、［キーストアファイルをアップロード］を選択します。 ［アップロードするファイルの選択］フィールドで、証明書が含まれているキーストア・ファイルを選択します。 キーストア・ファイルの証明書には秘密鍵と公開鍵の両方が含まれていることを確認してください。 ALM がサポートするキーストア・タイプは次のとおりです。JKS、JCEKS、および PKCS12。そのため、アップロードしようとするキーストア・ファイルの拡張子名は、次のいずれかであることが必要です。 JKS キーストア・タイプの場合: `.jks` または `.ks` JCEKS キーストア・タイプの場合: `.jce` PKCS12 キーストア・タイプの場合: `.p12` または `.pfx` キーストアと証明書のパスワードを入力します。 キーストア・ファイルで使用されている証明書のエイリアスを入力します。 ［送信］をクリックします。
   証明書情報を手動で入力して証明書を提示するには | ［証明書の送信タイプ］フィールドで、［手動で入力］を選択します。 キーストアと証明書のパスワード、証明書チェーン、および秘密鍵を入力します。 ［送信］をクリックします。

   証明書の更新方法

   1. 現在の証明書をディレクトリ `{ALM Deploy Directory}\ALM\repository\sa\DomsInfo\osp\basic.pfx` から削除します。

      次の手順も実行できます。

   2. 現在のページを更新します。
   3. ステップ 5 の説明に従って、証明書情報を再送信します。
   4. ALM サーバを再起動します。ALM がクラスタ環境にある場合は、各ノードを再起動します。
   5. ALM の SP メタデータを IdP と共有している場合は、更新された SP メタデータを取得して、IdP と共有し直す必要があります。IdP の設定を参照してください。

先頭に戻る

## IdP の追加

「alm」という名前の標準設定の IdP を追加することから始めてください。他の IdP は、alm IdP の検証に成功し、SSO を有効にした後で追加できます。

注: IdP を追加するときは、IdP ID に「local」という名前を付けないでください。

alm IdP を追加して設定するには、次の手順を実行します。

1. ［SSO 設定ツール］ページの左側の表示枠で、［alm］タブをクリックします。

2. 次の内容を入力します。

   フィールド (* 必須) | 説明
   --- | ---
   自動ユーザ・プロビジョニングの設定
   標準設定の ALM ユーザ名にマップされる SAML フィールド | ALM が、ID キーと IdP ID を基準とした検索で、IdP ユーザに対応する 1 人だけの ALM ユーザを見つけられなかった場合に、このオプションは以下の内容を制御します。 自動ユーザ・プロビジョニングを有効にして、IdP ユーザに対応するユーザを ALM 内に作成するかどうか。 自動ユーザ・プロビジョニングによりユーザの作成が可能な場合に、ALM がユーザの作成時に標準設定のユーザ名として使用する属性。 OFF: ユーザを作成する自動ユーザ・プロビジョニングを無効にします。 IdentityKey: 新しいユーザの作成時に、新しい ALM ユーザ名として IdentityKey 値が使用されます。 ALMUsername: 新しいユーザの作成時に、新しい ALM ユーザ名として ALMUsername 値が使用されます。 ALMEmail: 新しいユーザの作成時に、新しい ALM ユーザ名として ALMEmail 値が使用されます。
   標準設定 ALM ユーザ名は編集可能 | ユーザの作成中に、新しい ALM ユーザが標準設定のユーザ名を変更できるかどうか。 オプション［ALM ユーザ名にマップされる属性］が［OFF］に設定されている場合、この値は無視されます。
   ALM SP との IdP メタデータの共有
   IdP メタデータ | IdP からの SAML メタデータ記述子の Base64 エンコード XML。 これは、ALM サーバから IdP メタデータの URL にアクセスできない場合に使用してください。
   IdP メタデータの URL | IdP メタデータを公開するための IdP の URL。 これを選択するのは、ALM サーバから IdP メタデータの URL にアクセスできる場合です。

先頭に戻る

## SSO コンポーネントのデプロイ

次のスクリプトを管理者として実行して、SSO コンポーネントをデプロイします。

- Windows の場合: `{ALM Installation Directory}\ALM\run_osp_deploy.bat`
- Linux の場合: `{ALM Installation Directory}\run_osp_deploy.sh`

デプロイメント中に ALM サービスを再起動するように求められます。ALM サービスを停止してデプロイメント・プロセスを続行し、デプロイメントが成功したら ALM サービスを再起動します。ALM サービスを停止しない場合、プロセスは中止されます。

ALM SP 設定に変更を加えたり、IdP の編集、追加、または削除を行った場合は、このスクリプトを再度実行してください。

ALM がクラスタ環境にある場合は、各ノードでスクリプトを実行します。

先頭に戻る

## IdP の設定

設定の詳細は、IdP によって異なります。通常、IdP を設定するには、次のタスクを完了する必要があります。

1. SAML2 をクライアント・プロトコルとして使用するクライアントを作成します。

2. ALM SP メタデータを取得し、それを IdP と共有します。

   1. SP メタデータをディレクトリ http(s)://{server}:{port}/osp/a/alm/auth/saml2/sp-metadata から取得します。
   2. データを XML ファイルとして保存します。

   3. SP メタデータは IdP 設定で使用され、SP と IdP 間の信頼を構築します。IdP 設定の詳細については、IdP のドキュメントを参照してください。

3. IdP によって SAML アサーションで返されるユーザ属性を、対応する ALM 属性にマップするマッパを作成します。

   必ず IdP ユーザを一意に識別できる IdP 属性を ALM 属性 IdentityKey にマップしてください。

   ALM では、名前 ID の形式を emailAddress にする必要があります。

   ALM 属性をマップした先の IdP 属性が SSO 設定ツールでマップした先とは異なる場合 (SSO 認証の設定 (ALM 15.00 の場合) のように) 、SSO 設定ツールでのマッピングが優先されます。たとえば、SSO 設定ツールで ALM 属性 ALMDescription がフィールド A にマップされている場合、ALM は SAML アサーションのフィールド A の値を使用して ALM 属性 ALMDescription を更新します。

   属性の大文字と小文字は区別されます。SAML 応答は署名されている必要があります。

SAML 応答のサンプル

    <samlp:Response>
    	<saml:Assertion>
    ...
    ...
    ...
    		<saml:Subject>
    			<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">sa@yopmail.com
                           </saml:NameID>
    			<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
    				<saml:SubjectConfirmationData
    					InResponseTo="idhSHtlcKqu3Xn8CpOIRc658-cnAI"
    					NotOnOrAfter="2019-04-30T09:11:36.887Z"
    					Recipient="https://shcappsvm76.hpeswlab.net:9443/osp/a/alm/auth/saml2/
                                               spassertion_consumer"/>
    			</saml:SubjectConfirmation>
    		</saml:Subject>
    		<saml:Conditions NotBefore="2019-04-30T08:51:36.887Z" NotOnOrAfter="2019-04-30T08:52:36.887Z">
    			<saml:AudienceRestriction>
    				<saml:Audience>https://shcappsvm76.hpeswlab.net:9443/osp/a/alm/auth/saml2/metadata
                                   </saml:Audience>
    			</saml:AudienceRestriction>
    		</saml:Conditions>
    		<saml:AuthnStatement
    			AuthnInstant="2019-04-30T08:51:38.887Z"
    			SessionIndex="5e968b7c-c2ad-41e6-81fb-3feb38644bcf::dfb1c06f-89e1-42ca-a6b0-f3ff41bb2fbd">
    			<saml:AuthnContext>
    				<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified
                                   </saml:AuthnContextClassRef>
    			</saml:AuthnContext>
    		</saml:AuthnStatement>
    		<saml:AttributeStatement>
    			<saml:Attribute
    				Friendly="IdentityKey" Name="IdentityKey"
    				NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
    				<saml:AttributeValue
    					xmlns:xs="http://www.w3.org/2001/XMLSchema"
    					xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">**
                                  </saml:AttributeValue>
    			</saml:Attribute>
    		</saml:AttributeStatement>
    	</saml:Assertion>
    </samlp:Response>

先頭に戻る

## IdP ユーザと ALM ユーザのマッピング

IdP ユーザは、次の 2 つの属性によって ALM ユーザにマップされます。ID プロバイダ名および ID キー。

ALM 属性 | マップ先の IdP 属性
--- | ---
ID プロバイダ名 | ALM SSO 設定ツールで設定される IdP 名 (標準設定の IdP 名「alm」など) 。
ID キー | IdP ユーザを一意に識別できる IdP 属性。たとえば、ユーザ名、ユーザ ID、ユーザの電子メールなど。

IdP ユーザと ALM ユーザのマッピングは、個別またはバッチで実行できます。最初に ALM ユーザとマップする IdP ユーザは、サイト管理者ユーザであることが必要です。

メソッド | 説明
--- | ---
ユーザを個別にマッピング | この方法は、SSO が有効になった後にのみ使用できます。 IdP ユーザを ALM ユーザにマップするには、次の手順を実行します。 ［サイト管理］＞［サイトのユーザ］タブから ALM ユーザのユーザ詳細を開きます。 属性の［ID プロバイダ名］および［ID キー］を、それに対応する、IdP ユーザのユーザ情報で更新します。 詳細については、ユーザの詳細の更新を参照してください。
サイト管理 REST API を使用してユーザをバッチでマッピング | この方法は、SSO が有効になっているかどうかに関係なく使用できます。 サイト・ユーザの属性 idp-name および identity-key を設定します。 詳細については、Site Administration REST API Referenceの「Site Users」＞「Update a site user」を参照してください。

注: IdP ユーザを ALM ユーザにマップしない場合、ALM は、その IdP ユーザに対応するユーザが ALM 内にいないと見なします。そのユーザが ALM にログインする方法については、ALM への SSO アクセスを参照してください。

先頭に戻る

## SSO 認証の検証と有効化

IdP の SSO を検証する前に、サイト管理者のロールを持つ少なくとも 1 人の ALM ユーザが IdP ユーザにマップ済みであることを確認します。そうなっていない場合、ユーザはサイト管理者として ALM を設定できません。

注: 検証の前に、ALM と IdP の URL を IE の信頼済み URL に追加する必要もあります。

1. SSO 設定ツールで、IdP 名をクリックし、下部にある［検証］をクリックして検証を開始します。
2. IdP ログイン・ページが開きます。IdP のユーザ名とパスワードを入力します。

3. 検証に合格すると、ログイン・ページが閉じます。続いて、IdP 名の前に合格インジケータが表示されます。

   検証に失敗すると、失敗インジケータが表示されます。

4. SSO 検証に合格したら、［SSOの有効化］をクリックします。

   いったん有効にした SSO 認証は、無効にできません。

先頭に戻る

## ALM への SSO アクセス

いったん SSO が有効になると、ほとんどすべての ALM リソースについて、アクセス時に SSO 認証が必要になります。

次のフローで、ALM が SSO ログインを処理する様子を示します。

特殊なケース

IdP が複数設定されていて、特定の IdP で自動プロビジョニングが有効になっている場合、ALM 内に対応するユーザがいないユーザが ALM にアクセスするときは、次の URL を介して IdP に直接アクセスする必要があります。http(s)://{server}:{port}/qcbin?idpId={idp id}

先頭に戻る

https://admhelp.microfocus.com ALM 8942
検索結果の改善のヒント... ALM ヘルプセンター ALM ヘルプセンター ALM ヘルプ 16.00 すべてローカル・ヘルプセンターの表示オンライン・ヘルプセンターの表示戻るブラウザ履歴で元に戻る進むブラウザ履歴で前に進む検索の強調表示を解除次のトピック次のトピックに移動前のトピック前のトピックに移動現在のトピックを印刷バージョン: