在 SharePoint Server 中規劃 Business Connectivity Services 解決方案
**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016
**上次修改主題的時間:**2017-07-27
**摘要:**在 SharePoint Server 2016 或 SharePoint Server 2013 中建立 Microsoft Business Connectivity Services 解決方案的計劃。
Microsoft Business Connectivity Services 解決方案將外部資料深入整合到 SharePoint Server 和 Office。每個 Business Connectivity Services 解決方案都是使用 Visual Studio 量身打造。沒有您可以使用的現成 Business Connectivity Services 設定或範本。
本文列出五個問題,請先回答問題,然後再開始設計 Business Connectivity Services 解決方案。請務必將所有收集到的資訊傳達給專案的主要關係人進行審核及核准。這項動作有助於確保所有參與人員都了解專案的需求與解決方案未來的運作方式。
本文內容:
資料位於何處?
資料要如何呈現?
如何維謢資料的安全?
資料如何使用?
如何指派權限給解決方案?
資料位於何處?
規劃 Business Connectivity Services 解決方案的第一步,是先知道您所需要的外部資料位於何處。您必須從三個角度確認這項資訊。
您必須知道誰會負責每日的外部資料來源管理工作。之後您將協同這個小組一起設定外部資料的連線。這些人員可以向您說明資料提供外部使用的方式,以及維護外部資料安全的方法等等。您可能會需要他們協助建立外部系統的認證供您使用。除此之外,您也必須要有萬全的準備,以回答您的 Business Connectivity Services 解決方案對其資料與外部系統所造成之影響的各項問題。
網路考量
您也必須考慮外部資料來源與 Business Connectivity Services 和您使用者所在網路的相對位置。您可以利用繪圖顯示網路上的三個元件,然後確認它們的位置。例如確認這三個元件是否都位於內部網路及防火牆內;或是 Business Connectivity Services 基礎結構與外部資料來源之間是否隔有防火牆或周邊網路,以及兩者是否位於完全不同的網路上。您可以利用下列基本規則做為設計的準則:
如果外部資料來源在您的網路外部 (例如在網際網路上),Business Connectivity Services 必須透過您的公司防火牆與外部資料來源進行通訊,而且您必須規劃該流量。
了解使用者會從何處存取 Business Connectivity Services 解決方案。您還必須確認用戶端與 Business Connectivity Services 解決方案之間的資料通訊是否需要加密、基準網路基礎結構是否能支援額外的負載,以及瀏覽器與 Office 用戶端是否支援解決方案所提供的功能。
資料要如何呈現?
Business Connectivity Services 解決方案可以經由 OData、SQL Server、Windows Communication Foundation (WCF) 服務及 .NET 組件連接到外部資料來源。您必須知道如何呈現資料供外部使用 (您可以向外部系統管理員洽詢這方面的資訊)。外部資料的呈現方式決定了建立外部內容類型時所要使用的開發工具。下表列出外部資料來源所適用的工具。
如何維謢資料的安全?
Business Connectivity Services 會處理其本身與外部系統之間所有的通訊驗證。Business Connectivity Services 會對外部系統顯示允許外部系統驗證 (判別您是否確為您所表示的身分) 要求後再授與外部系統資料存取權的資訊。Business Connectivity Services 支援多種驗證類型。
設定 Business Connectivity Services 解決方案時,您必須了解外部系統要求何種驗證機制,以將 Business Connectivity Services 設定為可以外部系統所要求的方式出示驗證資訊。Business Connectivity Services 支援下列三種驗證模型:
認證型驗證 在認證型驗證模型中,認證會從 Business Connectivity Services 傳送到外部系統。認證包含了使用者名稱與某種特定形式的密碼。Business Connectivity Services 有多種方法可以達成此目的,包括傳送認證給登入的使用者、傳送發出要求之服務的認證,或是將登入使用者的認證對應到外部系統所認可的其他認證集合。
宣告式驗證 在某些驗證情況下,外部系統不會接受直接從 Business Connectivity Services 而來的認證,但會接受其所信任之第三方驗證服務核發的認證。第三方驗證服務 (安全性 Token 提供者) 接受一組有關於要求者的資訊 (稱為主張)。這整組資訊稱為宣告;宣告可以包含較使用者名稱與密碼之外更多有關於要求者的資訊。例如宣告可以包含要求者的中繼資料,例如要求者的電子郵件地址或要求者所屬的安全性群組。第三方驗證服務根據宣告中的主張驗證要求者,並建立安全性 Token 供要求者使用。要求者 (Business Connectivity Services) 接著向外部系統出示安全性 Token,然後外部系統再確認要求者有權存取哪些資料。
自訂驗證 您使用的外部系統若不支援認證型或宣告式驗證,您便須開發、測試及施行自訂解決方案,使之可以接受 Business Connectivity Services 所產生的認證,並將其轉譯成外部系統所能接受的格式。由內部部署中之 OAuth 或自訂 ASP.NET HTTP 模型維護安全性的 OData 資料來源,可以施行自訂驗證解決方案。
資料如何使用?
在收集各種需求的同時,您也必須了解貴公司專案關係人期望解決方案有哪些功能,以及使用者與解決方案的互動方式。他們可能會希望使用者能透過外部清單、外部網頁組件,以及能在 Office 2016 用戶端中,與 SharePoint Server 互動。另外他們也可能會希望解決方案能夠在 SharePoint Online 的 Office 與 SharePoint 相關應用程式 或內部部署的 SharePoint Server 中安裝呈現資料。如需 Office 與 SharePoint 相關應用程式 的詳細資訊,請參閱<SharePoint 2013 應用程式概觀>。解決方案也可能需要其他瀏覽器、用戶端或應用程式對於外部資料的權限組合。
使用者存取資料的方式會影響您如何限定 Business Connectivity Services 用來存取外部資料的外部內容類型。如果您的 Business Connectivity Services 解決方案需要 Office 與 SharePoint 相關應用程式 應用程式,則外部內容類型必須限定為該應用程式。如果您的 Business Connectivity Services 解決方案將不使用 Office 與 SharePoint 相關應用程式 來存取外部資料,則外部內容類型必須限定為 Business Data Connectivity Service 應用程式。
範圍限定在 Business Connectivity Services 的外部內容類型會集中儲存在 BDC 中繼資料存放區中,而伺服器陣列管理員會管理其安全性。您可以與多個 Business Connectivity Services Web 應用程式共用這些外部內容類型。
範圍限定在 Office 與 SharePoint 相關應用程式 的外部內容類型會儲存為 Office 與 SharePoint 相關應用程式 應用程式本身的 XML 檔案。任何其他 Office 與 SharePoint 相關應用程式 應用程式都無法使用這些外部內容類型。
連線設定物件只可與 OData 資料來源搭配使用。它們包含連線資訊,例如呈現外部資料之服務的服務位址、所要使用的驗證類型、網際網路對應 URL,以及任何所需憑證的名稱。連線設定物件是不同於外部內容類型的物件。當 Business Connectivity Services 解決方案需要連線到外部系統時,即會使用連線設定物件中的資訊。當外部內容類型開發人員在開發外部內容類型時不知道或無法存取必要的連線資訊時,一般會選擇個別定義連線資訊與外部內容類型。範圍限定在應用程式與限定在服務的外部內容類型,都可以使用連線設定物件。多個解決方案可以使用連線設定物件。連線設定物件可供多個 Business Connectivity Services 解決方案使用。所有解決方案都必須獲授與使用連線設定物件的權限。
如何指派權限給解決方案?
每項 Business Connectivity Services 解決方案都必須針對不同的物件規劃不同使用者的存取權限。這是限制及授與使用者存取權最恰當的方式。您必須與外部系統管理員以及 SharePoint Server 伺服器陣列管理員、網站集合管理員和網站管理員合作設定權限。規劃至少應考慮下列事項。
每項 Business Connectivity Services 解決方案都應具備三個基本角色:
管理角色 這類角色負責管理外部系統的權限、建立及管理 Business Data Connectivity Service 應用程式、將 Business Data Connectivity (BDC) 模型匯入 BDC 中繼資料存放區,以及管理 BDC 中繼資料存放區與其中所有物件的權限。SharePoint 應用程式 如有使用 Business Connectivity Services,則 SharePoint Server 伺服器陣列管理員也必須負責發佈應用程式及建立和管理連線物件。一般來說,這些工作會由擔任 SharePoint Server 伺服器陣列管理員、外部系統管理員的人員,以及獲委派這些管理權限的人員負責執行。
開發人員或設計人員角色 這些角色負責建立外部內容類型、BDC 模型,以及使用 Business Connectivity Services 的 SharePoint 應用程式。這些人員的主要工作在負責了解解決方案的所有商務需求。
使用者角色 這類角色的人員會使用及操作 Business Connectivity Services 解決方案中的外部資料。解決方案中可有多種使用者角色,每一種各有不同的權限等級。例如,在使用 Business Connectivity Services 將外部資訊整合到解決方案中的票證系統中,第一層服務台技術人員可授與其讀取與啟動票證工作流程的能力,第二層及第三層的技術人員則可授與其更新票證的能力。
您要管理權限的 Business Connectivity Services 解決方案分為四大部分:
外部系統 每個外部系統各有其執行驗證及授權的方法 (如需詳細資訊,請參閱本文前面的<如何維謢資料的安全?>)。您必須與外部系統管理員合作,以「最低權限」準則,制定出對解決方案使用者授與存取權的方法。常見的作法會將 Business Connectivity Services 端的一群使用者對應到外部系統端的單一帳戶,再藉由這單一外部系統帳戶限制存取權。另一種作法是 1:1 地對應每個系統上的各個帳戶。無論何種作法,除非外部系統可以直接接受使用者出示給 SharePoint Server 進行驗證的認證,否則都必須使用 Secure Store Service。如需 Business Connectivity Services 所支援之驗證模型的深入資訊,請參閱<Business Connectivity Services 安全性概觀 (SharePoint 2010)>。
Business Connectivity Services 中央基礎結構 在 管理中心 中,您可以管理如何將權限指派給 BDC 中繼資料存放區。在 BDC 中繼資料存放區中,您可以管理 BDC 模型、外部系統和外部內容類型。您必須將外部內容類型的執行權限指派給將使用 Business Connectivity Services 解決方案的所有使用者。下列各表提供能力、權限和物件的詳細對應。
BDC 中繼資料存放區 此 SQL Server 資料庫可以儲存模型定義、外部內容類型及外部系統定義。
表格:BDC 中繼資料存放區的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 藉由傳播的方式設定 BDC 中繼資料存區所含物件的權限
SetPermissions
BDC 中繼資料存放區
模型 模型是包含一或多個外部內容類型說明、相關外部系統與環境特有資訊 (例如驗證屬性) 的 XML 檔案。
表格:模型的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 建立新模型
編輯
BDC 中繼資料存放區
編輯模型
編輯
模型
設定模型的權限
SetPermissions
模型
匯入模型
編輯
BDC 中繼資料存放區
匯出模型
編輯
模型與模型中的所有外部系統
BDC 中繼資料存放區中的外部系統 外部系統是支援之資料來源的中繼資料定義,可以用為模型,例如資料庫、Web 服務或 .NET 連線組件。
表格:BDC 中繼資料存放區中之外部系統的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 建立新的外部系統
編輯
BDC 中繼資料存放區
編輯外部系統
編輯
外部系統物件
設定外部系統的權限
SetPermissions
外部系統物件
外部內容類型 外部內容類型是可以重複使用的中繼資料集合,可定義來自一或多個外部系統的一組資料,可對資料執行的作業,以及該資料相關的連線資訊。
表格:外部內容類型的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 建立新的外部內容類型
編輯
外部系統
對外部內容類型執行作業
執行
外部內容類型 (作業的方法執行個體)
建立外部內容類型的清單
可從用戶端選取
外部內容類型
設定外部內容類型的權限
SetPermissions
外部內容類型
方法 Business Data Connectivity 方法是 XML 定義,說明 Business Connectivity Services 與外部資料來源的互動方式。
表格:方法的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 編輯方法
編輯
方法
設定方法的權限
SetPermissions
方法
方法執行個體 方法執行個體會針對特定的方法說明如何使用相關的預設值集合來使用方法。
表格:方法執行個體的權限對應
若要允許使用者或群組… 請授與下列權限… 權限對象… 編輯方法執行個體
編輯
方法執行個體
執行方法執行個體
執行
方法執行個體
設定方法執行個體的權限
SetPermissions
方法執行個體
開發環境 當您開發 Business Connectivity Services 解決方案 (包括外部內容類型) 以及任何 SharePoint 應用程式 和連線設定物件時,最好使用與實際執行環境不同的開發環境。在開發環境中,您可以將更高層級的權限授與開發人員,而這些權限與在實際執行環境中授與的權限不同。
使用者環境 所有外部資料的存取都必須透過外部清單、外部資料欄、商務資料網頁組件、SharePoint 應用程式或 Office。對於 SharePoint 應用程式,您可以選擇由 Office 與 SharePoint 相關應用程式來施行權限。在此情況下,若使用者可以存取 Office 與 SharePoint 相關應用程式,便可以存取 Office 與 SharePoint 相關應用程式中呈現的所有外部資料。您必須與網站集合管理員合作,共同規劃及實作解決方案中外部資料的權限。