ÁghyBlog

2009. June 30., Tuesday

A SharePoint jogosultságkezelése és a Kerberos

Filed under: SharePoint, admin, jogosultságkezelés, telepítés — aghy @ 21:56

A SharePoint alapú rendszerek tervezése során gyakran kell szembesülnöm azzal, hogy sokak számára a SharePoint jogosultságkezelése egyfajta misztikum (értem ezalatt az üzemeltetőket, fejlesztőket és végfelhasználókat egyaránt). Pedig a dolog nem is olyan nagy ördöngősség.

A SharePoint maga nem végez felhasználó-hitelesítést (authentication), ezt a feladatot valamelyik alatta lévő rétegre, az ASP.NET-re vagy az IIS-re bízza. Mivel leggyakrabban intranetes portálok kialakítására használják a SharePointot, alapértelmezés szerint az IIS Windows Integrated Authentication van bekapcsolva, ez a felhasználókat az Active Directoryból vagy a helyi számítógép felhasználói közül veszi.

image

A SharePoint jogosultságkezelése tehát alapértelmezésben Active Directory-alapú, de van lehetőségünk más authentikációs módot is választani (pl. Extranet esetében javasolt a Form Based Authentication, FBA). Ahhoz, hogy a különféle típusú felhasználókat és felhasználói csoportokat egységesen kezelhessük, SharePoint oldalon is lehetőségünk van csoportok definiálására, valamint felhasználók közvetlen hozzáadására. Ezekbe a csoportokba egyedi felhasználók vagy AD csoportok is tartozhatnak, ám SharePoint csoportok egymásba szervezésére nincs lehetőségünk. A különféle tartalmakhoz ezeket a SharePoint csoportokat (valamint az AD csoportokat és felhasználókat) rendelhetjük hozzá különféle jogosultságokkal.

Fontos, hogy azok a felhasználók, akik vagy közvetlenül, vagy valamilyen csoporton keresztül nem kerültek hozzárendelésre semmilyen SharePoint tartalomhoz, nem férhetnek hozzá ezekhez, még csak nem is láthatják ezek létezését. Egyetlen kivétel lehet csupán: ha engedélyeztük az Anonymous hozzáférést (pl. Internet esetében). Ebben az esetben a nem nyilvántartott felhasználók az általános anonim hozzáférési jogokat kapják meg.

image

A hozzáférést több szinten definiálhatjuk, s ezek között fentről lefelé öröklődhetnek a jogosultságok, vagy minden szinten egyedi jogosultságokat definiálhatunk. Ezek a jogosultsági szintek, tartalmi oldalról a következők:

  • site collection
  • site
  • lista / dokumentumtár
  • mappa
  • listaelem / dokumentum

Sajnos jogosultságok más dimenzió mentén történő meghatározására nincs lehetőségünk. Így nem határozhatjuk meg, hogy az adott elem bizonyos oszlopait csak a felhasználók egy köre láthassa, s másik oszlophalmazt pedig másik felhasználói csoport. Ugyancsak nincs lehetőségünk arra sem, hogy listanézetekhez definiáljuknk hozzáférési szabályokat.

Jogosultsági szintek, elemi jogok

A fentieken túl természetesen azt is meg kell mondanunk, hogy az adott felhasználó(k), csoport(ok) milyen joggal fér(nek) hozzá az adott tartalmakhoz. Ezt úgy valósíthatjuk meg, hogy az egyes tartalom-csoport(/user) párokhoz hozzárendelünk előre definiált jogosultsági szinteket. Például a Tartalomszerkesztő csoport tagjai a Közérdekű Hírek listához "módosítási" és "értesítésküldő" jogosultsági szinten férnek hozzá.

Ezek a jogosultsági szintek elemi jogokból épülnek fel. Az alapértelmezett, beépített szinteken túl természetesen nekünk is van lehetőségünk újabb jogosultsági szintek definiálására (pl. az "értesítésküldő" szintet senki ne keresse by default ;-)). Néhány elemi jogosultság, melyekből építkezhetünk:

  • lista elem létrehozása
  • lista elem szerkesztése
  • lista elem törlése
  • dokumentumverziók megtekintése
  • dokumentumverziók törlése
  • kivétel felüldefiniálása
  • figyelmeztetések küldése/kezelése (más felhasználóknak is!)
  • jogosultságok kezelése
  • tartalmak létrehozása
  • webhelyszerkezet módosítása
  • személyes nézet létrehozása
  • stb.

Az elemi jogok között olyanokat is találunk, melyek egymásra épülnek, ám szerencsére ezt a SharePoint automatikusan kezeli helyettünk: ha olyan jogot adunk a jogosultsági szintet, amely más jogokra is épít, akkor vizsgálat után bekapcsolja valamennyi szükséges elemi jogot.

image

Kerberos

A Kerberos az MIT által kifejlesztett, ticketing-alapú authentikációs módszer, amely a jelszó alapú hitelesítés legfontosabb gyengeségeit hivatott kiküszöbölni: A kliens kérésekre a Kerberos szerver egy authentikációs jegyet (ticket) biztosít, amennyiben a kérés érvényes felhasználói azonosítót (user credential) és szolgáltatásazonosítót (Service Principal Name, SPN) tartalmaz. A kliens ezután ezt a ticket-et használja a hálózati erőforrás (esetünkben SharePoint) eléréséhez.

image

Microsoft Office SharePoint Server 2007 esetében az alábbi egységeket védhetjük Kerberos alapú hitelesítéssel:

  • MOSS 2007 és SQL Server közötti kommunikáció;
  • SharePoint Central Administration Web Application;
  • Shared Services Administration Web Application;
  • egyéb, tetszőleges webalkalmazás (felhasználói tartalmak, funkciók, stb.);
  • Shared Service-ek.

MOSS 2007 intranet környezet esetében a Kerberos konfigurációja utólag, a telepítést és egyéb beállításokat követően történik. A gördülékeny működés érdekében ezért azt szoktam javasolni, hogy a SharePoint környezet kialakítása az alapértelmezett NTLM authentikációval történjen, s csak később, fokozatosan kerüljön bevezetésre a Kerberos.

Néhány trükk

1. A ticketing miatt a Kerberos csak hosszabb session-ök esetében lesz gyorsabb, mint az egyszerű NTLM. Ezért a Kerberos bevezetése előtt mindenképp érdemes a felhasználói szokásokat, a különféle session-ök időtartamát naplózni és elemezni. Bob Fox és Spence Harbar egyik prezentációjában találtam az alábbi, igen beszédes  összehasonlítást:

image

2. Kerberos alapú hitelesítést SSP-kre csak a SharePoint Infrastructure Updates (vagy természetesen az SP2) telepítése után alkalmazhatunk.

3. Egy tévhiedelem szerint a MOSS 2007 csak akkor tudja Kerberos-alapú webalkalmazásaink tartalmait felindexelni, ha az a default porton ül (TCP 80 vagy SSL 443), más portok esetében csak NTLM-mel vagy Basic Authentication-nel. – Felejtsük el, ugyanis mindez egyetlen mozdulattal kiküszöbölhető! Mégpedig úgy, ha a nem-alapértelmezett porton található webalkalmazásunkra Host Header-t definiálunk – ekkor ugyanis a SharePoint máris képes lesz bejárni és indexelni annak tartalmát.

links for 2009-06-29

Filed under: linkek — aghy @ 00:00

2009. June 27., Saturday

links for 2009-06-26

Filed under: linkek — aghy @ 00:02
  • The public update for the Service Pack 2 expiration date issue is now available for download.

    The update can be applied before or after Service Pack 2 installation. If the update is applied prior to installing Service Pack 2 it will prevent the expiration date from being improperly activated during installation of Service Pack 2, if it is applied after Service Pack 2 it will remove the expiration date incorrectly set during installation of Service Pack 2.

2009. June 26., Friday

SharePoint 2007 SP2 - Update

Filed under: SharePoint, admin, telepítés — aghy @ 09:14

Elkészült a SharePoint 2007 SP2 bugfix. Mint azt korábban írtam, az SP2 telepítésekor a MOSS átvált 180 napos trial verzióra, s ha nem adjuk be neki ismételten a Product Key-t, 180 nap után működése megáll. A hotfix segítségével javításra került ez az SP2 hiba, így most már bátran telepíthető.

Bovebb információ és letöltés ITT.

links for 2009-06-25

Filed under: linkek — aghy @ 00:01

2009. June 25., Thursday

links for 2009-06-24

Filed under: linkek — aghy @ 00:01
  • BabelWith.Me lets you set up a simple, gorgeously designed chat-room in a matter of seconds. You’re then provided with a unique URL to share with whomever you’re looking to chat with – no matter what language they speak – and get chatting as you would normally.

    The service supports up to 45 different languages and performs real time translation as you type

  • Bi-hourly shutdowns of the Windows 7 Beta (which Microsoft released officially in January of this year) are set to begin next week, on July 1. On August 1, the Windows 7 Beta will be marked as “non-Genuine” software, with those running it becoming subject t the punishments that Microsoft has earmarked for pirates.

    Testers have until August 15 to download the Windows 7 Release Candidate (RC) build, which Microsoft made available for download starting in May 2009. The RC is set to begin its own bi-hourly shutdowns in March 2010 and to be designated “non-Genuine” in June 2010.

2009. June 24., Wednesday

links for 2009-06-23

Filed under: linkek — aghy @ 00:00

2009. June 23., Tuesday

links for 2009-06-22

Filed under: linkek — aghy @ 00:02

2009. June 22., Monday

Adatbázis-módosító labda

Filed under: Életkép — aghy @ 11:34

Találékony ember az informatikus. Az irodába néhány hónapja szereztünk egy mini-palánkot, és hozzá egy kosárlabdát. Az utóbbi hónapokban én ugye elég keveset ültem itt a helyemen (bár egyre többet), és ma reggel az asztalomon találtam a labdát. Egyik kollégám kérdezte is: “Jéééé, most Nálad van az adatbázis-módosító labda?” – Mint kiderült, az egyik projekten tokenként használják: akinek az asztalán a labda, az matathatja manuálisan az adatbázist, így elkerülve az ütközéseket.

Mára is megvan az alaphangulat :)

links for 2009-06-21

Filed under: linkek — aghy @ 00:00

2009. June 20., Saturday

links for 2009-06-19

Filed under: linkek — aghy @ 00:03

2009. June 19., Friday

links for 2009-06-18

Filed under: linkek — aghy @ 00:03

2009. June 18., Thursday

Listatrükkök

Filed under: SharePoint, testreszabás — aghy @ 12:59

Elég gyakran kapok olyan kérdéseket, hogy ezt vagy azt hogyan lehet megoldani/meghegeszteni SharePoint alatt, lehetőleg programozás nélkül? Időnként még az is felmerül kritériumként, hogy SharePoint Designer-t sem szeretnének használni, pedig ezzel jelentős “erőt” veszítenek. A napokban pont egy ilyen kérdéskört kezdtünk el feszegetni egyik ügyfelünknél: egy feladatlistát szeretett volna testreszabni, mégpedig oly módon, hogy ne csak az alapértelmezett státuszokat tudja kezelni, hanem azt is, hogy a végrehajtással kifutottak-e már az idővel vagy sem.

Első ránézésre egyszerűnek tűnik a feladat: létrehozunk egy Calculated típusú oszlopot, ahol a feladat határidejét (Due Date) összehasonlítjuk a mai dátummal (TODAY), és ennel megfelelően veszi fel az “In Time” vagy “Late” értékeket. A gond azonban az, hogy a beépített TODAY funkció nem használható Calculated típusú oszlopban (és a ME sem). Létrehozhatunk egy dátum (Date and Time) típusú oszlopot, melynek a default értéke TODAY, és ezt már felhasználhatjuk a Calculated oszlopban, ám ezzel is van egy apró gond: a TODAY értéket nem frissíti újra és újra, amikor napot váltunk, tehát 1-2-3-… nap múlva is 2009. június 18. lesz, hacsak nem frissítjük az adott elemet. Az eseménykezelő vagy timer job írása kizárva, a fenti kritériumok miatt. SharePoint Designer ugyancsak kizárva, szintén az ügyfél kifejezett kérésére.

És láss csodát: mégis létezik OOTB (out-of-the-box) megoldás. Én magam sem akartam elhinni, amikor némi guglizás után megtaláltam ezt a cikket, de működik! A lényeg: hozzunk létre egy dátum (Date and Time) típusú oszlopot Today néven (igen, szándékosan a beépített funkcióval azonosan!), majd ezt felhasználva építsük fel a Calculated mezőnk mögötti kalkulációt. Amikor ezzel készen vagyunk, és már szépen működik, akkor töröljük a Today nevű oszlopot a listáról – és ebben a pillanatban a SharePoint elkezdi használni a beépített TODAY értéket. Működik! Az ügyfelünk első reakcióját nem idézném most szó szerint… :)

De ha már ez ilyen klasszul megy, akkor menjünk mi is tovább: jó lenne, ha a késésben lévő feladatok státusza pirosan, az időben lévőké zölden jelenne meg. Persze ez is egyszerű lenne SharePoint Designer segítségével, de nem használhatunk, újabb trükkre van szükség. Némi keresgélés után ismét megtaláltuk a megoldást: a Calculated mezőt kell képessé tenni arra, hogy a HTML kódokat ne plain text-ként jelenítse meg, hanem értelmezze a bennük kódolt formázásokat. Ha ezt meg tudjuk oldani, nyert ügyünk van.

Íme, itt a megoldás: egy Content Editor WebPart-ban (Tartalomszerkesztő kijelző) az alábbi JavaScript-et, amely a <DIV> és </DIV> tagek közötti kódot HTML-ként értelmezendővé “varázsolja”. Innen már egyszerű a megoldás, de íme a színezéshez-formázáshoz is egy kis segítség. Az eredmény pedig valami ehhez hasonló:

colorcoding[1]

UPDATE (2009.06.19.): Az első trükk sajnos mégsem az igazi. Amikor másnap visszanéztünk a szépen működő listánkra, azt láttuk, hogy a SharePoint ugyan elkezdi használni a beépített TODAY funkciót, ám a Calculated mezők értékét nem megjelenítéskor számítja, hanem az elem módosításakor. Vagyis a fenti módszer teljesen jól működik, ha tudjuk garantálni, hogy naponta valaki/valami végigszerkeszti az összes elemet (pl. egy Timer Job). :(

links for 2009-06-17

Filed under: linkek — aghy @ 00:03

2009. June 17., Wednesday

links for 2009-06-16

Filed under: linkek — aghy @ 00:04
  • The biggest revelation is that the State Department asked Twitter not to go down at its original time last night in order to allow Iranians to tweet out what’s happening in their cities. It also seems that U.S. officials are watching the chatter on Twitter, YouTube, Facebook (Facebook), and elsewhere to keep up-to-speed with the situation on the ground.

2009. June 16., Tuesday

A Twitter Hatalom

Filed under: SocialMedia, Twitter, Web 2.0 — aghy @ 22:52

6a00d8341d3df553ef011570e61a5a970b-pi[1]Elég sok helyen, egyre több társaságban felmerül a “Nagy Testvér” késdése-problémája: vajon az, hogy ennyire nyitott online életet élünk, mekkora hatással bír valódi életünkre? Rengeteg olyan sztorit hallani, amikor az A nagyvállalatnál tiltott kommunikációs csatornának számít a B nagyvállalat eszköze/szoftvere/levelezőrendszere. Vajon ez csak túlzott paranoia vagy tényleg van mitől félnünk?

Nyilván az éremnek itt is két oldala van, lehet arról vitatkozni, hogy vajon áldás vagy átok egy a nyitottság. Az egyik végletben ott a fent is említett ipari kémkedés, a “twitter-bűnözés” (pl. betörések a miniblog alapján) – a másik oldalon pedig ott a tájékozottság, a kapcsolati tőke ereje, a számtalan lehetőség, melyre a “webkettő” nélkül nem lenne lehetőségünk.

S miközben ezek a kérdések-gondolatok nyilvánvalóan nap mint nap motoszkálnak a fejemben, ma újabb hír érkezett: az USA kormányzata átütemeztette a Twitter leállását az iráni választási események miatt:

According to a CNN blog post, the U.S. government is connecting with Twitter and other major social media companies to make sure that the flow of information from Iran remains uninterrupted. While the Obama administration itself keeping out of the Iran controversy on official channels, it is making sure that information coming from people on the ground is getting through to the rest of the world.

The biggest revelation is that the State Department asked Twitter not to go down at its original time last night in order to allow Iranians to tweet out what’s happening in their cities. It also seems that U.S. officials are watching the chatter on Twitter, YouTube, Facebook, and elsewhere to keep up-to-speed with the situation on the ground.

Azt hiszem, ehhez már nincs mit hozzáfűzni…

2009. June 11., Thursday

links for 2009-06-10

Filed under: Általános — aghy @ 00:01
  • WSS 3.0 and MOSS 2007 are both powerful collaboration tools made available by Microsoft. Built on the .net platform, many businesses today rely heavily on either one or both products to communicate, collaborate, and share critical business information to contribute information and make decisions based on the most up to date information. The most basic difference between the two solutions is the upfront investment.

2009. June 10., Wednesday

links for 2009-06-09

Filed under: linkek — aghy @ 00:02
  • LINQ to Twitter is a LINQ Provider for the Twitter micro-blogging service. It uses standard LINQ syntax for queries and includes method calls for changes via the Twitter API
  • The IIS Search Engine Optimization (SEO) Toolkit helps Web developers, hosting providers, and Web server administrators to improve their Web site’s relevance in search results by recommending how to make the site content more search engine-friendly. The IIS SEO Toolkit includes the Site Analysis module, the Robots Exclusion module, and the Sitemaps and Site Indexes module, which let you perform detailed analysis and offer recommendations and editing tools for managing your Robots and Sitemaps files.

2009. June 9., Tuesday

links for 2009-06-08

Filed under: linkek — aghy @ 00:00

2009. June 5., Friday

links for 2009-06-04

Filed under: linkek — aghy @ 00:01

2009. June 4., Thursday

links for 2009-06-03

Filed under: linkek — aghy @ 00:04

2009. June 3., Wednesday

ODC 2009(?)

Filed under: Esemény, SPC 2009 — aghy @ 10:08

A tavalyi Office Developer Conference-ről volt szerencsém “élőben” közvetíteni, habár a valóságban fizikailag nem lehettem ott. Akkoriban az officedevs.hu oldalain számoltam be az eseményekről, majd később ezek a bejegyzések az officedevs.hu megsznűnése miatt átköltöztek ide, saját blogomba.

Ebben az évben kicsit más lesz a helyzet. Nagyon. Egyrészt tegnap hivatalosan is bejelentették: az ODC 2009 nem kerül megrendezésre, hanem a SharePoint Conference 2009-be olvad bele, így aki esetleg a kliensoldali fejlesztések iránt érdeklődött volna, azt is Las Vegasban várják október 19-22. között.

Másrészt ezúttal jómagam is ott leszek személyesen… :)

links for 2009-06-02

Filed under: linkek — aghy @ 00:01

2009. June 1., Monday

links for 2009-05-31

Filed under: linkek — aghy @ 00:02
  • Public Web Sites hosted on Office SharePoint Server 2007
  • SharePoint lists and document libraries are not designed to handle large numbers of items, in fact as soon as you add more than a few thousand you will see a warning within the List Settings Page that says:
    This list or library contains a large number of items. Learn about managing a large list or library and ensuring that items display quickly.

    As part of my product suite I consistently have lists with hundreds of thousands of items in them and have learned many valuable lessons in making these kind of numbers workable.

  • I did a solution install and during an installation of a solution package the Timer Service is also restarted. And when a Timer service restarts, a lot of timer jobs are also being executed right? Maybe the upgrade timer job was still busy trying to update the content database of my Central Administration but never got the chance or something..
  • MOSS has many default timer jobs; information about them can be useful to understand the workings of your MOSS farm, and potentially to troubleshoot problems or plan for related types of customizations.

    The attached document provides a list of all MOSS timer jobs provided out-of-box, with some additional notes about them.

Powered by WordPress