共用方式為


安全性架構

Microsoft SQL Server 2005 Analysis Services (SSAS) 會依賴 Microsoft Windows 來驗證使用者。依預設,只有在 Analysis Services 內具有權限的已驗證使用者,才可以建立 Analysis Services 的連接。使用者連接到 Analysis Services 之後,使用者在 Analysis Services 內擁有的權限,會取決於已指定給該使用者所屬 Analysis Services 角色的權限 (不論是直接或透過 Windows 角色的成員資格指定)。

  • Analysis Services 包含單一固定伺服器角色,授與其成員在整個執行個體內執行任何工作的權限。
  • 非固定伺服器角色成員的使用者,可成為一或多個資料庫角色的成員。每一個資料庫角色都有自訂的權限集合,讓使用者能夠存取資料及在特定資料庫內執行工作。
  • 資料庫角色可被授與管理員權限、處理物件權限、檢視物件中繼資料權限,以及在每一個 Analysis Services 資料庫內的多個層級上檢視或修改資料的權限。
  • 有管理員權限的資料庫角色成員,可檢視或更新資料庫內的所有資料。其他資料庫角色的成員,只能檢視或更新特別授與他們權限的資料物件。
  • Analysis Services 資料庫內的權限,一開始是在資料庫層級上授與的。如果資料庫角色在資料庫層級上擁有權限,就必須授與該角色對該資料庫內每一個物件的特定權限。角色可被授與權限的物件包括:資料庫和 Cube 維度、個別維度成員、Cube、Cube 內的個別資料格、採礦結構、採礦模型、資料來源和預存程序。
  • 除了這些安全性架構元件之外,Analysis Services 還會將所有用戶端/伺服器通訊加密,以減少未經授權的使用者存取未經授權之資訊的風險。最後,因設定不當或使用於不適當環境而危及安全性的 Analysis Services 功能,依預設會加以停用。例如,您可以讓使用者在沒有驗證的情況下連接到 Analysis Services,或接受以純文字送出的驗證。不過,由於這麼做可能危及安全性 (如果執行錯誤的話),因此若要啟動這些類型的功能,就需要修改預設值。

Windows 驗證

Analysis Services 的存取是以 Microsoft Windows 驗證作為基礎。在使用者可以存取儲存在 Analysis Services 的資料之前,以及可以管理 Analysis Services 物件之前,此驗證模型需要 Windows 作業系統先驗證所有使用者。由作業系統執行驗證的話,可讓 Analysis Services 利用 Windows 安全性功能的好處,包括密碼的安全驗證和加密、稽核、密碼到期、最小密碼長度,以及多次無效登入要求之後鎖定帳戶。

ms174927.note(zh-tw,SQL.90).gif附註:
如果 Analysis Services 的執行個體設定為容許匿名存取,則 Windows 不會驗證使用者。

Windows 驗證和 Analysis Services 是以下列方式共同運作:

  1. 使用者登入 Windows 網路時, Windows 網域控制器會驗證使用者的使用者名稱和密碼,藉此建立使用者的網路驗證認證。
  2. 稍後,當使用者試著連接到 Analysis Services 時,Analysis Services 會使用 Windows 網域控制器來驗證使用者的網路驗證認證。

授權

驗證使用者之後,Analysis Services 接著會判斷使用者是否有權限可檢視資料、更新資料、檢視中繼資料或執行管理工作。如果使用者或使用者所屬群組在 Analysis Services 的執行個體內有某種類型的權限,Analysis Services 就會讓使用者連接。依預設,如果使用者在 Analysis Services 的執行個體內沒有某種類型的權限,Analysis Services 就不會讓使用者連接。

不過,在使用者順利連接到 Analysis Services 之後,授權並不會停止。當使用者在 Analysis Services 內工作時,授權仍然繼續,例如,當使用者執行伺服器預存程序、資料採礦延伸模組 (DMX) 陳述式、多維度運算式 (MDX) 查詢或 Analysis Management Objects (AMO) 命令時。每次 Analysis Services 必須執行動作或存取物件時,都會驗證使用者存取物件或執行命令的權限。如果使用者沒有適當權限,Analysis Services 就會傳回權限錯誤。

伺服器和資料庫角色

Analysis Services 有兩種類型的角色:伺服器角色和資料庫角色。以下是對這兩個角色之間的差異之簡短描述:

  • 伺服器角色只有一個,而且此角色的成員在 Analysis Services 的執行個體內,會有完整的管理員權限。
    ms174927.note(zh-tw,SQL.90).gif附註:
    本機電腦之管理員本機群組的成員,在 Analysis Services 的執行個體中,會自動成為伺服器角色的成員。
  • 資料庫角色可以有許多個。伺服器角色的成員可以在每一個資料庫內建立這些資料庫角色、授與管理或使用者權限給這些資料庫角色 (例如對 Cube、維度、資料格、採礦結構、採礦模型和資料來源物件的讀取或讀取/寫入權限),然後將 Windows 使用者和群組加入至這些資料庫角色中。
    ms174927.note(zh-tw,SQL.90).gif重要事項:
    角色權限是加總的。Windows 使用者或群組透過一個資料庫角色擁有的權限,與相同 Windows 使用者或群組透過其他資料庫角色擁有的權限,兩者可以相加。如果一個角色拒絕使用者或群組執行特定工作或檢視特定資料的權限,但另一個角色授與此權限給該使用者或群組,則該使用者或群組將擁有執行此工作或檢視此資料的權限。

**如需詳細資訊,請參閱:**<設定 Analysis Services 的存取權

管理員權限

雖然伺服器角色的成員有完整管理員權限,但資料庫角色的成員則沒有。資料庫角色可被授與完整控制權,又稱為管理員權限,或是下列清單中更有限的管理員權限:

  • 處理資料庫
  • 讀取資料庫中繼資料
  • 處理一或多個維度
  • 讀取一或多個維度的定義
  • 處理一或多個 Cube
  • 讀取一或多個 Cube 的定義
  • 處理一或多個採礦結構
  • 處理一或多個採礦模型
  • 讀取一或多個採礦結構的定義
  • 讀取一或多個採礦模型的定義
  • 讀取一或多個資料來源的定義

僅伺服器角色的成員和擁有完整控制權之資料庫角色的成員,才可以讀取 Analysis Services 資料而不需要其他權限。其他使用者的資料庫角色必須被明確授與對 Analysis Services 中之資料物件 (例如維度、Cube、資料格和採礦模型) 的讀取或讀取/寫入權限,才可讀取 Analysis Services 資料。

**如需詳細資訊,請參閱:**<授與整個伺服器範圍的管理權限

維度層級安全性

資料庫角色可指定其成員是否有權限檢視或更新所指定資料庫維度中的維度成員。而且,在已授與資料庫角色存取權限的每一個維度內,可以僅授與該角色檢視或更新特定維度成員,而非全部維度成員的權限。如果資料庫角色未被授與檢視或更新特定維度和部份或全部維度成員的權限,則該資料庫角色的成員就沒有檢視維度或其任何成員的權限。

ms174927.note(zh-tw,SQL.90).gif附註:
已授與資料庫角色的維度權限,適用於以資料庫維度為基礎的 Cube 維度,除非已在使用資料庫維度的 Cube 內明確授與了不同權限。

**如需詳細資訊,請參閱:**<授與維度存取權>和<授與對維度資料的自訂存取權>。

Cube 層級安全性

資料庫角色可指定其成員是否對資料庫的一或多個 Cube 具有讀取或讀取/寫入權限。如果資料庫角色未被授與讀取或讀取/寫入至少一個 Cube 的權限,則該資料庫角色的成員就沒有檢視資料庫的任何 Cube 之權限,無論成員是否具有可檢視維度成員之角色的任何權限)。

**如需詳細資訊,請參閱:**<授與 Cube 存取權>。

資料格層級安全性

資料庫角色可指定其成員對 Cube 內的部份或全部資料格,是否具有讀取、意外讀取或讀取/寫入權限。如果未授與資料庫角色對 Cube 內之資料格的權限,則該資料庫角色的成員就沒有檢視任何 Cube 資料的權限。如果基於維度安全性而拒絕資料庫角色檢視特定維度的權限,資料格層級安全性就無法擴展資料庫角色成員的權限,來包括該維度的資料格成員。在另一方面,如果授與資料庫角色檢視維度成員的權限,則資料格層級安全性就可以用來限制資料庫角色成員在維度中可檢視的資料格成員。

**如需詳細資訊,請參閱:**<授與資料格資料的自訂存取權>。

採礦結構、採礦模型和資料來源安全性

資料庫角色可指定其成員對採礦結構和採礦模型,是否具有讀取或讀取/寫入權限。資料庫角色也可以被授與鑽研來源資料的權限,以及瀏覽一或多個採礦模型的權限。最後,資料庫角色可以被授與對資料來源物件的讀取/寫入權限。此權限可讓角色在 OPENQUERY 子句中參考該資料來源,並使用定義在資料來源物件中的連接字串。

**如需詳細資訊,請參閱:**<授與對採礦結構和採礦模型的存取權>和<授與對資料來源的存取權>。

預存程序安全性

Analysis Services 中的預存程序是以 Microsoft .NET 程式語言撰寫的外部常式,用於擴充 Analysis Services 的功能。預存程序可讓開發人員利用跨語言整合、例外狀況處理、版本控制支援、部署支援和偵錯支援等好處。

任何使用者都可以呼叫預存程序。視預存程序的設定方式而定,程序可在呼叫此程序的使用者內容中或在匿名使用者的內容中執行。因為匿名使用者沒有安全性內容,請使用此功能及設定 Analysis Services 的執行個體來允許匿名存取。

在使用者呼叫預存程序之後,但在 Analysis Services 執行預存程序之前,Analysis Services 會在預存程序內評估動作。Analysis Services 會依據已授與使用者的權限與用來執行此程序的權限集合之間的交集,評估預存程序中的動作。如果預存程序包含資料庫角色無法為使用者執行的動作,就不會執行該動作。

以下是用來執行預存程序的權限集合:

  • 安全 使用安全權限集合,預存程序就無法存取 Microsoft .NET Framework 中受保護的資源。此權限集合只允許計算。這是最安全的權限集合;資訊不會洩露到 Analysis Services 之外,權限無法提高,使資料遭到竄改的風險降至最低。
  • 外部存取 使用外部存取權限集合,預存程序就可以使用 Managed 程式碼來存取外部資源。將預存程序設定為此權限集合,不會造成可能導致伺服器不穩定的程式設計錯誤。不過,此權限集合可能會導致資訊洩露到伺服器之外,而且權限有可能提高及資料遭到竄改的風險。
  • 不受限制 使用不受限制權限集合,預存程序就可以使用任何程式碼來存取外部資源。使用此權限集合,就無法保護預存程序的安全性或可靠性。

**如需詳細資訊,請參閱:**<使用預存程序 (Analysis Services)

加密

依預設,Analysis Services 會要求用戶端和 Analysis Services 執行個體之間的所有通訊都要加密。

**如需詳細資訊,請參閱:**<保護用戶端通訊與 Analysis Services 執行個體的安全

依預設為關閉

依預設,Analysis Services 的執行個體的設計是安全的。因此,有可能危及安全性的功能,依預設會停用。依預設會停用下列功能,如果您想要使用它們,必須特地啟用:

  • HTTP 連接性
  • 追蹤
  • 預存程序
  • 遠端資料分割
  • 連結物件 (To)
  • 連結物件 (From)
  • 資料採礦彙總工具
  • 用戶端保護層級
  • Web 保護層級
  • 需要用戶端驗證
  • 與 Active Directory 整合
  • 特定 OpenRowset 查詢
  • 8.0 用戶端連接性
  • 當機報告

請參閱

概念

保護 Analysis Services 執行個體的安全

其他資源

設定 Analysis Services 的存取權

說明及資訊

取得 SQL Server 2005 協助