ESSO 認證提供者 啟動應用程式

配置 ESSO 認證提供者 ,以便在 AccessAgent 畫面中按一下鏈結來啟動應用程式。

使用此功能來開啟:
  • AccessAssistant 與 Web 瀏覽器,用來完成自助式密碼重設。
  • 供應商應用程式,用來完成自助式密碼重設或登錄。
  • 應用程式,供公用存取,而無需登入 Windows。
若要啟用此功能,請遵循下列步驟:
  1. 登入 AccessAdmin。
  2. 機器原則範本之下,選取新建範本 > AccessAgent 原則 > ESSO 認證原則
  3. 請完成下列欄位:
    選項 說明
    啟用從 ESSO 認證提供者 啟動應用程式 設為 1(是)。
    啟動應用程式的顯示標籤 將文字設為應用程式啟動鏈結的標籤,它顯示在 ESSO 認證提供者 的畫面中。

    例如,自助式密碼重設

    啟動應用程式的指令行 設定啟動應用程式的指令行。

    例如,C:\Program Files\Internet Explorer\iexplore.exe

  4. 按一下新增
註: 如果應用程式是從 Microsoft Windows 7 及更新版本的歡迎使用畫面或已鎖定螢幕啟動,則應用程式的程序擁有者也是系統
從 Microsoft Internet Explorer 以 kiosk 模式使用下列指令行來啟動 AccessAssistant"C:\Program Files\Internet Explorer\iexplore.exe" -k https://<IMS Server Name>/aawwp/app/reset_password_front_page.jsp
註: 若要使用 AccessAssistant 自助式密碼重設且存在下列條件,您必須安裝 Tivoli Identity Manager Active Directory Adapter:
  • 已啟用 Active Directory 密碼同步化
  • 在企業目錄連線配置中未啟用 SSL
這種啟動應用程式的方法具有下列安全問題:
  • 使用者可以存取及修改檔案。

    例如,針對 Microsoft Internet Explorer,使用者可以在圖形上按一下滑鼠右鍵並選取將圖形另存為。 即會顯示檔案瀏覽器對話框。

  • 使用者可以使用並非針對使用者提供的功能。

    例如,就 Microsoft Internet Explorer 而言,使用者可以按 Ctrl+O 以開啟任何檔案,或按 Ctrl+N 以開啟新的瀏覽器視窗。

解決安全問題的暫行解決方法是建立具有限制權限的來賓帳戶。 應用程式是在來賓帳戶的環境定義中啟動。 請使用 Windows runas 指令在使用者環境定義中啟動應用程式。

但是,您必須使用 Script 來模擬按鍵,因為 runas 需要使用者輸入密碼。

例如,VBScript 可以啟動應用程式。 請考量將 VBScript 儲存在電腦上作為 C:\launch_ie_as_guest.vbs

該 Script 也會為來賓帳戶設定適當的 Microsoft Internet Explorer 功能限制。 然後,機器原則 pid_engina_app_launch_cmd 會設為 cscript C:\launch_ie_as_guest.vbs

提示: 如需相關詳細資料,請參閱《IBM® Security Access Manager for Enterprise Single Sign-On 原則定義手冊》。

請參閱下列 launch_ie_as_guest.vbs

On Error Resume Next  

userName = "Guest"  

userDomain = "EXAMPLE"  

userPasswd = "password"  

appRunasCmd = "C:\Program Files\Internet Explorer\iexplore.exe -k 
https://<IMS Server Name>/aawwp/app/reset_password_front_page.jsp"  

appCmd = """C:\Program Files\Internet Explorer\iexplore.exe"" -k 
https://<IMS Server Name>/aawwp/app/reset_password_front_page.jsp"  

Set WshShell = CreateObject("WScript.Shell")  

Set WshNetwork = WScript.CreateObject("WScript.Network")

currUser = WshNetwork.UserName

If currUser = "SYSTEM" Then

' Launched from EnGINA welcome screen as System context

' Optional: Set Internet Explorer restrictions for System user

regKey = "HKEY_USERS\S-1-5-18\SOFTWARE\Policies\Microsoft\Internet Explorer
\Restrictions\"

WshShell.RegWrite regKey & "NoBrowserClose", 0, "REG_DWORD" 'Allow user to 
close browser

WshShell.RegWrite regKey & "NoBrowserContextMenu", 1, "REG_DWORD" 'Disable 
right-click menu

WshShell.RegWrite regKey & "NoFileOpen", 1, "REG_DWORD" 'Disable Ctrl-O to 
open file

WshShell.RegWrite regKey & "NoOpenInNewWnd", 1, "REG_DWORD" 'Disable Ctrl-N 
to open new 
browser

' Launch application in System context as there is no user desktop

result = WshShell.Run(appCmd, 1, False)

Else

' Launched from EnGINA lock screen as user context

' Launch application using runas

Set WshEnv = WshShell.Environment("Process")

runasPath = WshEnv("SystemRoot")&"\System32\runas.exe"

result = WshShell.Run("runas /user:" & userDomain & "\" & userName & " " & 
Chr(34) & appRunasCmd & Chr(34), 2, False)

WScript.Sleep 30 'Wait for cmd window to show up

WshShell.AppActivate(runasPath)

WshShell.SendKeys userPasswd & vbCrLf

' Optional: Set Internet Explorer restrictions

WScript.Sleep 1000 'Wait until user context loaded

Set wmiService = GetObject("winmgmts:{impersonationLevel=Impersonate}")

Set wmiUserAccount = wmiService.Get("Win32_UserAccount.Name='"& userName &"',
Domain='" & userDomain & "'")

userSid = wmiUserAccount.SID

regKey = "HKEY_USERS\" & userSid & "\SOFTWARE\Policies\Microsoft\Internet 
Explorer\Restrictions\"

WshShell.RegWrite regKey & "NoBrowserClose", 0, "REG_DWORD" 'Allow user to 
close browser

WshShell.RegWrite regKey & "NoBrowserContextMenu", 1, "REG_DWORD" 'Disable 
right-click 
menu

WshShell.RegWrite regKey & "NoFileOpen", 1, "REG_DWORD" 'Disable Ctrl-O to 
open file

WshShell.RegWrite regKey & "NoOpenInNewWnd", 1, "REG_DWORD" 'Disable Ctrl-N 
to open new browser

End If