共用方式為


報表資料來源的認證與連線

報表伺服器使用認證以連接到外部資料來源,其中提供內容給報表或提供收件者資訊給資料驅動訂閱。 您可以指定認證來使用 Windows 驗證、資料庫驗證、無驗證或自訂驗證。 報表伺服器透過網路傳送連接要求時,其會模擬使用者帳戶或自動執行帳戶。 如需有關安全性內容 (連接要求會在其底下進行) 的詳細資訊,請參閱本文的<資料來源組態和網路連接>。

注意

認證也用於驗證存取報表伺服器的使用者。 如需向報表伺服器驗證使用者身分的詳細資訊,請參閱<報表伺服器中的驗證>(英文)。

當您建立報表時,會定義與外部資料來源之間的連接。 當報表發行之後,可以個別管理此報表。 您可以指定靜態連接字串或運算式,好讓使用者可以從動態清單中選取資料來源。 如需如何指定資料來源類型與連接字串的詳細資訊,請參閱<在報表產生器中建立資料連接字串>。

在報表產生器中使用的認證

在報表產生器中,當您連線到報表伺服器時通常會使用認證。 也可以用於資料相關的工作,例如建立內嵌資料來源、執行資料集查詢或預覽報表。 不會將認證儲存在報表中。 認證會在報表伺服器或本機用戶端上另行管理。 下列清單說明您可能需要提供的認證類型、認證儲存的位置,以及使用認證的方式:

  • 您在 [Reporting Services 登入] 對話方塊輸入的報表伺服器認證。

    當您初次儲存、發佈或瀏覽至報表伺服器或 SharePoint 網站時,可能需要輸入您的認證。 您輸入的認證會持續使用到報表產生器工作階段結束為止。 如果您選擇儲存認證,這些認證會在電腦上與使用者設定安全地儲存在一起。 在後續報表產生器工作階段中,儲存的認證會用來連接至相同的報表伺服器或 SharePoint 網站。 報表伺服器管理員或 SharePoint 管理員會指定要使用的認證類型。

  • 您在 [資料來源屬性] 對話方塊中針對內嵌資料來源輸入的資料來源認證。

    報表伺服器會使用這些認證建立與外部資料來源的資料連接。 針對部分類型的資料來源,其認證可以安全地儲存在報表伺服器上。 這些認證可讓其他使用者執行報表,而不需提供基礎資料連接的認證。

  • 當您執行資料集查詢、重新整理資料集欄位或預覽報表時,在 [輸入資料來源認證] 對話方塊中輸入的資料來源認證。

    這些認證會用來建立報表產生器與外部資料來源之間的資料連接,或是預覽設定為提示認證的報表。 您在此對話方塊中輸入的認證不會儲存在報表伺服器上,也無法供其他使用者使用。 報表產生器會在報表編輯工作階段中快取認證,因此您不必在每次執行查詢或預覽報表時輸入認證。

    如果是共用資料來源,請使用 [儲存我的密碼] 選項將認證與使用者設定一起儲存在本機電腦上。 報表產生器會在每次連接對應的外部資料來源時,使用儲存的認證。

如需詳細資訊,請參閱在報表產生器中預覽報表

遠端資料來源

如果報表會從遠端資料庫伺服器擷取資料,請必須確認下列項目:

  • 提供給資料庫伺服器的認證有效。 如果使用 Windows 使用者認證,請確定該使用者擁有伺服器和資料庫的權限。

  • 資料庫伺服器所使用的通訊埠是開啟的。 若要存取外部電腦上的 SQL Server 關聯式資料庫,就必須開啟外部電腦上的連接埠 1433 和 1434。 如果報表伺服器資料庫位於外部 SQL Server 執行個體上,則也必須開啟這些連接埠。 開啟這些通訊埠之後,請務必重新啟動伺服器。 如需詳細資訊,請參閱<設定用於 Database Engine 存取的 Windows 防火牆>。

  • 遠端連接必須已啟用。 如果您要存取外部電腦上的 SQL Server 關聯式資料庫,可以使用 SQL Server 組態管理員工具,確認透過 傳輸控制通訊協定 (TCP) 進行遠端連線的功能是否已啟用。

指定連線至遠端資料來源用的認證

提供內容給報表的資料來源在遠端伺服器託管。 若要擷取報表的資料,報表伺服器必須利用事先提供或在執行階段取得的一組認證來連接到伺服器。 設定資料來源時,您可以採用下列方式來指定認證:

  • 提示使用者提供認證。
  • 儲存認證。
  • 使用 Windows 整合式安全性。
  • 不使用認證。

網路環境決定您可以支援的連接類型。 例如,如果 Kerberos 第 5 版通訊協定已啟用,您可以使用 Windows 驗證中提供的委派和模擬功能來支援跨多部伺服器的連接。 如果網路不支援這些安全性功能,您就必須解決連線限制。 如果委派和模擬尚未啟用,您可以在 Windows 認證過期之前,透過單一電腦連接傳遞這些認證。 用戶端電腦與報表伺服器電腦的使用者連接會當成第一個連接。 如果使用者開啟從遠端伺服器擷取資料的報表,該登入算第二個連線。 如果指定將整合式安全性與停用委派搭配使用,連線就會失敗。

如果需要多個連接來完成從用戶端電腦至外部報表資料來源的往返,請從下列策略中選擇,讓連接能夠成功。

  • 在網域中啟用模擬和委派功能,使認證能夠無限制地委派給其他電腦。

  • 使用預存認證或提示認證,即可查詢報表資料的外部資料來源。 認證可以是 Windows 網域帳戶或資料庫登入。

提示認證

當您將報表資料來源連接設定為使用提示認證時,存取此報表的每位使用者都必須輸入使用者名稱和密碼,才能擷取資料。 此方法建議用於包含機密資料的報表。 提示認證只能用於視需要執行的報表上。 提示認證可以是 Windows 帳戶或資料庫登入。 若要使用 Windows 驗證,必須選取 [作為 Windows 認證]。 否則,報表伺服器會將認證傳遞至資料庫伺服器以供使用者驗證。 如果資料庫伺服器無法驗證您所提供的認證,則連接會失敗。

Windows 整合式安全性

當您使用 [Windows 整合式安全性] 選項時,報表伺服器會將存取報表之使用者的安全性權杖,傳遞至主控外部資料來源的伺服器。 在此情況下,不會提示使用者輸入使用者名稱或密碼。 如果模擬和委派功能已啟用,建議您使用此方法。 如果這些功能都未啟用,只有當所有您想要存取的伺服器都位於相同電腦上時,才應該使用此方法。

預存認證

您可以儲存用於存取外部資料來源的認證。 認證是以可回復加密的方式,儲存在報表伺服器資料庫中。 您可以為用於報表中的每一個資料來源,指定一組預存認證。 您提供的認證會為執行報表的每一個使用者擷取相同的資料。

建議存取遠端資料庫伺服器時,將預存認證當成策略的一部分。 如果您想要支援訂閱、產生排程報表記錄,或重新整理報表快照集,就需要預存認證。 以背景處理序執行報表時,報表伺服器為執行報表的代理程式。 沒有使用者內容,因此報表伺服器必須從報表伺服器資料庫取得認證資訊,以便連接到資料來源。

您指定的使用者名稱和密碼可以是 Windows 認證或資料庫登入。 如果您指定 Windows 認證,則報表伺服器會將認證傳遞至 Windows 以供後續驗證。 否則,它會將認證傳遞至資料庫伺服器以供驗證。

將「允許本機登入」權限授與網域使用者帳戶

如果您使用預存認證連線外部資料來源,Windows 網域使用者帳戶就必須擁有本機登入的權限。 這個權限可讓報表伺服器模擬報表伺服器的使用者,而且以該模擬使用者的身分將要求傳送至外部資料來源。

若要在報表伺服器上授與這項權限,請移至 [系統管理工具],然後在[本機安全性原則]>[安全性設定]>[本機原則]>[使用者權限指派]中新增用於互動式登入的 Windows 帳戶。 確定您選取的帳戶沒有拒絕權限。

如需詳細資訊,請參閱<設定安全性原則設定>(Configure security policy settings) 和<允許在本機登入 - 安全性原則設定>(英文)。

以預存認證模擬

您也可以使用認證來模擬其他使用者的身分。 若為 SQL Server 資料庫,模擬選項設定 SETUSER 函式。

重要

針對支援訂用帳戶的報表,或者使用排程產生報表記錄或重新整理報表執行快照集的報表,都不要使用模擬。

無認證

您可以設定資料來源連接,以使用無認證。 應該一律使用認證來存取數據來源。 不過,在下列案例中,您可以選擇使用無認證來執行報表:

  • 遠端資料來源不需要認證。
  • 認證會在連接字串中傳遞 (僅建議用於保護連接的安全)。
  • 報表是使用父報表之認證的子報表。

在這些狀況下,報表伺服器會使用您必須事先定義的無人參與執行帳戶,連線遠端資料來源。 報表伺服器未利用其服務認證連線遠端伺服器,因此,您必須指定帳戶,讓報表伺服器能夠用於進行連線。 如需有關建立此帳戶的詳細資訊,請參閱<設定自動執行帳戶 (報表伺服器組態管理員)>。

使用者名稱和密碼登入

當您選取 [使用此使用者名稱和密碼] 時,必須提供使用者名稱和密碼才能存取資料來源。 若為 SQL Server 資料庫,這些認證可能用於資料庫登入。 認證將會傳遞至資料來源以供驗證。

資料來源組態和網路連線

下表顯示如何為認證類型和資料處理延伸模組的特定組合進行連接。 如果您使用自訂資料處理延伸模組,請參閱<為自訂資料處理延伸模組指定連接>。

型別 網路連接的內容 資料來源類型

(SQL Server、Oracle、ODBC、OLE DB、Analysis Services、XML、SAP NetWeaver BI、Hyperion Essbase)
整合式安全性 模擬目前使用者。 針對所有資料來源類型,利用目前的使用者帳戶連線。
Windows 認證 模擬指定的使用者。 針對 SQL Server、Oracle、開放式資料庫連接 (ODBC),以及物件連結與嵌入資料庫 (OLE DB):使用模擬使用者帳戶進行連線。
資料庫認證 模擬自動執行帳戶或服務帳戶。

(利用服務識別傳送連線要求時,Reporting Services 會移除管理員權限)。
針對 SQL Server、Oracle、ODBC 與 OLE DB:

將使用者名稱和密碼附加至連接字串。

針對 Analysis Services:

如果您使用 TCP/IP 通訊協定,連線會成功,否則會失敗。

如果是 XML:

使用資料庫認證時,會使報表伺服器上的連接失敗。
None 模擬自動執行帳戶。 針對 SQL Server、Oracle、ODBC 與 OLE DB:

使用連接字串中定義的認證。 如果未定義自動執行帳戶,報表伺服器上的連接會失敗。

針對 Analysis Services:

指定無認證或定義自動執行帳戶時,永遠會使連接失敗。

如果是 XML:

如果已定義自動執行帳戶,則以匿名使用者連接;否則會使連接失敗。

以設計程式的方式設定認證

您可以在您的程式碼中設定認證,來控制報表和報表伺服器的存取。 如需詳細資訊,請參閱<資料來源和連接方法>。