在 SharePoint Server 中規劃 Business Connectivity Services 解決方案

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

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服務和使用者所在網路的關聯位置。 若要協助您瞭解這一點,請繪製網路上三個元件的圖表,並查看它們的所在位置。 例如,您可以查看它們是否全都在您的內部網路和防火牆內。 或者,您會看到Business Connectivity服務基礎結構和外部資料源是以防火牆或界限網路分隔,而且它們位於完全不同的網路上。 以下是一些基本規則,可用來引導您的設計:

  • 如果外部資料來源在您的網路外部 (例如在網際網路上),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服務解決方案設計,您必須知道外部系統需要哪些驗證機制。 如此一來,您將知道如何設定Business Connectivity服務,讓它以外部系統所需的方式呈現驗證資訊。 Business Connectivity服務支援三種驗證模型:

  • 認證型驗證 在認證型驗證模型中,認證會從 Business Connectivity Services 傳送到外部系統。 認證包含了使用者名稱與某種特定形式的密碼。 Business Connectivity Services 有多種方法可以達成此目的,包括傳送認證給登入的使用者、傳送發出要求之服務的認證,或是將登入使用者的認證對應到外部系統所認可的其他認證集合。

  • 宣告式驗證在某些驗證案例中,外部系統不會直接接受來自 Business Connectivity Services 的認證。 不過,外部系統會從它信任的協力廠商驗證服務接受它們。 協力廠商驗證服務 (安全性權杖提供者) 接受資訊群組, (稱為有關要求者的判斷提示) 。 整個群組稱為宣告,而宣告可以包含要求者的詳細資訊,而不只是使用者名稱和密碼。 例如,宣告可以包含要求者的相關中繼資料,例如要求者的電子郵件地址或要求者所屬的安全性群組。 協力廠商驗證服務會根據宣告中的判斷提示來執行要求者的驗證,並建立要使用之要求者的安全性權杖。 要求者 (Business Connectivity服務) 接著將安全性權杖呈現給外部系統,而外部系統會查看要求者已獲授權存取的資料。

  • 自訂驗證 您使用的外部系統若不支援認證型或宣告式驗證,您便須開發、測試及施行自訂解決方案,使之可以接受 Business Connectivity Services 所產生的認證,並將其轉譯成外部系統所能接受的格式。 由內部部署中之 OAuth 或自訂 ASP.NET HTTP 模型維護安全性的 OData 資料來源,可以施行自訂驗證解決方案。

資料如何使用?

在收集各種需求的同時,您也必須了解貴公司專案關係人期望解決方案有哪些功能,以及使用者與解決方案的互動方式。 使用者可能需要透過外部清單,以及外部網頁元件和 Office 應用程式,與 SharePoint Server 中的資料互動。 或者,他們可能需要解決方案,才能透過 Office 應用程式和 SharePoint 應用程式呈現資料。 如需 Office 和 SharePoint 應用程式的詳細資訊, 請參閱 (OLD) SharePoint 2016 應用程式概觀。 解決方案也可能需要其他瀏覽器、用戶端或應用程式對於外部資料的權限組合。

使用者存取資料的方式會影響您如何限定 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服務解決方案需要連線到外部系統時,它會使用連線設定物件中的資訊。 當外部內容類型開發人員不知道或無法存取外部內容類型時,您通常會選擇與外部內容類型分開定義連線資訊。 應用程式範圍的外部內容類型和服務範圍的外部內容類型都可以使用連線設定物件。 多個Business Connectivity服務解決方案可以使用連線設定物件。 每個解決方案都必須被授與使用連線設定物件的許可權。

如何指派權限給解決方案?

每項 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服務端的使用者群組對應至外部系統端的單一帳戶,並使用單一外部系統帳戶來限制存取。 另一種方式是在每個系統上的個別帳戶之間執行 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服務如何與外部資料源互動。

表格:方法的權限對應

若要允許使用者或群組... 提供下列許可權... 開啟 ...
編輯方法 編輯 方法
設定方法的權限 SetPermissions 方法

方法實例 方法實例描述特定方法如何使用一組特定的預設值來使用方法。

表格:方法執行個體的權限對應

若要允許使用者或群組... 提供下列許可權... 開啟...
編輯方法執行個體 編輯 方法執行個體
執行方法執行個體 執行 方法執行個體
設定方法執行個體的權限 SetPermissions 方法執行個體
  • 開發環境 當您開發 Business Connectivity Services 解決方案 (包括外部內容類型) 以及任何 SharePoint 應用程式 和連線設定物件時,最好使用與實際執行環境不同的開發環境。 在開發環境中,您可以將更高層級的權限授與開發人員,而這些權限與在實際執行環境中授與的權限不同。

  • 使用者環境 所有外部資料的存取都必須透過外部清單、外部資料欄、商務資料網頁組件、SharePoint 應用程式或 Office。 對於 SharePoint 應用程式,您可以選擇由 Office 與 SharePoint 相關應用程式來施行權限。 在此情況下,若使用者可以存取 Office 與 SharePoint 相關應用程式,便可以存取 Office 與 SharePoint 相關應用程式中呈現的所有外部資料。 您必須與網站集合管理員合作,共同規劃及實作解決方案中外部資料的權限。

另請參閱

概念

SharePoint Server 中的 Business Connectivity Services 概觀