分類存檔: SharePoint 安全

"訪問被拒絕” 要在 SharePoint Default.aspx 2010 子網站

我的一個客戶去與他們 SharePoint 活 2010 今天的環境。  我們發現了一組使用者不能訪問他們的預設首頁。  SharePoint 的反應是"拒絕訪問",平時"標誌作為另一個使用者"或"請求訪問"回應。 

我們使用的俏皮的"檢查訪問"功能時它確認最終使用者真的沒有存取權限。  然而, 他們不能向頁.

我跟著,直到我決定要比較類似的工作頁針對斷頁面上的 web 部件,到各種死角他將實現了很多路。  我做的通過將頁面放在維護模式下,通過添加"?內容 = 1"到頁. 所以, 它看上去像"HTTP://server/subsite/subsite/default.aspx?內容 = 1"。 

這顯示了我兩個帶有碎頁上像是"錯誤"說明 web 部件命名為"錯誤"。  我根本沒想時,採取一個螢幕上限.

我刪除了它們與,解決了這個問題.

我見過此來問起在論壇上在過去,非常懷疑他已經正確設置了安全的海報的堅持。  我 * 知道 * 了安全設置的權利 微笑  下一次, 會更加開放和少產生懷疑.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

使用工作流來類比內容類型安全

另一天, 另一種 MSDN 論壇啟發開機自檢.

有人問是否他們能安全的內容類型,這樣當使用者按一下自訂清單中的"新"按鈕上, 僅指該人被授予存取權限的內容類型將會出現在下拉清單中。  正如我們所知, 這並不是開箱即用支援.

這個問題總是會現在然後和這次, 我有一個新的想法。  讓我們假設我們有這樣的方案:

  • 我們有售票系統服務支援.
  • 説明台售票系統允許使用者輸入經常説明台票務資訊, 如問題區域, 問題狀態, 等.
  • 我們想要讓"超級"使用者指定的"緊急"欄位.
  • 其他使用者不能訪問該欄位。  系統將總是將"中等"級優先分配給他們的請求.

我們能做的就是創建兩個單獨的 SharePoint 清單和兩個不同的內容類型, 一個"超級"使用者和其他為別人.

每個清單的工作流將資料複製到主清單 (實際説明台機票清單) 和這一進程從那裡所得.

這種方法可能工作流列級安全性,以及一種。 

我沒試過, 但它認為合理,並給出一個相當簡單, 如果很粗糙,, 實現一種內容類型和列級別的安全選項.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

作為窮人的自動專案級別的安全內容審批

有一個常見的業務方案與 InfoPath 表單。  我們想讓人們填寫 InfoPath 表單並將其提交到一個庫。  我們希望經理人 (沒有其他人) 要訪問這些表單.

這一問題上來然後在表單上 (例如:. http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/76ccef5a-d71c-4b7c-963c-613157e2a966/?prof=required)

解決這個問題的快速方法是啟用表單庫的內容審批。  去圖書館的版本設置並將它設置了如圖所示:

image 

點擊"要求內容審批",這將允許您挑選一個值為草稿專案安全性.

它是有點反直覺因為我們並不認為在"內容審批"當所有我們想要做是防止人看到其他使用者的形式。  不過, 很好的效果 (以我的經驗).  只是不贊成這些形式,他們總是被視為"草稿"。 

給審批許可權的人應該能夠看到他們,你已經封閉迴圈.

這並不是完全的大新聞, 但這個問題不會出現一定的規律, 所以我想它會是值得張貼.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

有限的存取權限到底是什麼?

更新 11/03/08: 請務必閱讀從優秀和詳細注釋 歌喉 Lunsford 到這篇文章.

一直為即將書秘密科技編輯專案和引用 這篇博客的泰勒 · 巴特勒 ECM MSDN 博客上. 這是含義的我讀過的有限存取權限的明確定義的第一次. 這裡是定義的肉:

在 SharePoint 中, 匿名使用者’ 權利是由有限的訪問權限等級的確定. 有限的存取權限是不能分配給使用者或組直接的特殊權限等級. 它存在的原因是因為如果你有一個庫或子網站,打破了許可權繼承, 和你給圖書館/子使用者/組的存取權限, 若要查看其內容, 的使用者組必須具有一些訪問根網站. 否則將無法流覽子網站圖書館的使用者組, 即使他們有權利, 因為有 web 根目錄中呈現的網站或庫所需的東西. 因此, 當你給組的許可權,只有到子網站或庫,打破許可權繼承, SharePoint 將自動將有限的存取權限給那組或使用者對 web 根目錄.

這個問題出來現在然後在 MSDN 論壇和我一直都很好奇 (但不是好奇,想自己在今天之前 :)).

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Technorati 標籤:

快速提示: 配置允許管理員訪問任何我的 SharePoint 網站的安全

跡象表明,中國社交運算已開始與 SharePoint 起飛, 我看到我的網站類型問題的增加的數目. 一個常見的問題是這樣:

"我是管理員,我需要能夠訪問每個我的網站. 我是如何做的?"

這裡的竅門是,每個我的網站是其自身的網站集合. 在網站集級別通常管理 SharePoint 安全和這旅行了許多 SharePoint 管理員. 通常, 她已訪問"main 中的進行安全配置" 網站集和可能沒有意識到這並不會自動工作我的網站.

網站集合集體住在一個大容器內, 這是 web 應用程式. 農場管理員可以可以在 web 應用程式級別配置安全,這是如何訪問到任何 web 應用程式中的網站集管理員可以授予自己. 此博客條目描述了一個我個人的經驗與 web 應用程式策略. 我由事故定義 web 應用程式策略: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!255.entry.

Web 應用程式策略可以是危險的我建議他們要慎用. 如果我是管理員 (謝天謝地我不), 我將創建一個單獨的 AD 帳戶命名為類似"SharePoint Web 應用程式管理員" 它需要的 web 應用程式安全形色的那一個交代. 我不會配置這種事情經常農場管理員或單個網站集合管理員. 它將傾向于隱瞞潛在的問題,因為 web 應用程式角色將覆蓋任何較低級別的安全設置.

</結束>

訂閱我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin

Technorati 標籤: ,

不能擔保視圖和列的清單和文件庫

更新 (02/29/08): 這個新的 codeplex 專案似乎提供保護單個列的方法: http://www.codeplex.com/SPListDisplaySetting. 如果您有任何與它合作的經驗, 請留下評論.

論壇海報頻頻問這樣的問題: "我有一個管理器視圖和工作人員的清單的視圖. 如何,工作人員不能使用它安全的管理器視圖?"

他們還經常問的一個相關的問題: "我想要保護的特定中繼資料的列,以便只有經理可以編輯該列,雖然其他人可能不甚至看到它。"

這些答案適用于這兩個 WSS 3.0 和苔蘚:

  • SharePoint 不提供出框支援爭取意見.
  • SharePoint 不安全列提供出框支援.

有幾種技術一可以按照滿足這些類的安全要求. 這裡是我能想到的:

  • 使用預置的專案級安全. 意見總是榮譽專案級安全配置. 事件接收器和/或工作流可以自動執行安全任務.
  • 使用的個人檢視為"特權" 視圖. 這些都是容易設置. 不過, 由於其"個人" 性質, 這些需要為每個使用者配置. 使用標準安全配置,以防止別人從創建個人檢視.
  • 使用資料檢視 web 部件並實現某種 AJAXy 安全修整解決辦法.
  • 滾你自己清單顯示功能,並納入安全修整列級.
  • 修改資料輸入表單和 JavaScript 將與一起使用的安全模型來實現列級安全修整.
  • 使用 InfoPath 表單輸入資料. 實現通過 web 服務調用到 SharePoint 和有條件地隱藏欄位所需的列級安全修整.
  • 卷自己的 ASP.NET 資料條目函數實現列級安全修整.

這些選項均沒那麼好, 但有至少一條路徑,如果您需要遵循, 即使很難.

請注意: 如果你去這些路徑的任何, 別忘了"行動-> 打開 Windows 資源管理器". 你要確保你使用該功能以確保它不會作為一個"後門工作測試" 和擊敗你的安全計畫.

如果您有其他的想法或確保列或視圖的經驗, 請 電子郵件通知我 或留下評論,我就會更新此作為適當的帖子.

</結束>

訂閱我的博客.

Technorati 標籤:

解決方案: 對 System.IO.FileNotFoundException “中的 SPSite = 新中的 SPSite(url)”

更新: 我發佈這一問題到 MSDN 在這裡 (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) Michael Washam 的微軟用一個簡明的答案進行了回擊.

創建 web 服務,以作為 BDC 友好門面 到 SharePoint 清單. 當我用這個從我的開發環境, 它能正常工作. 當我這遷移到新的伺服器, 此錯誤:

System.IO.FileNotFoundException: 在 Web 應用程式 http://localhost/sandbox 無法找到. 驗證正確地鍵入 URL. 如果 URL 應該提供的現有內容, 系統管理員可能需要添加一個新的請求的 URL 對應到目標應用程式. 在 Microsoft.SharePoint.SPSite...建構函式(SPFarm 農場, Uri requestUri, 布林 coNtextSite, SPUserToken userToken) 在 Microsoft.SharePoint.SPSite...建構函式(字串 requestUrl) 在 Conchango.xyzzy.GetExistingDocument(字串 minId, 字串 maxId, 字串 titleFilter) C:\文檔和 SettingsPaulMy DocumentsVisual 工作室 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:線 69

這裡是線 69:

使用 (SPSite 網站 = 新 SPSite("http://localhost/sandbox"))

我試著 URL 不同變奏曲, 包括使用伺服器的真實姓名, 它的 IP 位址, 該 url 的斜線結尾, 等. 我總是得到該錯誤.

我用 在谷歌 它的研究. 很多人面臨著這個問題, 或它的變化, 但似乎沒有人出錢解決.

Tricksy MOSS 提供詳細它並沒有給我檢查發生的錯誤 12 蜂巢日誌. 最終, 關於 24 小時後 我的同事 推薦我這樣做,, 簽出狀態 12 配置單元日誌,發現這:

嘗試獲取本地農場時出現異常:
System.Security.SecurityException: 不允許進行請求的註冊表訪問.
在 System.ThrowHelper.ThrowSecurityException(ExceptionResource 資源) 在 Microsoft.Win32.RegistryKey.OpenSubKey(字串名稱, 布林值可寫) 在 Microsoft.Win32.RegistryKey.OpenSubKey(字串名稱) 在 Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() 在 Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() 在 Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& 農場, 布林值& 種矛盾又摻雜)
失敗的程式集的區域是:  我的電腦

這開闢了新途徑的研究, 所以它又回到了谷歌. 我被引到這 論壇帖子: http://forums.codecharge.com/posts.php?post_id = 67135. 這真的幫不了我,但它確實開始讓我覺得那裡是一個資料庫和/或安全的問題. 我受盡折磨和 安德魯 · 康奈爾 最後觸發後說我要確保應用程式池標識帳戶有權訪問資料庫的思想. 我以為它已經打了. 不過, 我的同事去和給 SQL 應用程式池標識帳戶完全訪問.

為她做了這種變化, 一切都開始工作.

下面發生的事情是最好的表示為 俳句 詩:

問題舉手.
你擺動和小姐. 再試一次.
成功! 但如何? 為什麼?

她並不想這樣獨自一人離開的事情, 更傾向于給最低所需的許可權 (可能著眼寫博客條目; 毒打沖到, muhahahahaha!).

她從應用程式池標識帳戶之前刪除連續的許可權 … 已不再有任何明確權限的應用程式池標識帳戶在所有. Web 服務繼續工作得很好.

我們去和重新開機伺服器. 一切繼續做工精細.

所以, 重述一遍: 我們給應用程式池標識完全存取權限,然後把它拿走了. Web 服務開始工作,永遠不會停止工作. 奇怪.

如果有人知道為什麼應該會起作用, 請留下評論.

</結束>

Technorati 標籤:

InfoPath 表單所需的最小安全

我需要滿足今天為 InfoPath 表單的安全要求. 在這種業務情況, 大量相對較小的個人允許創建新的 InfoPath 表單和更廣泛的受眾允許對其進行編輯. (這是新員工入職形式由人力資源使用啟動工作流).

要達到這一目標, 創建創建兩個新的權限等級 ("創建和更新" 與"只更新"), 打破了繼承的表單庫和分配許可權的"創建一個, 更新" 使用者和一個單獨的"僅更新" 使用者. 力學所有工作, 但事實證明要比我預期的多一點涉及. (如果你覺得有點晃動 SharePoint 的許可權, 簽出這篇文章). 所需的安全配置權限等級是不明顯的細細微性的許可權集. 若要創建 InfoPath 表單僅更新權限等級, 我做了以下:

  1. 創建新的權限等級.
  2. 清除所有選項.
  3. 選擇僅從"清單許可權"以下:
    • 編輯專案
    • 查看專案
    • 查看應用程式頁面

選擇這些選項允許使用者更新表單, 但不是創建它.

訣竅就是使"視圖應用程式頁". 在權限等級指示了所需的更新僅 InfoPath 表單上沒有任何 verbage, 但輪流出來,它就是.

創建和更新了甚至陌生人. 同樣的步驟, 1 通過 3 以上. 我不得不專門添加"網站許可權" 選項: "使用用戶端集成功能". 再次, 那裡的描述並不使它看上去應該是需要為 InfoPath 表單, 但這就是.

</結束>

Technorati 標籤: ,

SharePoint 不提供 “誰有權訪問” 報告

更新 01/28/08: 此 codeplex 專案解決了此問題: http://www.codeplex.com/AccessChecker. 我沒有用它, 但它看起來很有希望,如果這是您的環境中需要解決的問題.

更新 11/13/08: 喬爾 · 奧爾森在這裡更大的安全管理問題上寫了一個很好的職位: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?清單 = 0cd1a63d-183c-4fc2 %2 D 8320 -ba5369008acb&ID = 113. 它連結到其它有用的資源數目.

論壇使用者和用戶端經常問一個問題沿這些線: "我如何生成具有對網站的許可權的所有使用者的清單" 或者"如何可以我自動警報具有訪問到有關到清單中所做的更改清單中的所有使用者?"

現成的解決方案為此沒有出去. 如果你想一想了一會兒, 不難理解為什麼.

SharePoint 安全是非常靈活. 有的使用者至少四個主要類別:

  • 匿名使用者.
  • SharePoint 使用者和組.
  • Active Directory 使用者.
  • 基於表單的身份驗證 (FBA) 使用者.

靈活性意味著,從安全的角度看, 任何給定的 SharePoint 網站將大大不同于另一個. 為了生成訪問清單報告, 一個人需要確定該網站如何保護, 查詢多個不同的使用者設定檔存儲庫,然後呈現一種有用的方式. 這是一個難的問題,要解決一般.

如何組織處理這呢? 我很樂意聽到您的意見或 電子郵件.

</結束>

Technorati 標籤: ,

SharePoint 安全基礎知識入門 / 避免常見的陷阱

更新 12/18/07: 請參閱刪除或修改預設的組名的一些技術的後果 Paul Liebrand 文章 (也見他下面的評論).

概述:

SharePoint 安全是易於配置和管理. 不過, 它已被證明是真的包裝他們的手在它附近一些第一次管理員難以. 不只如此, 我見過一些管理員來到一個完美的理解,在週一只把它丟了週五因為他們沒有做任何配置在這段時間. (我承認我自己有這個問題). 這篇博客希望提供一個有用的 SharePoint 安全引子和指向一些安全配置的最佳實踐.

重要說明:

這種描述基於開箱即用 SharePoint 安全. 我個人的經驗被面向各地苔蘚,所以可能會有一些苔蘚的具體東西在這裡, 但我相信它是準確的 WSS. 我希望看到的任何錯誤或遺漏的任何人都將點,在評論中或 電子郵件通知我. 我會改正後匆忙.

基礎知識:

為施行本概述, 有四個基本方面的安全: 使用者/使用者組, 安全物件, 權限等級和繼承.

使用者和組 打破降到:

  • 個人使用者: 拉扯了從活動目錄或直接在 SharePoint 中創建.
  • 團體: 從 active directory 直接映射或在創建 SharePoint. 組是使用者的集合. 組是全球化的網站集合中. 他們永遠不會"綁" 安全物件的特定物件.

安全物件 打破降到最少:

  • 網站
  • 文件庫
  • 清單和文件庫中的個別項
  • 資料夾
  • BDC 的各種設置.

那裡其他的安全物件, 但你得到的圖片.

權限等級: 捆綁的顆粒 / 在清單中包含諸如創建/讀取/項目剪除的低級別的存取權限.

繼承: 預設情況下從其包含的物件實體繼承安全設置. 子網站從其父項繼承許可權. 繼承他們網站的文件庫. 等等等等等等.

與使用者和組物件有關的安全物件的權限等級和繼承通過.

最重要的安全規則,來理解, 曾經🙂 :

  1. 組是簡單的使用者的集合.
  2. 組是全球網站集內 (e 小節. 沒有這種東西在網站級別上定義的一個組).
  3. 不耐的組名稱, 團體卻不, 在和自己的, 有任何特定的安全水準.
  4. 組在某一特定的安全物件的上下文中具有安全.
  5. 你可以到每個安全物件的同一組分配不同的權限等級.
  6. Web 應用程式策略勝過這一切 (請參閱下面的).

安全管理員組和使用者清單的海洋中失去了總可以依靠這些公理來管理和瞭解他們的安全配置.

常見的陷阱:

  • 組名稱錯誤地暗示的許可權: 外框, SharePoint 定義一組組名字暗示了固有的安全級別. 考慮"參與者"組. 一個熟悉 SharePoint 安全性可能會看看那名字,假設,那組的任何成員可以"作出貢獻" 對任何網站/清單/庫在門戶中. 這可能是真的,但並不是因為該集團的名字恰巧是"討論參與者". 這是唯一真正開箱即用,因為該集團提供了權限等級,使它們能在根網站添加/編輯/刪除內容. 通過繼承, "派遣" 集團也可能在每個分網站添加/編輯/刪除內容. 一個可以"打破" 繼承鏈和更改一個子網站的權限等級的成員的所謂的"參與者" 組不能在所有作出貢獻, 但只能讀取 (舉個例子). 這不會是一個好主意, 很明顯, 因為它將是非常令人困惑.
  • 組不在網站級別定義. 它很容易被混淆的使用者介面. Microsoft 提供了方便的連結到使用者/組管理通過每個網站的"人和組" 連結. 很容易相信,當我在網站"xyzzy" 我創建一個組通過 xyzzy 的人和團體聯繫起來,我只是在 xyzzy 創建只存在一組. 這不是個案. 我實際上已經創造了一群為整個網站集.
  • 組成員身份不會由網站不同 (e 小節. 到處都使用組是相同): 考慮"擁有者組" 和兩個網站, "HR" 和"物流". 它會正常想兩個獨立的個體將會擁有這些網站 — HR 擁有者和物流擁有者. 使用者介面輕鬆安全管理員責難這種情況下. 如果我不知道更好, 我可能會訪問的人和群體通過人力資源網站連結, 選擇"業主" 組並向該組添加我的 HR 主人. 一個月後, 物流上線. 訪問從物流網站中的使用者和使用者組, 添加"業主拉起" 集團. 我看到那裡 HR 擁有者和刪除她, 我在消除她從擁有者在物流網站的思考. 事實上, 我在消除她從全球的擁有者組. 接著而來的歡樂.
  • 故障到基於特定角色的名稱組: "核准者" 組是一個完美的例子. 什麼可以這組批准成員? 他們在那裡能批准它? 我真的想人物流部門能夠批准人事相關檔嗎? 當然不是. 始終命名組基於其在組織內的角色. 這將減少風險的組分配特定的安全物件所需的權限等級. 基於其預期角色名稱組. 在前面的 HR/物流場景, 我應該創建兩個新組: "HR 業主" 與"物流業主" 和分配每個合理的權限等級和那些使用者做他們的工作所必需的最低金額.

其他有用的參考:

如果你讓它這個遠:

請讓我知道你的想法通過評論或給我發電子郵件. 如果你知道其他有益的參考, 請這樣做!

Technorati 標籤: