Sharepoint անվտանգության հիմնադրույթները պիստոն / Խուսափեք ընդհանուր որոգայթներ

ԹԱՐՄԱՑՆԵԼ 12/18/07: Տես Պոլ Liebrand հոդվածը որոշ տեխնիկական հետեւանքների վերացման կամ ձեւափոխման հիմնական խումբ անունները (տեսնել իր մեկնաբանությունը ստորեւ ինչպես նաեւ).

Overview:

SharePoint security is easy to configure and manage. Սակայն, 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. (Ես ընդունում է, որ այս խնդիրը ինձ). This blog entry hopefully provides a useful SharePoint security primer and points towards some security configuration best practices.

Կարեւոր Note:

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 փոստին ինձ. I’ll make corrections post haste.

Նոր:

Նպատակների համար, այս ակնարկ, կան չորս հիմնական կողմեր ​​անվտանգության: ալբոմներ Խմբի մասին, securable առարկաներ, Թույլտվության մակարդակները եւ ժառանգման.

Users եւ Խմբեր կոտրել ներքեւ:

  • Անհատական ​​օգտվողները: Ձգված է Active Directory, կամ ստեղծել անմիջապես Sharepoint.
  • Խմբեր: 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" դեպի տվյալ օբյեկտի securable.

Securable առարկաներ կոտրել են առնվազն:

  • Sites
  • Փաստաթղթերի որոնում
  • Անհատական ​​ապրանքներ ցուցակների եւ փաստաթղթային գրադարանների
  • Թղթապանակներ
  • Տարաբնույթ BDC պարամետրեր.

Կան նաեւ այլ առարկաներ securable, բայց դուք ստանում նկարը.

Թույլտվության մակարդակները: A փաթեթ է հատիկավոր / low level access rights that include such things as create/read/delete entries in lists.

Ժառանգականություն: 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.

Users եւ խմբերի վերաբերում securable օբյեկտների միջոցով թույլտվության մակարդակների եւ ժառանգման.

Կարեւորագույն անվտանգության կանոնները հասկանալու, Ever 🙂 :

  1. Խմբեր պարզապես հավաքածուներ օգտվողներին.
  2. Խմբերն են գլոբալ ընթացքում կայքի հավաքածուի մեջ (i.e. չկա նման բան, ինչպես նաեւ մի խումբ սահմանված է կայքի մակարդակում).
  3. Խմբի անունը չի կարող դիմակայել, խմբեր չեն, - ին եւ իրենց, have any particular level of security.
  4. Groups have security in the context of a specific securable object.
  5. Դուք կարող եք վերագրելու տարբեր մակարդակներ թույլտվության նույն խմբի յուրաքանչյուր օբյեկտի securable.
  6. Վեբ քաղաքականությունը հաղթաթուղթ այս ամենը (տես ստորեւ).

Անվտանգության ադմինիստրատորները կորցրել է ծովում խմբի Օգտվողի ցանկերի միշտ կարող եք ապավինել այդ axioms կառավարել եւ հասկանալ դրանց անվտանգության կոնֆիգուրացիան.

Ընդհանուր որոգայթներ:

  • Խմբի անունները կեղծ ենթադրում թույլտվություն: Դուրս վանդակում, 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" Խումբը, որին կարող է նպաստել ընդհանրապես, բայց միայն կարդալու (օրինակ). This would not be a good idea, ակնհայտ, քանի որ դա կլինի շատ շփոթեցնող.
  • Խմբեր չեն սահմանվում է կայքի մակարդակում. 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" ՈՒղեցույց. 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.
  • Խմբեր անդամակցությունը չի տարբերվել կայքում (i.e. դա նույնն է ամենուր խումբն օգտագործվում է): Consider the group "Owner" եւ երկու կայքեր, "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, Ես կարող մուտք գործել այդ մարդկանց եւ խմբերի հղումներ միջոցով ՀՀ ՄԻ խնդիր կայքում, 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. Ի դեպ, I’m removing her from the global Owners group. Hilarity ensues.
  • Այդպես անուն խմբերի վրա հատուկ դերի: 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, Ես պետք է ստեղծել երկու նոր խմբեր: "HR Owners" and "Logistics Owners" եւ հանձնարարել զգայուն թույլտվության մակարդակների համար միմյանց եւ նվազագույն գումար անհրաժեշտ է այն օգտագործողների համար, որպեսզի իրենց աշխատանքը.

Այլ օգտակար հղումներ:

Եթե ​​դու դարձրեց դա հեռու:

Please let me know your thoughts via the comments or email me. If you know other good references, խնդրեմ նույնն անել!

Արորդիների Tags:

Արագ եւ հեշտ: Ստեղծել Տվյալների Նայել վեբ դեմ (DVWP)

Կա հարստությունը մեծ տեղեկությունների վրա WSS 3.0 Data Դիտել Web Part (DVWP) on the web from several sources. Սակայն, I found it to be surprisingly difficult to find information on this first very basic step. Here is another article in the "quick and easy" Սայլակ դիմել այն.

Հետեւեք այս քայլերին, ստեղծել տվյալների դիտեք վեբ մասին (DVWP). They are based on an "Announcements" Վեբ մաս, բայց կիրառվում է բոլոր ցուցակները.

  1. Ստեղծել Հայտարարություններ վեբ մասը եւ ավելացնել այն կայքում.
  2. Բացեք կայքը է Sharepoint դիզայներ.
  3. Բացիր այս կայքի default.aspx.
  4. Select the Announcements web part and right-click.
  5. From համատեքստում ընտրացանկում, ընտրել «նորադարձ XSTheT Data View ".

Sharepoint Designer տեղեկացնում ենք ձեզ, որ այս կայքը է հարմարեցված իր կայքի սահմանումը. Դա պարտադիր չէ, որ վատ, բայց կան կարեւոր հետեւանքներ (կատարում, բարձրացնել, ուրիշները) որոնք դուրս են շրջանակներում այս փոքրիկ «Արագ եւ հեշտ" մուտք. To get more information on this subject, Ես խորհուրդ երկու գրքերը այստեղ ինչպես նաեւ `Ձեր սիրելի Internet որոնում.

Հաստատեք, որ դուք արել է այն ճիշտ:

  1. Փակեք եւ նորից բացել ոստայնաթերթիչը (խուսափելու պատահաբար նորից փակցնում բնօրինակի "ավելացնել նոր վեբ մաս»:).
  2. Ընտրել կայքի մասին է սլաքը բացվող եւ ընտրեք «փոփոխել Հղում Web Part" սկսած ցանկից.
  3. Այդ գործիքը վահանակ բացում դեպի աջ.
  4. Վահանակը տեղակայվում է փոխվել իր սովորական սահմանված ընտրանքներ այս:
պատկեր

“Հնարավոր չէ ստանալ ցուցակ schema սյունակի սեփականություն է Sharepoint ցուցակում” — նկարագիր / աշխատանքի arounds

Այս շաբաթ, մենք վերջապես վերարտադրվել մի խնդիր է, որ արդեն հաղորդում է հեռավոր Տեղ: Երբ նա փորձել է արտահանել բովանդակությունը ցուցակի է excel մասին, բաներ, որ կարծես թե սկսել է աշխատել, բայց հետո Excel, որ pop մինչեւ սխալ: "Cannot get the list schema column property from the SharePoint list". She was running office 2003, windows XP and connecting to MOSS.

Ես փնտրում են Internets եւ տեսավ, որ շահարկման բայց ոչինչ 100% definitive. Hence, Հաղորդագրություններ.

Խնդիրն: Արտահանելու նպատակով excel մասին, որ պարունակում է ամսաթվով (Ամսաթիվ = տվյալների տեսակը սյունակի).

Ինչ է մեզ համար: Convert the date to a "single line of text". Ապա, նորադարձ այն վերադարձնելու օրվան.

That solved it. It was nice to see that the conversion worked, իրականում. It was quite nervous that converting things this way would fail, but it did not.

This bug է նետվել հսկայական ստվեր է ամսաթիվը տվյալների տեսակ է հաճախորդի միտք, ուրեմն մենք պիտի ձգտում են վերջնական պատասխան Microsoft-ի, եւ հուսով եմ Ամսաթիվ եւ թարմացնել այստեղ հաջորդ կարճ ժամանակահատվածում իրենց պաշտոնական պատասխանին, եւ hotfix տեղեկություններ.

Այլ հղումներ:

http://www.kevincornwell.com/blog/index.php/cannot-get-the-list-schema-column-property-from-the-sharepoint-list/

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2383611&SiteID=1

<վերջ>

Անդամագրվել իմ բլոգում.

Արորդիների Tags: ,

Արագ եւ Simple: Ուղարկել էլ - նամակ, ինչպես նաեւ ներդրված հղիչ է Sharepoint դիզայներ աշխատանքի արդյունքում

Մեկ - երկու անգամ ամսվա մեջ, ինչ - որ մեկը հաղորդագրություններ ֆորումում հարցը: «Ինչպես կարող եմ ներառել hyperlinks վրա հղում է, որոնք clickable մի Sharepoint դիզայներ նամակ?"

Ներկայացրեց առանց լրացուցիչ մեկնաբանությունների: (լավ, ըստ էության, գոյություն ունի նաեւ մեկնաբանել հետո պատկերով):

պատկեր

Becky Isserman հետեւում վեր է օգտակար բացատրության, թե ինչպես տեղադրել հղում դեպի նյութի մեջ էլ: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

New Release: Sharepoint նախագծով աշխատանքի արդյունքում Ստուգման (լարային շահարկման գործառույթները)

ԹԱՐՄԱՑՆԵԼ: Տես այստեղ իմ մտքերի վրա առեւտրայնացումը այս նախագիծը: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ես զբաղված աշխատում իմ Codeplex նախագծին, որը ներկայումս կենտրոնացած է մատուցում լարային շահարկման ընդարձակման համար workflows ստեղծված միջոցով Sharepoint դիզայներ.

Տես այստեղ մանրամասն:

Նախագծի էջ: http://www.codeplex.com/spdwfextensions

Ազատ արձակել: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Տարբերակ 1.0 ընդգրկում է հետեւյալ հատկանիշները,:

Ֆունկցիա Նկարագրություն (եթե ոչ նույնը: Զուտ գործառույթը)
NUM-գրառում() Վերադարձնում համարը գրառումներ" in a string as per a specified delimiter.

Օրինակ,: NUM-ի գրանցումները մի պարանի «ա,բ,գ" սահմանազատիչ հետ "," = 3.

Մուտք() Returns the nth token in a string as per a specified delimiter.
Երկարություն String.Length
Փոխարինել() String.Replace()
Պարունակում է() String.Contains()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».
Ենթատող(սկսել) String.Substring(սկսել)
Ենթատող(սկսել,երկարություն) String.Substring(սկսել,երկարություն)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».
EndsWith() String.EndsWith()
Վերադարձնում բառը, «ճիշտ է" կամ բառը: «կեղծ».

A BDC Runtime սխալ բացատրել

Ես առաջացրել BDC սխալ Այս շաբաթ, որ դրսեւորվեց է ինտերֆեյսի եւ 12 hive log at runtime.

Առաջին, Այս հայտնվել է ինտերֆեյսի:

Հնարավոր չէ գտնել fields բովանդակության բոլոր նույնացուցիչ արժեքների ճիշտ կատարել մի SpecificFinder MethodInstance հետ: Անուն … Ensure input Parameters have TypeDescriptors associated with every Identifier defined for this Entity.

Ահա մի էկրան կրակոց:

clip_image001

I could also cause this message to appear in the 12 hive log at will (using my patented high-tech-don’t-try-this-at-home "mysterious errors" մեթոդ):

11/14/2007 09:24:41.27 w3wp.exe (0x080C) 0x0B8C SharePoint Portal Server Business Data 6q4x High Exception in BusinessDataWebPart.OnPreRender: System.InvalidOperationException: The Identifier value ”, of Type ”, is invalid. Expected Identifier value of Type ‘System.String’. at Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Object[] subIdentifierValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entity entity, Object[] userValues, LobSystemInstance lobSystemInstance) at Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(View desiredView) at Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() at Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

I searched around and found some leads in the MSDN forum, but they weren’t enough for me to understand what I was doing wrong. I watched a webcast by Ted Pattison that my company has squirreled away on a server and came to realize my problem.

In my ADF, I’m connecting to a SQL database as shown:

            <Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
              <![CDATA[
                SELECT
                      SETID, CARRIER_ID, EFFDT, DESCR, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      COUNTRY, ADDRESS1, ADDRESS2, ADDRESS3, ADDRESS4, CITY, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      COUNTY, STATE, POSTAL, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, PHONE, EXTENSION, FAX, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG
                FROM
                      dbo.PS_CARRIER_ID_VW WITH (nolock)
                WHERE
                  (SETID <> 'SHARE') իսկ
                  (lower(CARRIER_ID) >= lower(@MinId)) իսկ
                  (lower(CARRIER_ID) <= lower(@ MaxId)) իսկ
                  (lower(DESCR) LIKE lower(@InputDescr))
                ]]>
            </Սեփականություն>

I was provided that SQL from a DBA person and I’m given to understand that it’s a հատուկ view they created just for me. The unique key there is CARRIER_ID.

Here is the bug I introduced:

      <Identifiers>
        <Identifier Անուն="CARRIER_ID" TypeName="System.String" />
        <Identifier Անուն="DESCR" TypeName="System.String" /> 
</Identifiers>

Տեղ երկայնքով գծում, I had managed to confuse myself over the meaning of <Identifiers> and added DESCR even though it’s not actually an identifier. I took DESCR out of the identifiers set and presto! It all worked.

Հուսով եմ, որ սա ինչ -որ մեկին վիշտ կփրկի

Արորդիների Tags: , , ,

Դուք չեք կարող Beat SharePoint-ի հասնում

Ընթացքում վերջին երկու օրերի, I have participated in two meetings during which we presented the results of a SharePoint project. The CIO and his team joined the first meeting. That’s standard and not especially notable. The IT department is obviously involved in an enterprise rollout of any technology project. The second meeting expanded to include a V.P. from marketing, several directors representing HR, Logistics, Manufacturing, Capital Projects, Quality, Purchasing, Corporate development and other departments (some of whom were not even directly involved in the current phase). That’s a mighty wide audience.

In my prior life, I primarily worked on ERP and CRM projects. They both have a fairly wide solution domain but not as wide as SharePoint. To be fully realized, SharePoint projects legitimately and necessarily reach into every nook and cranny of an organization. How many other enterprise solutions have that kind of reach? Not many.

SharePoint clearly represents an enormous opportunity for those of us fortunate enough to be in this space. It provides a great technical opportunity (which is somehow turned on its head այստեղ under "Technologies You Must Master"). But even better, SharePoint exposes us to an extensive and wide range of business processes through these engagements. How many CRM specialists work with the manufacturing side of the company? How many ERP consultants work with human resources on talent acquisition? SharePoint exceeds them both.

Like anything, it’s not perfect, but it’s a damned good place to be.

Հանուն [լրացրեք ձեր ամենասիրված մարդ / բարձր լինելը], don’t change the ‘Title’ site սյունակ.

On the SharePoint forums, someone occasionally asks about "changing the label of Title" or about "removing title from lists".

Ստորին գիծ: Մի անել!

Տխուր, Օգտվողի միջերեսը հնարավորություն է տալիս միակողմանի փոփոխություն այդ սյունակի պիտակի ինչպես ցույց է տրված:

պատկեր

Title is a column associated with the "Item" բովանդակության տեսակ. Շատ, շատ, many CT’s use this column and if you change it here, it ripples out everywhere. There’s a good chance that you didn’t intend for that to happen. You were probably thinking to yourself, "I have a custom lookup list and ‘Title’ just doesn’t make sense as a column name, so I’m going to change it to ‘Status Code’ and add a description column." But if you follow through on that thought and rename ‘Title’ to ‘Status Code’, every list’s title (including document libraries) changes to "Status Code" and you probably didn’t intend for that to happen.

The real problem is that this is a one-way change. The UI "knows" that "title" is a reserved word. Այնքան, if you try and change "Status Code" back to "Title", it will prevent you and now you’ve painted yourself into a corner using paint that never dries 🙂

So what happens if you already changed it? I haven’t seen the answer we all want, which is a simple and easy method to change the label back to ‘Title’. Right now, the best advice is to change it to something like "Doc/Item Title". That’s a generic enough label that may not be too jarring for your users.

I have few other ideas which are on my to-do list of things to research:

  • Contact Microsoft.
  • Do something with the object model, maybe in conjunction with a feature.
  • Figure out the database schema and manually update SQL. (You should contact Microsoft before doing this though; it will likely void your support contract).

If anyone knows how to solve this, խնդրեմ չունեք մեկնաբանություններ.

Update late afternoon, 11/15: I found this link that describes a method for creating a type of list that does not have a title column: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF եւ Ձեր ընկերը, CDATA

Ես նկատեցի, որ անհարմար է եւ ավելորդ ձեռքի կոդավորումը եւ RdbCommandText որոշ օրինակներ (այդ թվում, MSDN փաստաթղթերի).

I wanted to point out to newcomers to BDC that commands can be wrapped inside a CDATA tag in their "natural" form. Այնքան, սա անհարմար շինարարական:

<Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ից dbo.MCRS_SETTLEMENT
WHERE (id &GT;= @MinId) ՈՒ (id &LT;= @ MaxId)
</Սեփականություն>

կարող է ավելի լավ ներկայացված այս կերպ:

<Սեփականություն Անուն="RdbCommandText" Տիպ="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement ից dbo.MCRS_SETTLEMENT
WHERE (id >= @MinId) ՈՒ (id <= @ MaxId)
]]>
</Սեփականություն>

</վերջ>

BDC Example

Intro է BDC

Ֆունկցիոնալ Example: BDC ADF, որոնք կապում են SQL տվյալների բազայում, ինչպես նաեւ ներդրված օգտվողի ID եւ գաղտնաբառի

I needed to wire up MOSS to a SQL database via BDC. For testing/POC purposes, I wanted to embed the SQL account user id and password in the ADF. Starting with Այս Կաղապար (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Ես ստեղծել ADF, որ միանում է որոշակի SQL Server ատյանի եւ գերանների հետ կոնկրետ Օգտվողի մականունը եւ գաղտնաբառը, եւ ցուցադրվել է այս պատառներ:

  <LobSystemInstances>
    <LobSystemInstance Անուն="ClaimsInstance">
      <Հատկություններ>
        <Սեփականություն Անուն="AuthenticationMode" Տիպ="System.String">PassThrough</Սեփականություն>
        <Սեփականություն Անուն="DatabaseAccessProvider" Տիպ="System.String">SqlServer</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Data Source" Տիպ="System.String">Փաստացի սերվերի  արդիական ատյանի</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Սկզբնական կատալոգ" Տիպ="System.String">փաստացի սկզբնական կատալոգ</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Integrated Security" Տիպ="System.String">SSPI</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Pooling" Տիպ="System.String">սուտ</Սեփականություն>

        <!-- Սրանք այն հիմնական արժեքները,: -->
        <Սեփականություն Անուն="RdbConnection User ID" Տիպ="System.String">աctual User ID</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Գաղտնաբառ" Տիպ="System.String">փաստացի Գաղտնաբառ</Սեփականություն>
        <Սեփականություն Անուն="RdbConnection Trusted_Connection" Տիպ="System.String">սուտ</Սեփականություն>

      </Հատկություններ>
    </LobSystemInstance>
  </LobSystemInstances>

Չէ, լավագույն գործելակերպ, but it’s useful for a quick and simple configuration for testing. This was surprisingly difficult to figure out. I never found a functional example with search keywords:

  • adf ներդրված userid եւ գաղտնաբառը
  • պառկեցնել օգտվողի ID-ն եւ գաղտնաբառը. adf
  • պառկեցնել օգտվողի ID-ն եւ գաղտնաբառը. adf bdc
  • Sharepoint bdc պիստոն
  • Sharepoint embed օգտվողի ID-ն եւ գաղտնաբառը. adf

</վերջ>

Անդամագրվել իմ բլոգում.