Arkivat e Kategorisë: SharePoint të Sigurimit

"Qasja mohuar” të Default.aspx në një SharePoint 2010 Site nën

Një nga klientët e mi shkuan të jetojnë me SharePoint tyre 2010 Mjedisi sot.  Ne kemi zbuluar se një grup i caktuar i përdoruesve nuk mund të hyni në faqen e tyre në shtëpi default.  SharePoint përgjigj me "Access mohuar" dhe e zakonshme "Sign in si një përdorues tjetër" ose "aksesit kërkesës" përgjigje. 

When we used the nifty “Check Access” function it confirmed that the end users really did have access.  Ende, they could not get to the page.

I followed a lot of roads to various dead ends until I decided to compare the web parts on the broken page against a similar working page.  I did that by putting the page in maintenance mode by adding “?contents=1” to the page. Kështu, it looked like “http://server/subsite/subsite/default.aspx?contents=1”. 

This showed me two web parts named “Error” with a description like “Error” on the broken page.  I didn’t think to take a screen cap at the time.

I removed them and that solved the problem.

I’ve seen a question like this come up on the forums in the past and I was extremely skeptical about the poster’s insistence that he had security set up properly.  I *know* I had security set up right buzëqeshje  Next time, I’ll be more open and less skeptical.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Përdorni Workflow për të simuluar Lloji Content Security

Një tjetër ditë, tjetër MSDN-forume Postimi i frymëzuar.

Dikush u pyetur nëse ata mund të sigurojë një lloj përmbajtje të tillë që kur një përdoruesi klikon mbi butonin "New" në një listë me porosi, vetëm lloje të përmbajtjes për të cilën ky person është dhënë qasje do të shfaqet në drop-down list.  Siç e dimë, kjo nuk është mbështetur nga kutia.

Kjo pyetje vjen deri tani dhe pastaj dhe këtë herë, Unë kisha një ide të re.  Le të supozojmë se kemi skenar si ky:

  • Ne kemi një sistem Helpdesk biletave.
  • Sistemi Helpdesk biletave lejon përdoruesit për të hyrë rregullt info Helpdesk biletave, të tilla si zonë e problemit, Statusi problemi, etj.
  • Ne duam që të lejojë "super" përdoruesit të specifikoni një fushë "urgjente".
  • Përdoruesit e tjerë nuk kanë qasje në atë fushë.  Sistemi gjithmonë do të caktojë "Medium" prioritet të nivelit të kërkesave të tyre.

Ajo që ne mund të bëjmë është të krijojë dy lista të ndara SharePoint dhe dy lloje të ndryshme përmbajtje, një për përdoruesit e "super" dhe tjetrin për gjithë të tjerët.

Workflow në secilën listë kopjon të dhënat për master listës (aktuale lista Helpdesk biletave) dhe procesi vazhdon nga atje.

Kjo qasje mund të punojnë të rrjedhë një lloj të nivelit të sigurisë, si dhe kolona. 

Unë nuk e kanë provuar atë, por ajo ndihet e arsyeshme dhe mjaft e thjeshtë jep një, në qoftë se goxha i përafërt, Mundësia për të zbatuar një lloj tipi përmbajtjes kolona dhe madje edhe niveli i sigurisë.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Miratimi Përmbajtja si Siguri Automatik njeri i varfër e Nivelit Item

Ka një skenar të përbashkët biznesi me forma InfoPath.  Ne duam që lejojnë njerëzit që të plotësoni format InfoPath dhe t'ia paraqesë ato në një bibliotekë.  Ne duam mangers (dhe askush tjetër) të kenë qasje në këto forma të.

Kjo pyetje vjen deri tani dhe pastaj në formularët (e.g. http://social.technet.microsoft.com/Forums/en-US/sharepointadmin/thread/76ccef5a-d71c-4b7c-963c-613157e2a966/?prof=required)

A quick way to solve this is to enable content approval on the form library.  Go the library’s version settings and set it up as shown:

image 

Click on “Require content approval” and that will allow you to pick a value for Draft Item Security.

It’s a little counter-intuitive because we don’t think in terms of “content approval” when all we want to do is prevent people from seeing other users’ forms.  Megjithatë, it works well (në përvojën time).  Just don’t approve those forms and they’ll always be considered “drafts”. 

Give approval rights to the people who should be able to see them and you’ve closed the loop.

This isn’t exactly big news, but the question does come up with some regularity, kështu që unë mendova se do të ishte me vlerë postimi.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Çfarë është Qasja e kufizuar Anyway?

UPDATE 11/03/08: Jetë i sigurt për të lexuar koment të shkëlqyer dhe të detajuar nga Dessie Lunsford për këtë post.

Unë kam qenë duke punuar në një projekt sekret editing teknologjisë për një libër up-vjen dhe ajo referencat Kjo hyrje blog nga Tyler Butler në blog ECM MSDN. This is the first time I personally read a clear definition of the meaning of Limited Access. Here’s the meat of the definition:

Në SharePoint, përdoruesit anonimë’ të drejtat janë të përcaktuara nga niveli leje Kufizuar Access. Qasja e kufizuar është një nivel leje të veçantë që nuk mund të caktohet për një përdorues ose grup drejtpërdrejt. Arsyeja është për shkak se ajo ekziston në qoftë se ju keni një bibliotekë ose subsite që ka thyer trashëgiminë lejet, dhe ju jep një qasje në user / grupi të vetëm që library / subsite, në mënyrë për të parë përmbajtjen e saj, user / grupi duhet të ketë një qasje në web root. Përndryshe user / grupi do të jetë në gjendje të shfletoni bibliotekën / subsite, edhe pse ata nuk kanë të drejta, sepse ka gjëra në web rrënjë që janë të nevojshme për ta bërë faqen ose bibliotekën. Prandaj, kur ju jepni një autorizimet e grupit, vetëm për një subsite ose bibliotekë që është thyer trashëgiminë lejet, SharePoint automatikisht do të japë akses të kufizuar për atë grup ose përdorues në web root.

Kjo pyetje vjen deri tani dhe pastaj në forume MSDN dhe unë kam qenë gjithmonë kureshtar (por jo kurioz të mjaftueshme për të kuptoj atë para sot :)).

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Technorati Tags:

Tip i shpejtë: Konfiguro Sigurimit do të lejojë Admins për të patur akses tek My Site në SharePoint

Në një shenjë se Computing Sociale ka filluar të marrë off me SharePoint, I see an increased number of My Site type questions. One common question goes something like this:

"I am an administrator and I need to be able to access every My Site. How do I do that?"

The trick here is that each My Site is its own site collection. SharePoint security is normally administered at the site collection level and this trips up many a SharePoint administrator. Normalisht, she already has access to configure security in the "main" site collections and may not realize that this doesn’t automatically work for My Sites.

Site collections collectively live inside a larger container, which is the web application. Farm admins can can configure security at the web app level and this is how admins can grant themselves access to any site collection in the web application. This blog entry describes one of my personal experiences with web application policies. I defined a web application policy by accident: http://paulgalvin.spaces.live.com/Blog/cns!1CC1EDB3DAA9B8AA!255.entry.

Web application policies can be dangerous and I suggest that they be used sparingly. If I were an admin (and thank goodness I am not), I would create a separate AD account named something like "SharePoint Web App Administrator" and give that one account the web application security role it needs. I would not configure this kind of thing for the regular farm admin or individual site collection admins. It will tend to hide potential problems because the web app role overrides any lower level security settings.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Technorati Tags: ,

Views dhe kolona në Listat dhe Bibliotekat dokument nuk mund të sigurohen

UPDATE (02/29/08): Ky projekt i ri CodePlex duket të sigurojë një metodë për sigurimin kolona individuale: http://www.codeplex.com/SPListDisplaySetting. If you have any experience working with it, ju lutemi të lënë një koment.

Posterat Forum shpesh pyes një pyetje si kjo: "I have a manager view and and a staff view of a list. How do I secure the manager view so that staff can not use it?"

Ata gjithashtu shpesh pyes një pyetje lidhur me: "I want to secure a specific metadata column so that only managers may edit that column while others may not even see it."

These answers apply to both WSS 3.0 dhe Moss:

  • SharePoint nuk japin jashtë-of-the-box mbështetje për sigurimin shikime.
  • SharePoint nuk japin jashtë-of-the-box mbështetje për shtylla të sigurisë.

There are several techniques one can follow to meet these kinds of security requirements. Here’s what I can think of:

  • Use out-of-the-box item level security. Views always honor item level security configuration. Event receivers and/or workflow can automate security assignment.
  • Use personal views for "privileged" views. These are easy enough to set up. Megjithatë, due to their "personal" natyrë, these need to be configured for each user. Use standard security configuration to prevent anyone else from creating a personal view.
  • Përdorni një web dhënave pjesë të parë dhe të zbatojë disa lloj zgjidhje AJAXy sigurisë zvogëlimin.
  • Roll tuaj ekranit funksionalitetin lista dhe përfshijnë zvogëlimin e sigurisë në nivel kolonën.
  • Ndrysho formularët e regjistrimit të të dhënave dhe të përdorin JavaScript në lidhje me modelin e sigurisë për të zbatuar kolona të nivelit të sigurisë zvogëlimin.
  • Use an InfoPath form for data entry. Implement column-level security trimming via web service calls to SharePoint and conditionally hide fields as needed.
  • Roll funksionin tuaj ASP.NET futja e të dhënave që zbaton nivelit të sigurisë kolonë zvogëlimin.

Asnjë prej këtyre opsioneve që janë me të vërtetë e madhe, por ka të paktën një rrugë për të ndjekur në qoftë se keni nevojë për të, edhe në qoftë se është e vështirë.

SHËNIM: Nëse ju shkoni poshtë ndonjë prej këtyre rrugëve, don’t forget about "Actions -> Open with Windows Explorer". You want to be sure that you test with that feature to make sure that it doesn’t work as a "back door" dhe humbjen skemën tuaj të sigurisë.

Nëse ju keni ide të tjera për ose përvojat me kolona sigurimit apo pikëpamjet, ju lutem email mua apo të lënë një koment dhe unë do update këtë postimit si të përshtatshme.

</fund>

Abonohen në blogun tim.

Technorati Tags:

Zgjidhje: System.IO.FileNotFoundException në “SPSite = new SPSite(url)”

UPDATE: I postuar këtë pyetje për MSDN këtu (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.

Unë të krijova një shërbim web për të vepruar si një QZHB-miqësore fasada to a SharePoint list. When I used this from my development environment, ai ka punuar mirë. Kur kam emigruar këtë në një server të ri, Kam hasur këtë gabim:

System.IO.FileNotFoundException: Web aplikacion në http://localhost/sandbox nuk mund të gjendet. Verifikoni se keni shtypur URL saktë. Nëse URL duhet të shërbejnë përmbajtjen e ekzistuese, administratori i sistemit mund të kenë nevojë të shtoni një të re URL hartë kërkesë të aplikimit të destinuara. në Microsoft.SharePoint.SPSite .. ctor(SPFarm fermë, Uri requestUri, Boolean contextSite, SPUserToken userToken) në Microsoft.SharePoint.SPSite .. ctor(String requestUrl) në Conchango.xyzzy.GetExistingDocument(String minId, String maxId, String titleFilter) në C:\Dokumente dhe Settings Paul My Documents Visual Studio 2005 Projects xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:linjë 69

Këtu është linjë 69:

përdorim (Faqe SPSite = new SPSite("http://localhost/sandbox"))

Unë u përpoq variacione të ndryshme në URL, duke përfshirë përdorimin e emrin e vërtetë e serverit, IP adresa e saj, zvarritës ul mbi URL, etj. I always got that error.

I përdorur Google to research it. Lots of people face this issue, ose variacione të saj, por askush nuk duket se e kanë atë zgjidhur.

Kapriçioz MOSS siguruar një gabim të tillë të detajuar se kjo nuk ka ndodhur për mua për të kontrolluar 12 hive logs. Eventually, për 24 orë pas Kolegu im rekomandoi të bëj kështu, I kontrolluar nga 12 log zgjua dhe e gjeti këtë:

Një përjashtim ndodhi ndërsa duke u përpjekur për të blerë fermë lokale:
System.Security.SecurityException: Qasje kërkuar regjistrit nuk është e lejuar.
në System.ThrowHelper.ThrowSecurityException(ExceptionResource burimeve) në
(Emri String, Shkruajtshme Boolean) në
(Emri String) në
() në
() në
(SPFarm& fermë, Boolean& isJoined)
Zona e kishës që ishte e dështuar:  MyComputer

Kjo hapi shtigje të reja të hulumtimit, kështu që ishte kthyer në Google. Kjo çoi mua në këtë Post Forum: http://forums.codecharge.com / posts.php?post_id = 67135. That didn’t really help me but it did start making me think there was a database and/or security issue. I soldiered on and Andrew Connell post finally triggered the thought that I should make sure that the application pool’s identity account had appropriate access to the database. I thought it already did. Megjithatë, Kolegu im shkoi dhe i dha pishinë app identitetit qasje të plotë të llogarisë në SQL.

Sapo ajo e bëri këtë ndryshim, everything started working.

Çfarë ndodhi më tej është shprehur më së miri si një haiku poemë:

Problemet ngrenë duart e tyre.
You swing and miss. Try again.
Sukses! But how? Përse?

Ajo nuk duan të lënë gjërat vetëm si kjo, preferuar të japë leje minimal të kërkuar (dhe ndoshta me një sy në shkrim një blog entry; I rrihte me grusht, muhahahahaha!).

Ajo hequr lejet e njëpasnjëshme nga llogaria pishinë app identitetit deri … there was no longer any explicit permission for the app pool identity account at all. The web service continued to work just fine.

We went and rebooted the servers. Everything continued to work fine.

Kështu, për radhitje: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.

Nëse dikush e di se pse duhet të ketë punuar, ju lutemi të lënë një koment.

</fund>

Technorati Tags:

Siguria minimale e nevojshme për Formave InfoPath

I needed to meet a security requirement for an InfoPath form today. In this business situation, a relatively small number of individuals are allowed to create a new InfoPath form and a much wider audience are allowed to edit it. (Ky është ri-punësojë on-konvikt formular përdoret nga Burimeve Njerëzore që nis një workflow).

Për të përmbushur këtë objektiv, Unë të krijova krijuar dy nivele të reja leje ("create and update" and "update only"), broke inheritance for the form library and assigned permissions to a "create, Përditëso" user and a separate "update only" përdorues. The mechanics all worked, but it turned out to be a little more involving than I expected. (Nëse ju ndjeheni pak të dredhur në lejet për SharePoint, shikoni këtë blog post). The required security configuration for the permission level was not the obvious set of granular permissions. To create an update-only permission level for an InfoPath form, Unë e bëri në vijim:

  1. Krijo një nivel të ri leje.
  2. Qartë larg të gjitha opsionet.
  3. Selected only the following from "List permissions":
    • Edit Items
    • Shiko Artikujt
    • Shiko Pages Aplikimi

Përzgjedhja këto opsione lejon një përdorues të rinovuar një formë, por nuk e krijoni atë.

The trick was to enable the "View Application Pages". There isn’t any verbage on the permission level that indicates that’s required for update-only InfoPath forms, por rezulton se është.

Create-and-Update was even stranger. I followed the same steps, 1 përmes 3 sipër. I had to specifically add a "Site Permission" alternativë: "Use client integration features". Përsëri, përshkrimi atje nuk e bën atë të duket si ajo duhet të jetë e nevojshme për një formë të InfoPath, por nuk është e.

</fund>

SharePoint nuk siguron “I cili ka qasje” Raportet

UPDATE 01/28/08: Ky projekt CodePlex trajton këtë çështje: http://www.codeplex.com/AccessChecker. I have not used it, por kjo duket premtues qoftë se kjo është një çështje që ju duhet për të adresuar në mjedisin tuaj.

UPDATE 11/13/08: Joel Oleson shkroi një post shumë të mirë për çështjen e menaxhimit të sigurisë të madh këtu: http://www.sharepointjoel.com / Lista / Postime / Post.aspx?List=0cd1a63d-183c-4fc2-8320-ba5369008acb&ID = 113. It links to a number of other useful resources.

Forum përdoruesit dhe klientët shpesh pyes një pyetje përgjatë këtyre linjave: "How do I generate a list of all users with access to a site" or "How can I automatically alert all users with access to list about changes made to the list?"

There is no out of the box solution for this. If you think about it for a moment, ajo nuk është e vështirë për të kuptuar pse.

SharePoint security is very flexible. There are at least four major categories of users:

  • Përdoruesit Anonim.
  • Përdoruesit SharePoint dhe Grupet.
  • Përdoruesa aktivë Directory.
  • Format Authentication Based (FBA) Përdoruesit.

Fleksibilitet do të thotë se nga një perspektivë të sigurisë, any given SharePoint site will be dramatically different from another. In order to generate an access list report, një nevojë për të konstatuar se sa faqe është siguruar, query multiple different user profile repositories and then present it in a useful fashion. That’s a hard problem to solve generically.

Si janë organizata që kanë të bëjnë me këtë? I’d love to hear from you in comments or Email.

</fund>

SharePoint të Sigurimit Bazat e parë / Shmangni kurthet e përbashkët

UPDATE 12/18/07: Shih artikullin Paul Liebrand për disa pasoja teknike të hequr apo modifikuar emrat e grupit parazgjedhura (shih komentin e tij poshtë si).

Përmbledhje:

SharePoint security is easy to configure and manage. Megjithatë, it has proven to be difficult for some first-time administrators to really wrap their hands around it. Not only that, I have seen some administrators come to a perfect understanding on Monday only to have lost it by Friday because they didn’t have to do any configuration in the intervening time. (Unë e pranoj për të pasur këtë problem veten). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Shënim i rëndësishëm:

This description is based on out of the box SharePoint security. My personal experience is oriented around MOSS so there may be some MOSS specific stuff here, but I believe it’s accurate for WSS. I hope that anyone seeing any errors or omissions will point that out in comments or email mua. I’ll make corrections post haste.

Bazat:

Për qëllimet e këtij shqyrtimi, ekzistojnë katër aspekte themelore të sigurisë: përdoruesit / grupe, objekte securable, Nivelet leje dhe trashëgimia.

Përdoruesit dhe Grupet prishen për:

  • Përdoruesit individualë: Nxorrën nga directory aktive apo krijuar drejtpërdrejtë në SharePoint.
  • Grupet: Mapped directly from active directory or created in SharePoint. Groups are a collection of users. Groups are global in a site collection. They are never "tied" në një objekt specifik securable.

Objekte Securable prishen në të paktën:

  • Sites
  • Document bibliotekat
  • Zërat individualë në listat dhe bibliotekat dokument
  • Dosjet
  • Settings ndryshme QZHB.

Ka objekte të tjera securable, por ju merrni foto.

Nivelet leje: Një pako e grimcuar / low level access rights that include such things as create/read/delete entries in lists.

Trashëgim: By default entities inherit security settings from their containing object. Sub-sites inherit permission from their parent. Document libraries inherit from their site. So on and so forth.

Përdoruesit dhe grupet lidhen me objekte securable nëpërmjet niveleve leje dhe trashëgimia.

Rregullat më të rëndësishme për të kuptuar Siguri, Ever 🙂 :

  1. Grupet janë thjesht koleksionet e përdoruesve.
  2. Grupet janë globale brenda një site collection (i.e. nuk ka asnjë gjë të tillë si një grup i caktuar në një nivel të faqes).
  3. Emri i grupit nuk qëndrojnë, grupe nuk, në vetvete, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Ju mund të caktojë nivele të ndryshme leje për grupin e njëjtë për çdo objekt securable.
  6. Aplikimi Web politikat atu e gjithë kjo (shih më poshtë).

Administratorët Siguri humbura në një det të grupit dhe lista e përdoruesve gjithmonë mund të mbështeten në këto aksiomat për të menaxhuar dhe për të kuptuar konfigurimin e tyre të sigurisë.

Grackë e përbashkëta:

  • Emrat e grupeve rrejshëm nënkupton leje: Nga kutia, SharePoint defines a set of groups whose names imply an inherent level of security. Consider the group "Contributor". One unfamiliar with SharePoint security may well look at that name and assume that any member of that group can "contribute" to any site/list/library in the portal. That may be true but not because the group’s name happens to be "contributor". This is only true out of the box because the group has been provided a permission level that enables them to add/edit/delete content at the root site. Through inheritance, the "contributors" group may also add/edit/delete content at every sub-site. One can "break" the inheritance chain and change the permission level of a sub-site such that members of the so-called "Contributor" grup nuk mund të kontribuojë në të gjitha, por vetëm lexuar (për shembull). This would not be a good idea, qartë, pasi ajo do të jetë shumë konfuze.
  • Grupet nuk janë të definuara në një nivel të faqes. It’s easy to be confused by the user interface. Microsoft provides a convenient link to user/group management via every site’s "People and Groups" lidhje. It’s easy to believe that when I’m at site "xyzzy" and I create a group through xyzzy’s People and Groups link that I’ve just created a group that only exists at xyzzy. That is not the case. I’ve actually created a group for the whole site collection.
  • Grupet anëtarësimi nuk do të ndryshojnë nga faqja (i.e. ajo është e njëjtë kudo Grupi është përdorur): Consider the group "Owner" dhe dy vende, "HR" and "Logistics". It would be normal to think that two separate individuals would own those sites — an HR owner and a Logistics owner. The user interface makes it easy for a security administrator to mishandle this scenario. If I didn’t know better, Unë mund të hyni në njerëzit dhe grupet lidhjet nëpërmjet faqes së Burimeve Njerëzore, select the "Owners" group and add my HR owner to that group. A month later, Logistics comes on line. I access People and Groups from the Logistics site, add pull up the "Owners" group. I see the HR owner there and remove her, thinking that I’m removing her from Owners at the Logistics site. Në të vërtetë, I’m removing her from the global Owners group. Hilarity ensues.
  • Dështimin për të përmendur grupe të bazuara mbi rolin specifik: The "Approvers" group is a perfect example. What can members of this group approve? Where can they approve it? Do I really want people Logistics department to be able to approve HR documents? Of course not. Always name groups based on their role within the organization. This will reduce the risk that the group is assigned an inappropriate permission level for a particular securable object. Name groups based on their intended role. In the previous HR/Logistics scenario, Unë duhet të ketë krijuar dy grupe të reja: "HR Owners" and "Logistics Owners" dhe të caktojë nivele të ndjeshme leje për secilin dhe shuma minimale e nevojshme për ata përdorues që të bëjnë punën e tyre.

Referencat e tjera të dobishme:

Nëse ju keni bërë deri tani:

Please let me know your thoughts via the comments or email me. If you know other good references, ju lutemi të bëjë të njëjtën!

Technorati Tags: