ファームに関する補足
このトピックでは、フェデレーションサーバーファーム環境にOkta Active Directory Federation Services(ADFS)アダプターをインストールする方法について説明します。
背景
インストーラーは、各ノード上の構成ファイルにクライアントシークレットを保護された文字列として保存します。この保護された文字列は、マシン固有のキーを使用して生成されます。
ADFSがサーバーファームで使用されると、構成ファイルはファームメンバーサーバー全体で複製されます。
プロセスの概要
- ADFSファームのサーバーにアダプターをインストールする場合、ファーム内のプライマリノードを識別します。
- ファーム内のすべてのノードにADFSアダプターをインストールします。インストール中はプラグインを登録しないでください。「ADFSサーバーにOkta ADFSプラグインをインストールする」を参照してください。
- clientSecret値をファーム内のノードすべての値を含む配列に結合して、ファーム構成ファイルを作成します。
- プライマリファームノード上にADFS認証プロバイダーを手動で登録します。
ADFSアダプターをインストールする
- ADFSファーム内のノードすべてにプラグインをインストールしますが、ADFSを使用してプラグインを登録しないでください。インストールのOkta ADFSアダプターを登録する手順で、[Register Okta ADFS Adapter(Okta ADFSアダプターを登録する)]チェックボックスをオフにします。
- ファームのプライマリノードで、テキストエディターを使用して次のファイルを開きます。
C:\Users\<adfs_service_account_name>\AppData\Local\Okta\Okta MFA Provider\config\okta_adfs_adapter.json
- ファイルの内容を新しいファイル(例:okta_adfs_farm.json)にコピーします。
-
変更された構成ファイルの値を結合します。ファーム内の各ノードからプラグイン構成ファイルを開き、clientSecret値をコピーします。
okta_adfs_farm.jsonファイルのclientSecret値は、保護された文字列のJSON配列である必要があります。
- 任意。JSONLintツールを使用してJSONファイルを検証します。
- プライマリノード上に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
-
構成データベースの内容を更新するには、すべてのノードでADFSサービスを再起動します。