ファームに関する補足

このトピックでは、フェデレーションサーバーファーム環境にOkta Active Directory Federation Services(ADFS)アダプターをインストールする方法について説明します。

背景

インストーラーは、各ノード上の構成ファイルにクライアントシークレットを保護された文字列として保存します。この保護された文字列は、マシン固有のキーを使用して生成されます。

ADFSがサーバーファームで使用されると、構成ファイルはファームメンバーサーバー全体で複製されます。

プロセスの概要

  1. ADFSファームのサーバーにアダプターをインストールする場合、ファーム内のプライマリノードを識別します。
  2. ファーム内のすべてのノードにADFSアダプターをインストールします。インストール中はプラグインを登録しないでください。「ADFSサーバーにOkta ADFSプラグインをインストールする」を参照してください。
  3. clientSecret値をファーム内のノードすべての値を含む配列に結合して、ファーム構成ファイルを作成します。
  4. プライマリファームノード上にADFS認証プロバイダーを手動で登録します。

ADFSアダプターをインストールする

  1. ADFSファーム内のノードすべてにプラグインをインストールしますが、ADFSを使用してプラグインを登録しないでください。インストールのOkta ADFSアダプターを登録する手順で、[Register Okta ADFS Adapter(Okta ADFSアダプターを登録する)]チェックボックスをオフにします。
  2. ファームのプライマリノードで、テキストエディターを使用して次のファイルを開きます。

    C:\Users\<adfs_service_account_name>\AppData\Local\Okta\Okta MFA Provider\config\okta_adfs_adapter.json

  3. ファイルの内容を新しいファイル(例:okta_adfs_farm.json)にコピーします。
  4. 変更された構成ファイルの値を結合します。ファーム内の各ノードからプラグイン構成ファイルを開き、clientSecret値をコピーします。

    okta_adfs_farm.jsonファイルのclientSecret値は、保護された文字列のJSON配列である必要があります。

  5. 任意。JSONLintツールを使用してJSONファイルを検証します。
  6. プライマリノード上にADFS認証プロバイダーを手動で再登録します。このスクリプトを例として使用します。構成ファイルの場所と名前を独自のものに置換します。

    [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") # change the values if needed $BinDir = "C:\Program Files\Okta\Okta MFA Provider\bin" $ConfigDir = "C:\Program Files\Okta\Okta MFA Provider\config" # we need the service to run in order to use powershell commands Start-Service adfssrv # Remove Okta MFA Provider $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider $providers.Remove("OktaMfaAdfs") Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers # Unregister Unregister-AdfsAuthenticationProvider -Name "OktaMfaAdfs" -Confirm:$false -ErrorAction Stop # restart the ADFS service Restart-Service adfssrv -Force # register MFA adapter again $OktaMfaAssamply = [Reflection.Assembly]::Loadfile($BinDir + "\OktaMfaAdfs.dll") $typeName = "OktaMfaAdfs.AuthenticationAdapter, OktaMfaAdfs, Version=" + $OktaMfaAssamply.GetName().Version + ", Culture=neutral, PublicKeyToken=3c924b535afa849b" # change the file name if needed Register-AdfsAuthenticationProvider -TypeName $typeName -Name "OktaMfaAdfs" -Verbose -ConfigurationFilePath "$ConfigDir\okta_adfs_farm.json" # restart the service Restart-Service adfssrv -Force # Enable Okta MFA adapter $providers = (Get-AdfsGlobalAuthenticationPolicy).AdditionalAuthenticationProvider $providers.Add("OktaMfaAdfs") Set-AdfsGlobalAuthenticationPolicy -AdditionalAuthenticationProvider $providers

  7. 構成データベースの内容を更新するには、すべてのノードでADFSサービスを再起動します。