SAML IdPとの統合

Tanium as a Serviceは、SAMLのIDプロバイダ(IdP)と統合するように事前に構成されています。

SAML の概要

セキュリティアサーションマークアップ言語(SAML)は、サービスプロバイダ(SP)とIDプロバイダ(IdP)間の認証要求と応答の交換の標準規格です。これにより、SPはIdPが提供するシングルサインオン(SSO)認証サービスを使用して複数セキュリティドメイン経由でアプリケーションへのユーザアクセスを付与できます。認証リクエストを受信すると、IdPはSAMLアサーション(ユーザが認証されたかどうかを示すメッセージ)を返します。Tanium Core Platformのコンテキストでは、SAMLの有効化は、Tanium ServerをSPとして設定してユーザがTanium Consoleにアクセスできるようにすることを意味します。コンソールアクセス用に、次のタイプのSAML SSO認証を設定できます。

  • Tanium Server 7.2.314.3181以降は、Oktaと統合されてIdPとして動作し、IdPが開始するSSOをサポートします。
  • Tanium Server 7.2.314.3476以降は、任意のIdPと統合されて、IdPおよびSPが開始するSSOをサポートします。

IdPにサインインすると、IdPセッションがタイムアウトしないかぎり、再度認証を受けることなく、新しいTanium Consoleセッションを繰り返し開始することができます。IdPセッションのタイムアウトはIdPサーバで設定されます。詳細についてはIdP管理者にお問い合わせください。

IdP主導のシングルサインオンとSP主導のシングルサインオンの両方、あるいはIdP主導のシングルサインオンのみをサポートするようにTanium Serverを構成することができます。SP主導のシングルサインオンのみを設定することはできません。

Tanium Server上には、SAML認証を必要としないユーザアカウントを少なくとも1つ保持し、そのアカウントにAdministrator予約ロールを割り当てます。SAML認証が機能を停止している場合(例:IdPへの接続がダウン)、このアカウントを使用してTanium Consoleにアクセスできます。

Tanium Serverは、SAMLを経由するユーザ承認(RBAC)はサポートしていません。Tanium Consoleにアクセスした後にユーザが表示して使用できる機能、設定、および情報を制御するには、ユーザロールのアクセス許可を構成します。詳細については、RBACの概要を参照してください。

SAML構成を表示および管理できるのは、Administrator予約ロールを持つユーザだけです。

IdP主導のシングルサインオン

一部の組織では、ユーザは、組織のIdPが提供する単一のシングルサインオンポータルにサインインすることで、多くのまたはすべてのアプリケーションにアクセスします。Tanium ServerでSAMLを有効にすると、ユーザはIdP シングルサインオンポータルからTanium Consoleにアクセスできます。IdPが開始したワークフローには次のフェーズが含まれています(図1の数字に一致)。

A1 ユーザは、企業ユーザ名とパスワードを使用してIdP SSOポータルにサインインし、適切なタイルをクリックします(この例ではTanium Console)。

2 ユーザが正しく認証されたことを示す署名付き応答(SAMLアサーションを含む)がIdPから返されます。ユーザのブラウザが自動的にその応答をSP(この例ではTanium Server)に転送します。

3 SPはIdP証明書を使用して、SAML応答の署名が有効であることを確認します。

4 SPは、アプリケーションへのユーザアクセス権を提供します。
図1:IdP主導SAML SSO

SP主導のシングルサインオン

SPが開始するワークフローには次のフェーズがあります(図2の数字に一致)。

1 ユーザは、SPを介してアプリケーション(この例ではTanium Console)に直接アクセスしようとします(この例ではTanium Server)。

2 SPは、IdPを通じて認証するようにユーザをリダイレクトします。ユーザのブラウザは自動的にリダイレクトを処理します。

3 ユーザがIdPにログインします。

4 ユーザが正しく認証されたことを示す署名付き応答(SAMLアサーションを含む)がIdPから返されます。ユーザのブラウザが自動的にその応答をSPに転送します。

5 SPはIdP証明書を使用して、SAML応答の署名が有効であることを確認します。

6 SPは、アプリケーションへのユーザアクセス権を提供します。
図2:SP主導SAML SSO

使用を開始する前に

  • IdP管理者と協力して、IdP経由でTanium Consoleにアクセスする必要があるユーザを指定します。IdP管理者は、Active Directory(AD)またはLDAP サーバ経由の認証の設定およびIdP経由のユーザアクセス管理に責任を有します。IdP経由のアプリケーションのセットアップについては、IdPのドキュメントを参照してください。

    管理者は、Tanium Serverにローカルである場合、Tanium Consoleユーザを作成するか(ユーザを作成するを参照) 、LDAPサーバからユーザをインポートする(LDAPサーバとの統合を参照)必要があります。

  • Tanium ConsoleユーザがIdP SSOポータルにアクセスするURLの変更を公開するときは、IdP管理者と協力してください(IdPが開始するSSOのみ)。

SAML認証を設定する

SPが開始した、あるいはIdPが開始したSAML SSOを有効化するには次の手順を実行します。

設定変更のパスワードプロンプトを以前に有効化した場合、Tanium Serverは、SAML認証が有効化された後にそれを自動で[Yes/Cancel (はい/キャンセル)]プロンプトに変更します。

  1. メインメニューから [Administration (運用管理)] > [Configuration (構成)] >[Authentication (認証)] > [SAML] に移動します。
  2. [Choose an IdP (IdPの選択)] ドロップダウンからIdPを選択します。
  3. [Tanium URIs for <IdP> Configuration (IdP構成のTanium URI)]セクションで、[Single sign on URL (シングルサインオンURL)]値と[Audience URI (SP entity ID) (対象者URI (SPエンティティID))]値をコピーし、IdP管理者と共有します。管理者は、Tanium ConsoleアプリケーションをサポートするためのIdPの構成にこの情報を必要とします。

    残りの手順を実行する前に、IdP管理者はTanium ServerがIdPサービスから受信したSAMLメッセージを検証するために使用するIdP証明書を送信する必要があります。

  4. <IdP>[Configuration Information (IdPの構成情報)]セクションで、コントロールを使用してIdP証明書ファイルをアップロードします。この手順の後半で構成変更のすべてを保存した後、このセクションには証明書名がリンク形式で表示され、クリックすると証明書のコンテンツを表示するポップアップウィンドウが開きます。
  5. (カスタムIdPのみ)[Custom IdP Settings (カスタムIdPの設定)]セクションで以下の設定を構成します。別の記載がないかぎり、すべての設定が必要です。これらの設定は、ユーザが認証を試みた後にIdPがTanium Serverに送信するXMLベースのSAML応答メッセージの要素、属性、および値を参照します。
  6.  表1:カスタムIdPの設定
    設定 ガイドライン
    名前 IdPを識別する名前。
    xp_response_destination Response要素内の応答先のXpathセレクタ。例:@Destination。送信先は、IdPがSAML応答を送信するURLです。Tanium Serverは、[sec_response_allowed_destination]の設定を使用して、送信先を検証します。
    xp_response_issuer Response要素内の応答発行者識別子のXpathセレクタ。例:Issuer/text()。Tanium Serverは、[sec_response_allowed_issuer]の設定を使用して、発行者識別子を検証します。
    xp_response_status Response要素内の応答ステータスコードのXpathセレクタ。例:Status/StatusCode/@Value。ステータスコードは、IdPで認証が成功したかどうかを示します。
    xp_response_id Response要素内の応答識別子のXpathセレクタ。例:@ID。Tanium Serverは、識別子を使用して応答の署名が正しい要素を参照できるようにします。
    xp_response_issue_instant Response要素内の応答発行時間のXpathセレクタ。例:@IssueInstant。Tanium Serverは、発行インスタントを使用して応答が期限切れにならないようにします。
    xp_assertion_issuer Assertion要素内のアサーション発行者識別子のXpathセレクタ。例:Issuer/text()。Tanium Serverは、[sec_assertion_allowed_issuer]の設定を使用して、発行者識別子を検証します。
    xp_assertion_audience Assertion要素内で想定されるアサーション対象者のXpathセレクタ。例:Conditions/AudienceRestriction/Audience/text()。Tanium Serverは、[sec_assertion_allowed_audience]の設定を使用して、想定される対象者を検証します。
    xp_assertion_username Assertion要素内のユーザ名のXpathセレクタ。例:Subject/NameID/text()。Tanium Serverは、この設定を使用して、認証を試みたユーザのユーザ名を取得します。
    xp_assertion_recipient Assertion要素内の受信者値のXpathセレクタ。例:Subject/SubjectConfirmation/SubjectConfirmationData/@Recipient。受信者は、IdPがSAMLアサーションを送信する宛先です。Tanium Serverは、sec_assertion_allowed_recipientの設定を使用して、受信者を検証します。
    xp_assertion_auth_class Assertion要素内の認証クラスのXpathセレクタ。例:AuthnStatement/AuthnContext/AuthnContextClassRef/text()。認証クラスは、IdPがユーザを認証するために使用した方法を表します。Tanium Serverは、[sec_assertion_allowed_auth_context_classes]設定を使用して認証クラスを検証します。
    xp_assertion_cond_before Assertion要素内のnot-before条件のXpathセレクタ。例:Conditions/@NotBefore。not-before条件は、それ以前はアサーションが有効ではない日時を示します。[sec_check_assertion_time_constraints]trueに設定する場合は、[xp_assertion_cond_before]に値が必要です。
    xp_assertion_cond_after Assertion要素内のnot-on-or-after条件のXpathセレクタ。例:Conditions/@NotOnOrAfter。not-on-or-after条件は、アサーションが無効になる日時を示します。[sec_check_assertion_time_constraints]trueに設定する場合は、[xp_assertion_cond_after]に値が必要です。
    sec_check_assertion_time_constraints アサーションのnot-before (xp_assertion_cond_before)とnot-on-or-after (xp_assertion_cond_after)の日時の条件の検証を有効(チェックボックスを選択)または無効(チェックボックスを選択解除)にする設定(任意)。
    sec_assertion_allowed_auth_context_classes IdPがユーザを認証するために使用したメソッドを表す認証クラスに設定可能な値のコンマ区切りのリスト(オプション)。例:urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
    sec_assertion_allowed_issuer アサーション発行者識別子の検証値(オプション)。例:http://www.saml-provider.com/YWJjZGVmMTIzNA
    sec_assertion_allowed_recipient アサーション受信者URLの検証値(オプション)。例:https://myhost.company.com/saml2/auth/custom
    sec_assertion_allowed_audience アサーション対象者の想定値(オプション)。例:tanium-saml2
    sec_elt_assertion_signed Tanium ServerにIdPからのアサーションの署名を検証させたい場合、このオプションを選択します。
    sec_response_allowed_issuer 応答発行者識別子の検証値(オプション)。例:http://www.saml-provider.com/YWJjZGVmMTIzNA
    sec_response_allowed_destination 応答送信先URLの検証値(オプション)。例:https://myhost.company.com/saml2/auth/custom
    sec_response_expiration 応答が有効で再利用可能な場合の秒単位の期間(オプション)。値を指定しない場合のデフォルト期間は300秒(5分)です。
  7. (SPが開始するSSOのみ)[Service Provider Initiated SSO (サービスプロバイダが開始するSSO)]セクションで、[Enable SP-initiated SSO (SPが開始するSSOを有効化)]を選択し、以下の必須フィールドを構成します。
  8.  表2:SPが開始するシングルサインオン(SSO)の設定
    設定 ガイドライン
    idp_sso_service_url ユーザがIdP経由でサービスにアクセスするSSOのURL。例:https://company.saml-provider.com/app/companyinc_tanium/dGFuaXVtc2FtbA/sso/saml
    idp_sso_issuer SAML応答に想定される発行者識別子。例:http://www.saml-provider.com/YWJjZGVmMTIzNA。値は、[sec_assertion_allowed_issuer]値と[sec_response_allowed_issuer]値に一致する必要があります。
    idp_sso_force_reauth 非アクティブ状態または手動のログアウトイベントによって終了した前回のTanium Consoleセッションですでに認証されている場合にも、新しいセッションを開始するユーザにサインイン資格情報の入力を求める場合は、[Enabled (有効)] を選択します。デフォルトでは、このオプションは無効で、ユーザはサインイン資格情報を入力することなく[Sign in with SSO (シングルサインオンでサインイン)] をクリックするだけで別のTanium Consoleセッションを開始することができます。
    Tanium Consoleのパスワードログインを無効化する Tanium ConsoleへのサインインですべてのユーザがSAMLシングルサインオンを使用した認証を強制的に受けるようにする場合は、このオプションを選択します。このオプションはTanium Consoleアクセスにのみ適用され、また、認証方法を介してTanium ServerのCLIまたはAPIへのアクセスを妨げません。選択を適用するには最大で3分待機する必要があります。変更を有効にした後、サインインページには[Sign In with Password (パスワードでサインイン)]オプションが表示されなくなります。

    パスワードによるサインインを無効にしていて、SAML認証が機能しなくなった場合(IdPとの接続がダウンするなど)、ユーザはTanium Consoleにアクセスできなくなります。このような場合、ローカルまたはLDAPパスワード認証を再有効化するために、CLIを介してSPが開始するシングルサインオン(SSO)を無効化しなければなりません。 CLI経由でSPが開始するシングルサインオン(SSO)を無効化するを参照してください。

    APIレベルでパスワードによるLDAP認証を無効にするには、LDAPサーバ構成で [認証] オプションを無効にします。

  9. [Save (保存)] をクリックして変更を適用し、Tanium Server SPサービスを開始します。

    SAMLシングルサインオンを使用したTanium Consoleへのサインイン手順については、「コンソールにサインインする」を参照してください。

要求署名証明書を生成する

一部IdPでは、Tanium ServerなどのSPからのSAML要求にデジタル署名が必要です。IdPが要求を認証できるようにするには、要求署名証明書と秘密キーを生成する必要があります。Tanium Serverはそのキーを使用して要求に署名し、IdPはその証明書を使用して署名を検証します。

Tanium Appliance展開環境で要求署名証明書を生成する

Taniumサポートに問い合わせる

Windows展開環境で要求署名証明書を生成する

  1. Tanium Server CLIにアクセスします。必要に応じて、アクセス権限を昇格して管理者ユーザとしてコマンドプロンプトを開きます。


  2. Tanium Serverのインストールフォルダに移動します。
  3. 次のコマンドを実行して、証明書と秘密キーを生成します。<hostname>に対しては、Tanium ServerのFQDNを指定します。アクティブ/アクティブ展開環境では、ホスト名をコンマで区切ります(ts1.example.com,ts2.example.comなど)。サーバがSAML通信で使用する証明書とキーファイル名として SAMLEncryptionを指定する必要があります。証明書とキーファイル名には、それぞれサフィックス.crt.keyが自動的に付加されます。

    KeyUtility selfsign <hostname> SAMLEncryption

    証明書とキーは、Tanium Serverのインストールフォルダの最上位の階層に生成されます。このファイルがある限り、Tanium Serverは証明書とキーを使用して自動的にSAML通信を保護します。

    Tanium ServerでSAMLEncryptionCertPathSAMLEncryptionKeyPath設定を追加することで、証明書とキーに別のファイル名、別の場所を設定することもできます。詳細は、Taniumサポートに問い合わせるを参照してください。

  4. 証明書をIdPに提供します。IdPで証明書を使用できるよう設定する際は、IdP管理者と協力してください。

CLI経由でSPが開始するシングルサインオン(SSO)を無効化する

Tanium ConsoleにアクセスせずにSPが開始するSSOを無効にする必要がある場合は、CLI経由でグローバルに[console_saml_sp_enabled]を設定できます。

Tanium Appliance展開環境でシングルサインオンを無効にする

Tanium Appliance展開環境でシングルサインオンを無効にする手順については、Taniumサポートに問い合わせる

Windows展開環境でシングルサインオンを無効にする

  1. Tanium Server CLIにアクセスします。必要に応じて、アクセス権限を昇格して管理者ユーザとしてコマンドプロンプトを開きます。


  2. Tanium Serverのインストールフォルダに移動します。
  3. 次のコマンドを実行します。

    TaniumReceiver global-settings set console_saml_sp_enabled 0

    変更が適用されるのを1分ほど待つか、Tanium Serverを再開して変更を直ちに適用します。WindowsサービスプログラムでTanium Serverサービスを見つけることができます。

Tanium ServerのSAML SP サービスをオフにする

Tanium ServerのSAML SPとしての機能を停止する必要がある場合は、IdPの設定を削除することによってSPサービスを停止できます。

  1. メインメニューから [Administration (運用管理)] > [Configuration (構成)] >[Authentication (認証)] > [SAML] に移動します。
  2. [Choose an IdP (IdPを選択)] をNo Provider (プロバイダなし)に設定して、[Save (保存)] をクリックします。