Primer Základy zabezpečení serveru SharePoint / Vyhnout se nástrahám společného

AKTUALIZOVAT 12/18/07: Naleznete v článku Paul Liebrand některé technické důsledky odstranění nebo změně výchozí názvy skupin (viz jeho komentář níže a také).

Přehled:

Je snadno konfigurovat a spravovat zabezpečení služby SharePoint. Avšak, To se ukázalo jako obtížné pro některé správce poprvé opravdu zabalit své ruce kolem ní. Nejen, že, Viděl jsem, že někteří správci přicházejí k dokonalé porozumění v pondělí jen proto, aby ztratili to do pátku, protože neměli dělat všechny konfigurace v uplynulém čase. (Přiznám se, že s tímto problémem sám). Tato položka blogu snad poskytuje užitečné primer bezpečnostní služby SharePoint a ukazuje na některé doporučené postupy konfigurace zabezpečení.

Důležitá poznámka:

Tento popis je založena na box zabezpečení služby SharePoint. Moje osobní zkušenost je orientovaný kolem MOSS, tak tam může být nějaký MOSS konkrétní věci zde, ale věřím, že to je přesný pro WSS. Doufám, že někdo viděl nějaké chyby nebo opomenutí naznačí, v komentářích nebo napište mi. Zajistím, aby opravy místo spěchu.

Základy:

Pro účely tohoto přehledu, Existují čtyři základní aspekty bezpečnosti: Uživatelé a skupiny, zabezpečené objekty, úrovně oprávnění a dědičnosti.

Uživatelé a skupiny Break dolů:

  • Jednotliví uživatelé: Stáhl z aktivního adresáře nebo vytvořených přímo ve službě SharePoint.
  • Skupiny: Přímo mapovaná z adresáře active directory nebo vytvořených v SharePoint. Skupiny jsou kolekce uživatelů. Skupiny jsou globální v kolekci webů. Oni se nikdy "vázáno" pro určitý zabezpečený objekt.

Zabezpečené objekty Break se alespoň:

  • Weby
  • Knihovny dokumentů
  • Jednotlivé položky v seznamech a knihovnách dokumentů
  • Složky
  • Různé nastavení záložního řadiče domény.

Tam jiné zabezpečené objekty, ale dostanete obrázek.

Úrovně oprávnění: Svazek ve formě / nízká úroveň přístupová práva, které zahrnují takové věci jako vytváření, čtení a odstranění položek v seznamech.

Dědičnost: Ve výchozím nastavení entit dědí nastavení zabezpečení na jejich obsahující objektu. Podřízené weby dědí oprávnění z nadřazeného webu. Knihovny dokumentů dědí z jejich webu. Tak dále a tak dále.

Uživatelé a skupiny se vztahují k zabezpečeným objektům prostřednictvím úrovně oprávnění a dědičnosti.

Nejdůležitější bezpečnostní pravidla, pochopit, Ever 🙂 :

  1. Skupiny jsou jednoduše skupinám uživatelů.
  2. Skupiny jsou globální v rámci kolekce webů (tj. neexistuje nic takového jako skupiny definované na úrovni webu).
  3. Název skupiny není odolat, skupiny nemají, v místě a samy o sobě, žádné konkrétní úroveň bezpečnosti.
  4. Skupiny mají v kontextu určitého zabezpečeného objektu zabezpečení.
  5. Může přidělit různé úrovně oprávnění ke skupině stejné pro každý zabezpečený objekt.
  6. Webové aplikace politiky trumf, to vše (viz níže).

Správci zabezpečení ztratil v moři uživatelů a skupin výpisů může vždy spolehnout na tyto axiomy řídit a pochopit jejich konfigurace zabezpečení.

Společné úskalí:

  • Názvy skupin falešně naznačují oprávnění: Out of the box, SharePoint definuje sadu skupin, jejichž jména vyplývá základní úroveň zabezpečení. Zvažte skupině "Přispěvatel". Jeden obeznámeni s bezpečnostní služby SharePoint může dobře podívat se na to jméno a předpokládat, že každý člen této skupiny může "přispět" všechny stránky/seznam/knihovny v portálu. To může být pravda, ale ne proto, že název skupiny je náhodou "Přispěvatel". To je pravda z krabice jen proto, že skupina byla poskytnuta úroveň oprávnění, která jim umožňuje přidat, upravit či odstranit obsah v kořenové lokalitě. Prostřednictvím dědičnosti, Přispěvatelé"" Skupina může také přidat/upravit/smazat obsah na všechny dílčí weby. Jeden může "break" řetězec dědičnosti a změnit úroveň oprávnění podřízený_web takové že členové takzvaného "Přispěvatel" Skupina nemůže přispět na všech, ale jen číst (například). To by nebyl dobrý nápad, očividně, vzhledem k tomu, že by bylo velmi matoucí.
  • Skupiny nejsou definovány na úrovni webu. Je to snadné záměně uživatelské rozhraní. Společnost Microsoft poskytuje vhodný odkaz na uživatelů/skupin správy prostřednictvím každé stránky "lidé a skupiny" odkaz. Je snadné se domnívat, že když jsem na webu "xyzzy" a vytvořit skupinu prostřednictvím si xyzzy lidi a spojit skupiny, které jste právě vytvořili skupinu, která existuje jen v xyzzy. To není případ. Jsem vlastně vytvořil skupinu pro celou kolekci webů.
  • Skupiny členství nebude měnit o webu (tj. je to stejná všude, kam se používá skupina): Zvažte skupině "vlastník" a dva weby, "HR" a "Logistika". Bylo by vhodné si myslet, že dvou samostatných jedinců by vlastnit ty stránky — HR vlastníka a majitel logistiky. Uživatelské rozhraní usnadňuje správci zabezpečení špatně zacházet tohoto scénáře. Kdybych neznal lépe, Možná přístup osoby a skupiny odkazy prostřednictvím webu HR, Vyberte "vlastníci" seskupení a přidejte své HR vlastníka této skupiny. O měsíc později, Logistika přichází na lince. Z logistické stránky přístup k lidem a skupinám, Přidat vytáhnout "vlastníci" Skupina. Vidím tam majitel HR a odstranit ji, myslí, že jsem ji odstranění od vlastníků na stránce logistiky. Vlastně, Jsem ji vyjmete z globální skupiny Vlastníci. Veselí vyplývá.
  • Není-li název skupiny založené na roli: Schvalovatelé"" Skupina je dokonalým příkladem. Co mohou členové této skupiny schválení? Kde mohou schválí? Opravdu chci, oddělení logistiky lidé mohli schválit HR dokumenty? Samozřejmě že ne. Vždy jméno skupiny na základě jejich role v rámci organizace. Tím se sníží riziko, že skupina je přiřazena úroveň nevhodné oprávnění pro určitý zabezpečený objekt. Jméno skupiny na základě jejich zamýšleného role. V předchozím scénáři HR/logistika, Měl jsem vytvořil dvě nové skupiny: "HR vlastníci" a "Logistika vlastníci" a přiřadit úrovně rozumné oprávnění pro každého a minimální částka potřebná pro ty uživatele, aby dělali svoji práci.

Další užitečné odkazy:

Pokud jste to dotáhli tak daleko:

Prosím, dejte mi vědět vaše myšlenky přes Komentáře, nebo napište mi. Pokud znáte jiné dobré reference, Prosím o totéž!

Doplněk Technorati značky:

Rychlé a snadné: Vytvoření webové části zobrazení dat (DVWP)

Je tu spoustu skvělé informace o WSS 3.0 Webová část zobrazení dat (DVWP) na webu z několika zdrojů. Avšak, Našel jsem ji překvapivě obtížné najít informace o první základní krok. Tady je další článek v "rychlé a snadné" série řešit.

Pomocí následujících kroků vytvořit webové části zobrazení dat (DVWP). Jsou založeny na "oznámení" Webová část, ale platí pro většinu seznamů.

  1. Vytvořte oznámení webovou část a přidejte jej do stránky.
  2. Otevřete web v aplikaci SharePoint Designer.
  3. Otevřete stránky default.aspx.
  4. Vyberte webové části oznámení a klepněte pravým tlačítkem myši.
  5. Z kontextového menu, Vyberte "převést na XSLZobrazení dat T".

SharePoint Designer vás upozorní, že tento web je nyní přizpůsobit od definice webu. To není nutně špatná, ale existují významné důsledky (výkon, inovace, ostatní) které jsou nad rámec tohoto malého "rychlé a snadné" vstup. Chcete-li získat více informací o tomto tématu, Doporučuji obě knihy Tady stejně jako vaše oblíbené vyhledávání na internetu.

Potvrďte, že jste to správně:

  1. Zavřete a znovu otevřete webový prohlížeč (aby se zabránilo náhodně re-vysílání původní "přidat novou webovou část").
  2. Vyberte webové části šipku rozevíracího mimo provoz a vyberte "Upravit sdílenou webovou část" z nabídky.
  3. Vpravo se otevře panel nástroj.
  4. Panel se změnil ze své obvyklé nastavení možností na to:
obrázek

“Nelze načíst vlastnost sloupce schématu seznamu ze seznamu služby SharePoint” — Popis/práce arounds

Tento týden, jsme konečně reprodukovat problém, byly vykázány vzdáleným uživatelem: Když se pokusila se exportovat obsah seznamu do aplikace excel, Zdá se, že věci by začít pracovat, ale pak by Excel vyskočí chyba: "Nelze načíst vlastnost sloupce schématu seznamu ze seznamu služby SharePoint". Ona běžela úřadu 2003, Windows XP a připojení k MOSS.

Jsem prohledal Internet a viděl některé spekulace ale nic 100% definitivní. Proto, Tento post.

Problém: Exportovat zobrazení do aplikace excel, který obsahuje datum (Datum = datový typ sloupce).

Co pracoval pro nás: Převést datum na "jeden řádek textu". Pak, převést zpět na datum.

To vyřešil. To bylo hezké vidět, že převod funguje, ve skutečnosti. Bylo to docela nervózní, že by selhání převodu věci tímto způsobem, ale to nebylo.

Tato chyba má obrovský stín zavrhnutý date typ dat v paměti klienta, tak to musíme být hledání definitivní odpověď od společnosti Microsoft a doufejme, že budu účtovat a aktualizovat zde v příštích krátké době své oficiální odpověď a hotfix informace.

Další odkazy:

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

<Konec>

Přihlásit se na mém blogu.

Doplněk Technorati značky: ,

Rychlé a jednoduché: Poslat e-mail s vloženými hypertextový odkaz z aplikace SharePoint Designer workflow

Jednou nebo dvakrát měsíčně, někdo vystaví dotaz fórum: "Jak ho mám zahrnout hypertextové odkazy na adresy URL, které jsou klikací z e-mailu aplikace SharePoint Designer?"

Bez dalšího komentáře: (Dobře, ve skutečnosti existuje další komentář po obrázku):

obrázek

Becky Isserman navazuje užitečné vysvětlení o tom, jak vložit odkaz na položku v e-mailu: 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

Doplněk Technorati značky: , ,

Nová verze: Rozšíření pracovního postupu aplikace SharePoint Designer (řetězcové funkce manipulace)

AKTUALIZOVAT: Viz zde pro mé myšlenky na komercializaci tento projekt: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Byl jsem zaneprázdněn prací na svém Codeplex projektu, který je v současné době zaměřuje na vlastní poskytování řetězec manipulace rozšíření pracovní postupy vytvořené pomocí aplikace SharePoint Designer.

Podrobnosti naleznete zde:

Projekt domov: http://www.codeplex.com/spdwfextensions

Vydání: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Verze 1.0 obsahuje následující nové funkce:

Funkce Popis (je-li to není stejné jako funkce .net)
NUM položky() Vrátí počet položek"" v řetězci podle určeného oddělovače.

Například: NUM položky v řetězci "a,b,c" s oddělovač"," = 3.

Vstup() Vrátí n-tý token v řetězci podle určeného oddělovače.
Délka String.Length
Nahradit() String.Replace()
Obsahuje() String.Contains()
Vrátí se slovo "pravda" nebo slovo "false".
Podřetězec(začátek) String.Substring(začátek)
Podřetězec(začátek,Délka) String.Substring(začátek,Délka)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Vrátí se slovo "pravda" nebo slovo "false".
EndsWith() String.EndsWith()
Vrátí se slovo "pravda" nebo slovo "false".

Chyba runtime BDC vysvětlil

Jsem způsobil chybu BDC tento týden, která se projevila na uživatelské rozhraní a 12 protokol úl za běhu.

První, To se objevil v uživatelském rozhraní:

Nelze najít pole pro vložení všech hodnot identifikátorů ke správnému spuštění instance SpecificFinder MethodInstance s názvem … Zkontrolujte, zda že mají vstupní parametry přidruženy všem identifikátorům definovaným pro tuto entitu popisovač TypeDescriptor ke.

Zde je screen shot:

clip_image001

Také by mohla způsobit této zprávy se objeví v 12 protokol úl se (použití můj patentovaný high-tech-don't-try-this-at-home "záhadné chyby" Metoda):

11/14/2007 09:24:41.27 W3wp.exe (0x080C) 0x0B8C SharePoint Portal Server obchodních dat 6q4x vysoké výjimka v BusinessDataWebPart.OnPreRender: Výjimka: Hodnota identifikátoru ”, typu ”, je neplatný. Očekávaná hodnota identifikátoru typu "System.String.". na Microsoft.Office.Server.ApplicationRegistry.MetadataModel.Entity.FindSpecific(Objekt[] subIdentifierValues, Vlastnost LobSystemInstance instanci lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BdcClientUtil.FindEntity(Entita entity, Objekt[] userValues, Vlastnost LobSystemInstance instanci lobSystemInstance) na Microsoft.SharePoint.Portal.WebControls.BusinessDataItemBuilder.GetEntityInstance(Zobrazit desiredView) na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.GetEntityInstance() na Microsoft.SharePoint.Portal.WebControls.BusinessDataDetailsWebPart.SetDataSourceProperties()

Hledal jsem a našel nějaký zájemce v MSDN Fórum, ale nebylo dost pro mě pochopit, co dělám špatně. Sledoval jsem vysílání od Ted Pattison to moje Společnost se schovávaly na serveru a přišli realizovat můj problém.

V mém ADF, Připojení k databázi SQL uvedené:

            <Vlastnost Jméno="RdbCommandText" Typ="System.String">
              <![CDATA[
                VYBERTE ID SADY, CARRIER_ID, EFFDT, POPIS, EFF_STATUS, TAXPAYER_ID, NETWORK_ID, FRT_FORWARD_FLG, ALT_NAME1, ALT_NAME2, LANGUAGE_CD,
                      ZEMĚ, ADDRESS1, ADRESA2, ADDRESS3, ADDRESS4, MĚSTO, NUM1, NUM2, HOUSE_TYPE, ADDR_FIELD1, ADDR_FIELD2, ADDR_FIELD3,
                      OKRES, STÁT, POŠTOVNÍ, GEO_CODE, IN_CITY_LIMIT, COUNTRY_CODE, TELEFON, PRODLOUŽENÍ, FAXU, LAST_EXP_CHK_DTTM, FREIGHT_VENDOR,
                      INTERLINK_DLL, TMS_EXCLUDE_FLG od dbo.PS_CARRIER_ID_VW s (NOLOCK)
                KDE
                  (ID SADY <> "PODÍL") a
                  (nižší(CARRIER_ID) >= nižší(@MinId)) a
                  (nižší(CARRIER_ID) <= nižší(@MaxId)) a
                  (nižší(POPIS) JAKO spodní(@InputDescr))
                ]]>
            </Vlastnost>

Byl poskytnut toto SQL z DBA osoby a dal mi pochopit, že jde speciální pohled, který si vytvořili jen pro mě. Jedinečný klíč tam je CARRIER_ID.

Tady je chyba, kterou jsem představil:

      <Identifikátory>
        <Identifikátor Jméno="CARRIER_ID" TypeName="System.String" />
        <Identifikátor Jméno="POPIS" TypeName="System.String" /> 
</Identifikátory>

Někde podél trati, Se podařilo zmást sám s významem <Identifikátory> a přidat popis, i když to není ve skutečnosti identifikátor. Vzal jsem si popis sada identifikátory a presto! To všechno fungovalo.

I hope this saves someone some grief 🙂

Doplněk Technorati značky: , , ,

Nemůžete porazit SharePoint je Reach

Během posledních dvou dnů, Jsem se zúčastnil dvou setkání, během kterých jsme prezentovali výsledky projektu SharePoint. CIO a jeho tým vstoupil první setkání. To je standardní a ne pozoruhodný. IT oddělení je očividně zapojen do organizace zavádění jakéhokoli projektu technologie. Druhá schůzka rozšířena Voborník. od marketingu, několik ředitelů představujících HR, Logistika, Výroba, Investiční projekty, Kvalita, Nákup, Rozvoj podnikání a ostatních oddělení (některé z nichž dokonce přímo neúčastnili v současné fázi). To je docela široké publikum.

V mém předchozím životě, Pracuji převážně na ERP a CRM projekty. Mají poměrně široké řešení domény, ale ne tak široký jako SharePoint. Bude plně realizován, Projekty SharePoint legitimně a nutně sáhnout a organizace. Kolik dalších podnikových řešení mají trochu dosáhnout? Není mnoho.

SharePoint jasně představuje obrovskou příležitost pro ty z nás, štěstí, že se v tomto prostoru. To poskytuje velkou příležitost technické (což je nějak postavilo na hlavu Tady pod "Technologie musíte zvládnout"). Ale ještě lepší, SharePoint nás vystavuje rozsáhlou a širokou škálu obchodních procesů prostřednictvím těchto závazků. Kolik CRM specialisté pracují s straně výrobní společnosti? Kolik ERP Konzultanti pracují s lidskými zdroji talent pořízení? SharePoint je oba přesahuje.

Jako nic, není to dokonalé, ale je to zatraceně dobrým místem k životu.

Pro lásku [Vyplňte vaší nejoblíbenějších osoba/vyšší bytosti], Neměnit ' titul’ sloupec webu.

Na Fóra služby SharePoint, občas někdo požádá o "změně označení titulu" nebo o "odebrání titulu ze seznamů".

Čára dole: Nedělej to!

Bohužel, uživatelské rozhraní umožňuje jednosměrný změnu tohoto popisku sloupce, jak je uvedeno:

obrázek

Titul je sloupec související s položkou"" Typ obsahu. Mnoho, mnoho, mnoho, tento sloupec slouží CT a pokud změníte jej zde, To se všude rozvlní. Je tu dobrá šance, že neměl v úmyslu, aby se stalo. Jste zřejmě myšlení na sebe, "Mám vlastní vyhledávací seznam a ' Title’ prostě nedává smysl jako název sloupce, Takže ji změnit na "stavový kód’ a přidejte sloupec Popis." Ale pokud jste dotáhnout na tomto myšlení a přejmenovat ' titul’ k "Stavový kód", Každý seznam titul (včetně knihoven dokumentů) změny stavového kódu"" a vy pravděpodobně neměl v úmyslu, aby se.

Skutečným problémem je, že se jedná o jednosměrný změnu. "Ví, UI" Tento titul"" je vyhrazené slovo. Tak, budete-li měnit stavový kód"" zpět na "Title", to bude bránit a teď máš maloval sám do kouta using paint that never dries 🙂

Tak co se stane, když jste již změnili? Neviděl jsem odpověď, kterou všichni chceme, která je jednoduchá a snadná Metoda změnit popisek zpět na "Titul". Hned teď, nejlepší rada je to změnit na něco jako "Doc/položky nadpis". To je dost obecný popisek, který nemusí být příliš prudké pro uživatele.

Mám několik dalších nápadů, které jsou v mém to-do seznamu věcí do výzkumu:

  • Obraťte se na Microsoft.
  • Něco s objektovým modelem, Možná ve spojení s funkcí.
  • Zjistit schéma databáze a ručně aktualizovat SQL. (Než k tomu však požadovat dotyk Microsoft; to bude pravděpodobně neplatné smlouvy o podpoře).

Pokud někdo ví, jak to vyřešit, Prosím, psát komentáře.

Aktualizace pozdě odpoledne, 11/15: Našel jsem tento odkaz, který popisuje metodu pro vytvoření typu seznamu, který neobsahuje sloupec název: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF a váš přítel, CDATA

Všiml jsem si nějaké trapné a zbytečné ruční kódování RdbCommandText v některých příkladech (včetně MSDN dokumentace).

Chtěl jsem upozornit, nováčkům BDC, že příkazy může být zabaleno uvnitř CDATA značky v původním"" formulář. Tak, Tato nepříjemná konstrukce:

<Vlastnost Jméno="RdbCommandText" Typ="System.String">
SELECT dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
KDE (ID &gt;= @MinId) A (ID &lt;= @MaxId)
</Vlastnost>

může být lépe zastoupeny tímto způsobem:

<Vlastnost Jméno="RdbCommandText" Typ="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.ID, dbo.MCRS_SETTLEMENT.Settlement z dbo.MCRS_SETTLEMENT
KDE (ID >= @MinId) A (ID <= @MaxId)
]]>
</Vlastnost>

</Konec>

BDC Primer

Úvod do služby BDC

Funkční příklad: BDC ADF, který se připojuje k SQL databázi s vloženými uživatelského id a hesla

Potřeboval jsem drát se mech k databázi SQL prostřednictvím služby BDC. Pro účely testování/POC, Chtěl jsem vložit SQL účet id uživatele a heslo v ADF. Počínaje Tato šablona (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Vytvořil jsem automatickým podavačem dokumentů, který se připojuje k určité instanci SQL serveru a přihlásí se určité uživatelské id a heslo a zobrazeny v tomto úryvku:

  <LobSystemInstance>
    <Vlastnost LobSystemInstance Jméno="ClaimsInstance">
      <Vlastnosti>
        <Vlastnost Jméno="AuthenticationMode" Typ="System.String">Průchod</Vlastnost>
        <Vlastnost Jméno="DatabaseAccessProvider" Typ="System.String">SqlServer</Vlastnost>
        <Vlastnost Jméno="Zdroj dat RdbConnection" Typ="System.String">serveractual aktuální instance</Vlastnost>
        <Vlastnost Jméno="RdbConnection počáteční katalog" Typ="System.String">skutečné počáteční katalog</Vlastnost>
        <Vlastnost Jméno="RdbConnection integrované zabezpečení" Typ="System.String">SSPI</Vlastnost>
        <Vlastnost Jméno="RdbConnection sdružování" Typ="System.String">NEPRAVDA</Vlastnost>

        <!-- To jsou klíčové hodnoty: -->
        <Vlastnost Jméno="ID uživatele RdbConnection" Typ="System.String">aečná ID uživatele</Vlastnost>
        <Vlastnost Jméno="RdbConnection heslo" Typ="System.String">skutečné heslo</Vlastnost>
        <Vlastnost Jméno="RdbConnection Trusted_Connection" Typ="System.String">NEPRAVDA</Vlastnost>

      </Vlastnosti>
    </Vlastnost LobSystemInstance>
  </LobSystemInstance>

To není nejlepší praxe, ale je to užitečné pro rychlé a jednoduché nastavení pro testování. To byl překvapivě těžko řešitelné. Nikdy jsem našel funkční příklad s klíčová slova pro hledání:

  • ADF vložit ID uživatele a heslo
  • Vložit id uživatele a heslo do adf
  • Vložit id uživatele a heslo v adf bdc
  • SharePoint bdc primer
  • SharePoint vložit id uživatele a heslo do adf

</Konec>

Přihlásit se na mém blogu.