SSO認証のセットアップ (オンプレミス)
このトピックでは、ALM Octaneに接続するためのオンプレミスSSO認証を設定する方法について説明します。
概要
このトピックでは、フェデレーション環境でALM OctaneへのSSOアクセスを許可する方法について説明します。このようにして、ユーザーは、サイトの他のSSOアプリケーションと同じように、シングルサインオンを使用してALM Octaneにログインできます。
シングルサインオンを容易にするために、ALM Octaneサービスプロバイダー (SP) は、セキュリティトークンを使用してユーザーを認証するオンラインサービスであるIdPに認証要求を送信します。
ALM Octaneサービスプロバイダー (SP) は、IDプロバイダー (IdP) と通信するときに、ユーザーを一意に識別できることが不可欠です。これは2段階のプロセスです。
-
認証。ユーザーがログインすると、ALM OctaneはIdPで一致するユーザーを見つけようとします。詳細については、ユーザーの承認についてを参照してください。
-
識別。ユーザーがログインを許可された後、ALM Octaneはそれがどのユーザーであるかを識別します。詳細については、ユーザーの識別についてを参照してください。
サービスプロバイダーとプロトコル
ALM Octaneには、この目的のために独自の組み込みサービスプロバイダー (SP) があります。
ALM OctaneのSSO統合は、IDプロバイダー (IdP) による認証にSAML2プロトコルを使用します。
ALM Octaneは、OAuth2プロトコルを使用してアクセストークンを作成し、それらを検証します。
ユーザーがログインすると、ALM OctaneはIdPで一致するユーザーを見つけようとします。
シナリオ | 説明と結果 |
---|---|
一致するユーザーが存在します |
ALM Octaneは、uuidでチェックし、次に名前でチェックします。これらのいずれかが正常に検出された場合、ユーザーは許可されます。 ユーザーの詳細が一致しない場合、詳細はALM Octaneで更新され、ユーザーが承認されます。 |
一致するユーザーが存在しません |
ユーザーは許可されておらず、ログインできません。 ユーザーは、CSVファイルを使用してIdPからALM Octaneにインポートできます。インポート後、ユーザーはログインできます。 インポートの詳細については、SSO認証用のIdPユーザーをワークスペース (オンプレミス) にインポートを参照してください。 |
例: 次のユーザーがIdPおよびALM Octane SPで定義されていると想定します。
-
uuid100のCarlosという名前のユーザーがログインを試みます。
Carlosは認証されています。
-
uuid300のSvetlanaという名前のユーザーがログインを試みます。
ユーザーは認証されています。ALM Octaneの名前がLeeに更新されました。
-
uuid400のSallyという名前のユーザーがログインを試みます。
Sallyは認証されています。ALM Octaneのuuidが200に更新されます。
-
uuid900のGeorgeという名前のユーザーがログインを試みます。
認証に失敗します。
詳細については、SSO認証のセットアップ (オンプレミス)を参照してください。
識別のために、ALM Octane SPはマッピングを使用します。sso.confファイルのuser-name設定はIdPからのSAML応答を受信した後、ALM Octane username属性を対応するIdP属性にマップする方法を決定します。マッピングは以下に基づいています。
sso.confでの設定 | SAML応答 | 説明 |
---|---|---|
'{$id}' |
<saml2:Subject>の<saml2:NameID>属性。 |
ALM Octaneは、ALM Octaneuser-nameをSAMLサブジェクトのNameIDにマッピングすることでユーザーを識別します。 これが標準設定です。 |
ユーザー名 | <saml2:AttributeStatement>の<saml2:Attribute>のFriendlyNameusername | ALM Octaneは、ALM Octaneuser-nameをSAML属性ステートメントのusername属性にマッピングすることでユーザーを識別します。 |
詳細については、マップIdP属性を参照してください。
ヒント: マッピングの目的で定義できるその他のsso.conf設定には、mapping uuid、mapping last-name、mapping first-name、mapping full-name、mapping-mailが含まれます。詳細については、サイト設定の変更を参照してください。
既存の内部ユーザーの処理
SSO認証に切り替える前からALM Octaneで定義された既存の内部ユーザーは、すでにパスワードを持っています。ユーザーがIdPユーザーにマップされている場合、これらのパスワードは上書きされません。ただし、ユーザーが直接ALM Octaneログインページに移動してもSSO用に設定された後、ALM Octaneにログインするには、これらの元ALM Octaneパスワードを使用することはできません。それらは定義されていますが、使用されているのはSSOパスワードだけです。
詳細については、ユーザーのインポートを参照してください。
前提条件
自己署名証明書または内部証明書でSSLを使用している場合は、認証を成功させるためにALM Octaneを実行するために使用されるJVMランタイムのCAストアに証明書を追加します。
ALM OctaneとそのSPを設定します
ALM Octaneとそのサービスプロバイダー (SP) をSSO統合用に設定します。
ALM Octaneで作成された最初のユーザーは、スーパーユーザー権限を持ち、システム内で任意のアクションを実行できます。実際、初期ユーザーは、すべての標準設定スペースのサイト管理者、スペース管理者、およびワークスペース管理者です。
このユーザーは、octane.confファイルのsite-administrator > name設定を使用して定義されます。
この管理者がすでにIdPに存在していることを確認してください。
後で、追加のIdPユーザーをインポートできます。詳細については、ユーザーのインポートを参照してください。
sso.confファイルを変更して、ALM Octane SPを設定します。
これらの設定を有効にするには、authentication-type設定を使用して、このoctane.confファイルで認証タイプをssoに設定してください。
すべての設定が必要なわけではありません。行頭のハッシュ (#) を使用して、不要な設定をコメントアウトしてください。
これらの利用可能な設定は次のとおりです。
キーストアの設定 | 認証メッセージの署名と暗号化に必要な証明書をSPに提供する設定を含めます。 |
OAuth設定 | 内部OAuth認証の詳細を構成します。 |
ロギング設定 | SPのログレベルを変更します。 |
SAMLメタデータ設定 | 信頼を確立するため。 |
URI設定をリダイレクト | リダイレクトに許可されたアドレスが含まれています。これは、認証されたユーザーが間違った場所にリダイレクトされていないことを検証するために使用されます。 |
sso.confファイルに追加する設定の詳細については、サイト設定の変更を参照してください。
ALM Octaneを再起動します。
ALM OctaneのSPとIdPの間にSAMLの信頼を確立する
ALM Octaneサービスプロバイダー (SP) とIdPの間で信頼を確立するには、プロバイダー間でメタデータを共有する必要があります。
-
IdPのメタデータをALM Octaneと共有します
SPを有効にしている間、IdPのメタデータはすでに共有されていました。
メタデータは、URLまたはファイルで提供できます。詳細については、サイト設定の変更を参照してください。
-
ALM OctaneのメタデータをIdPと共有する
ALM Octaneのメタデータを取得するには、次の場所に移動します。
<プロトコル>://<ホスト>:<ポート>/osp/a/au/auth/saml2/sp-metadata
メタデータは、ALM Octaneサーバーの起動後にのみ使用できます。詳細については、ALM Octane SPを有効にするを参照してください。
追加のIdP構成については、ここでは説明しません。IdPのドキュメントを参照してください。ただし、通常、個々のIdPに応じて、IdPの設定画面でこのURLを指定するか、XMLを保存してIdPにインポートします。これにより、ALM Octane SPがIdPのクライアントとして設定されます。
IdP属性のマップ
SAMLアサーションでIdPによって返されるユーザー属性を同等のALM Octane属性にマップします。以下の例で説明するように、SAMLでユーザー属性を定義するには、属性名を使用する方法と、属性FriendlyNameを使用する方法の2つがあります。
属性では大文字と小文字が区別されます。
SAML応答に署名する必要があります。暗号化はオプションです。
注: ALM Octaneは、組み込み属性をIdPによって提供される属性でオーバーライドし、IdP定義で最新の状態に保ちます。
ALM Octane属性 | IdP属性 | 説明 |
---|---|---|
ユーザー名 | username |
このマッピングは必須です。SSO機能は、username属性のマッピングがないと機能しません。 '{$id}'に設定すると、ALM Octaneusernameは、SAMLサブジェクトのNameIDにマップされます。 usernameに設定すると、ALM Octaneusernameは、SAML AttributeStatementセクションのNameIDにマップされます。 値は、SAML応答で送信される他の属性の名前に変更される場合があります。 |
UUID | uuid |
ユーザーのuuid。 IdPがSAMLアサーションで更新された情報を送信する場合、更新はALM Octaneの既存の情報を上書きします。 この属性のフレンドリ名がIdPで異なる場合は、sso.confファイルのオプションのマッピングuuid設定を使用して正しいフレンドリ名を指定できます。 |
Eメール |
ユーザーのメールアドレス。 IdPがSAMLアサーションで更新された情報を送信する場合、更新はALM Octaneの既存の情報を上書きします。 この属性のフレンドリ名がIdPで異なる場合は、sso.confファイルのオプションのマッピングメール設定を使用して正しいフレンドリ名を指定できます。 |
|
フルネーム | fullName |
名と姓を合わせたものと異なる場合のユーザーのフルネーム。 IdPがSAMLアサーションで更新された情報を送信する場合、更新はALM Octaneの既存の情報を上書きします。 この属性のフレンドリ名がIdPで異なる場合は、sso.confファイルのオプションのフルネームマッピング設定を使用して正しいフレンドリ名を指定できます。 |
姓 | lastName |
ユーザーの姓。 IdPがSAMLアサーションで更新された情報を送信する場合、更新はALM Octaneの既存の情報を上書きします。 この属性のフレンドリ名がIdPで異なる場合は、sso.confファイルのオプションのマッピングの姓設定を使用して正しいフレンドリ名を指定できます。 |
名 | firstName |
ユーザーの名前。 IdPがSAMLアサーションで更新された情報を送信する場合、更新はALM Octaneの既存の情報を上書きします。 この属性のフレンドリ名がIdPで異なる場合は、sso.confファイルのオプションのマッピング名設定を使用して正しいフレンドリ名を指定できます。 |
ヒント: uuidによるマッピングは必須ではありませんが、推奨されます。
IdPからALM Octaneへのユーザー詳細の自動同期を容易にするために、uuid (ユーザー名に類似したユーザー識別子) は一意で安定している必要があります。つまり、属性は、電子メールなど、変更される可能性のあるものであってはなりません。
(uuidをユーザー識別子として使用すると、必要に応じてユーザー名を変更できます。)
uuidがマッピングに提供されていない場合、ALM Octaneは、マッピングされたuserNameまたはSAML応答の件名に基づいてユーザーの詳細を同期しようとします。ただし、この値が後でIdP側で変更された場合、ALM Octaneはユーザーを識別できなくなります。
詳細については、SSO認証のセットアップ (オンプレミス)を参照してください。
属性名前を使用したSAMLのサンプルを次に示します。
属性名を使用している場合、sso.confマッピングは次のようになります (例)。
mapping user-name: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'
属性FriendlyNameを使用したSAMLのサンプルを次に示します。
属性FriendlyNameを使用している場合、sso.confマッピングは次のようになります (例)。
mapping user-name: username
SSO認証をテストする
ALM Octane UIおよびAPIの認証をテストします。
SSOを使用してALM Octaneログインするには、ALM OctaneのURLに移動します。IdPのログイン画面にリダイレクトされます。
ALM Octane管理者の資格情報を使用してログインします。
ALM Octaneにリダイレクトされ、アプリケーションを使用できるようになります。
REST APIの非ブラウザーベースの認証については、SSO認証のセットアップ (オンプレミス)を参照してください。
ユーザーのインポート
ユーザーをインポートし、ALM Octane設定領域でユーザーの権限を割り当てます。
ユーザーのインポートの詳細については、SSO認証用のIdPユーザーをワークスペース (オンプレミス) にインポートするを参照してください。
ALM Octaneにインポートされると、これらのユーザーはSSOを使用してログインできます。
参照情報: