Business Connectivity Services 的身分識別委派 (SharePoint Server 2010)
適用版本: SharePoint Server 2010
上次修改主題的時間: 2016-11-30
在此案例中,您要設定 Business Data Connectivity Service 應用程式來使用 Kerberos 限制委派,以向 SQL Server 驗證。設定好之後,您要建立新的外部內容類型及外部清單,以測試 SharePoint 網站中的驗證和讀取作業。
在此案例中,SharePoint 伺服器陣列和 BCS 資料來源都在相同的網域中。因此,我們設定 Kerberos 限制委派,以允許身分識別委派給後端資料來源。如果您需要以相同樹系內其他網域中的資料來源來驗證,則必須設定基本 (未設限) Kerberos 委派。請記得,BCS 不使用 C2WTS,因此您可以使用基本委派。
注意
如果您是安裝在 Windows Server 2008,則可能必須安裝下列 Hotfix 以進行 Kerberos 驗證:
在執行 Windows Server 2008 或 Windows Vista 的電腦上使用 AES 演算法的情況下,Kerberos 驗證失敗,並產生錯誤碼 0X80090302 或 0x8009030f (https://support.microsoft.com/kb/969083/zh-tw)
案例相依性
若要完成此案例,您必須完成下列作業:
案例 1:核心設定
設定檢查清單
設定區域 | 描述 |
---|---|
Active Directory 設定 |
建立 BCS 應用程式服務帳戶 驗證服務主要名稱 設定委派 |
SharePoint Server 設定 |
啟動 BCS 服務執行個體 建立 BCS 服務應用程式 |
驗證 |
建立 BCS 外部內容類型 設定 BCS 安全性 建立 BCS 外部清單 在瀏覽器中開啟外部清單 |
案例環境詳細資料
逐步式設定指示
Active Directory 設定
建立 BCS 應用程式服務帳戶
最好的作法就是 Business Connectivity Services 用它自己的網域身分識別來執行。若要設定 BCS 應用程式,則必須建立 Active Directory 帳戶。在此範例中,建立了下列帳戶:
SharePoint Server 服務 | IIS 應用程式集區身分識別 |
---|---|
Business Connectivity Service |
vmlab\svcBDC |
驗證服務主要名稱
當 BCS 資料用於 SharePoint 網站中時,BCS 外部內容類型會在使用 ECT 類型的 IIS 應用程式集區內容中執行。若要讓 BCS 使用 Kerberos 驗證來連接及驗證外部資料來源,IIS 應用程式集區服務帳戶,以及外部資料來源的服務帳戶,都必須設定服務主要名稱。請參閱本文件中的案例 1 和 2,以設定及驗證 Web 應用程式和 SQL Server 服務帳戶的必要 SPN。
設定委派
若要讓 BCS 委派用戶端的身分識別,則必須設定 Kerberos 委派。雖然在技術上,限制委派不像 Excel Services 是必要的,但是未設限委派可用於 BCS,這是限制可讓服務執行之委派範圍的最佳作法,因此,才會在此範例中設定限制委派。
用來管理執行 ECT 之網站的每個 IIS 應用程式集區服務帳戶,都必須設定為可委派給後端服務。
在我們的範例中,需要下列委派路徑:
主要類型 | 主要名稱 | 委派給服務 |
---|---|---|
使用者 |
svcPortal10App |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
使用者 |
svcTeams10App |
MSSQLSVC/MySqlCluster.vmlab.local:1433 |
設定限制委派
在 [Active Directory 使用者和電腦] 中,開啟 Active Directory 物件的屬性。
導覽至 [委派] 索引標籤。
SP2010 Kerberos Guide228.gif
選取 [信任這個使用者,但只委派指定的服務]。
注意
如果您需要 BCS 驗證位在相同樹系中,但在 SharePoint Server 所在網域外的資料來源,您就會想要選取 [信任這台電腦,可委派任何服務],以設定基本委派來代替限制委派。BCS 外部內容類型將會在 Web 應用程式的 IIS 工作者處理序中執行,而且不使用 C2WTS。請記得跨樹系 Kerberos 委派是不可能的。
按一下 [新增] 按鈕,選取可委派的服務主要名稱。
選取 [使用者及電腦]。
選取執行想要委派服務的服務帳戶。在此範例中,為 SQL Server 服務的服務帳戶。
注意
所選取的服務帳戶必須已套用 SPN。在範例中,此帳戶的 SPN 已設定於前一個案例中。
按一下 [確定]。
選取您要委派的 SPN,然後按一下 [確定]。
選取 SQL Server 叢集的服務,再按一下 [確定]。
您現在應該會在 [這個帳戶可以呈送委派認證的服務] 清單中看到選取的 SPN。
針對本節中先前識別的每個委派路徑,重複這些步驟。
確認在 SQL Server 上執行此服務之服務帳戶的 MSSQLSVC SPN (在案例 2 中執行)
使用下列 SetSPN 命令,確認 Analysis Services 服務帳戶 (vmlab\svcSQL) 的 SPN 是否存在:
SetSPN -L vmlab\svcSQL
您應該會看到下列項目:
MSSQLSVC/MySqlCluster
MSSQLSVC/MySqlCluster.vmlab.local:1433
SharePoint Server 設定
啟動 BCS 服務執行個體
在建立 BCS 服務應用程式之前,請在所指定的伺服器陣列伺服器上啟動 BCS 服務。
開啟管理中心。
在服務下,選取 [管理伺服器上的服務]。
在右上角的 [伺服器選擇] 方塊中,選取執行 Excel Services 的伺服器。在此範例中,其為 VMSP10APP01。
啟動 [Business Data Connectivity Service] 服務。
建立 BCS 服務應用程式
接著,設定新的 BDC 服務應用程式和應用程式 Proxy,讓 Web 應用程式可以使用 BDC 服務:
開啟管理中心。
選取 [應用程式管理] 下的 [管理服務應用程式]。
選取 [新增],再選取 [Business Data Connectivity Service]。
設定新的服務應用程式。請務必選取正確的服務帳戶 (如果 BDC 服務帳戶不在清單中,請建立新的受管理帳戶)。
驗證
建立 BCS 外部內容類型
若要透過 BDC 存取外部資料,則必須建立 BDC 外部內容類型。在此範例中,我們使用 SharePoint Designer 2010,在入口網站 Web 應用程式 (http://portal) 中建立外部內容類型:
開啟 SharePoint Designer 2010。
在 http://portal 開啟測試網站集合。
在左手邊的導覽中,按一下 [外部內容類型]。
在頁面左上角功能區的 [新增] 區段中,選取 [外部內容類型]。
提供外部內容類型的顯示名稱。
然後選取 [按一下此處可探索外部資料來源,並定義作業]。
按一下 [新增連線]。
從 [資料來源類型] 下拉式清單中選取 [SQL Server],並新增資訊,以連線至測試資料庫。請務必選取 [以使用者的身分識別連線],以測試委派。
展開新連線。以滑鼠右鍵按一下測試表格 ([銷售]),並選取 [建立所有作業]。
您應該會看到一個說明未定義唯一識別碼的錯誤。請選取識別碼欄,並選取 [對應至識別碼] 核取方塊。按一下 [完成],以接受預設選項,並建立 ECT 作業。
按一下 [儲存] (CTRL+S)。這樣會將 ECT 發佈至 BDC 服務應用程式中繼資料儲存區。
設定 BCS 安全性
必須先設定 Web 應用程式 BCS 權限,用戶端才能在入口網站中使用 BCS 外部內容類型。BCS 支援細微權限模型,但是針對此示範的目的,我們將會在中繼資料儲存區層級設定安全性,並將安全性變更傳播至儲存區中的所有物件。
開啟管理中心。
選取 [應用程式管理] 下的 [管理服務應用程式]。
按一下新服務應用程式的連結 (在此範例中為 [Business Data Services])。
選取 [設定中繼資料儲存區權限]。
在我們的範例中,我們設定 Enterprise Admins 擁有所有權限,而「所有已驗證的使用者」擁有 [設定權限] 以外的所有權限。
確定已選取 [傳播權限] 核取方塊,再按一下 [確定] 以儲存變更。
建立 BCS 外部清單
為了測試外部內容類型,我們會在入口網站應用程式中設定外部清單,以顯示外部資料:
開啟 SharePoint Designer 2010。
在 http://portal 開啟測試網站集合。
選取左邊的 [外部內容類型]。
按一下您稍早所建立的內容類型。
在功能區中,按一下 [建立清單與表單]。
如果有提示您儲存外部內容類型,請按一下 [是]。
在 [建立清單與表單] 對話方塊上的 [清單名稱] 文字方塊中,輸入清單名稱,然後按一下 [確定]。
在瀏覽器中開啟外部清單
開啟 SharePoint Designer 2010。
在 http://portal 開啟測試網站集合。
在左邊的導覽中,按一下 [清單和文件庫]。
在 [清單和文件庫] 清單底端選取外部清單。
按一下 [在瀏覽器中預覽] 按鈕。
Internet Explorer 會開啟並顯示所選取的網站和外部清單。
驗證外部資料顯示正確。若要進一步驗證連線,請在 SQL Server Management Studio 中變更來源資料,再重新整理瀏覽器頁面。您應該會看到資料變更反映在瀏覽器中。