Tip og tricks i forbindelse med sikkerhed i Navision

Sikkerhedsindstillingerne i Navision giver ofte anledning til forvirring. Derudover skal de standardindstillinger, der er angivet for sikkerhed i databasen Demonstration på produkt-cd'en, analyseres og gennemgås, før sikkerhedsindstillingerne konfigureres i den enkelte virksomhed. Dette dokument indeholder en beskrivelse af nogle af de grundlæggende oplysninger, der relaterer sig til sikkerhed, og indeholder samtidig flere oplysninger om nogle af de almindelige problemstillinger, der er blevet rapporteret.

Grundlæggende sikkerhedsindstillinger i Dynamics NAV, Navision Attain eller Navision Financials

1. Sikkerhed består af to hovedkomponenter: "Bruger-id og adgangskode" og "Rettigheder". I dette dokument fokuseres der overvejende på komponenten Rettigheder. Du kan finde en detaljeret beskrivelse af komponenten Bruger-id og adgangskode, særligt i relation til Windows Authentication version 2.60B og nyere versioner og problemstillinger i forbindelse med databasegodkendelse, i de ressourcer, der henvises til i denne artikel i Microsoft Knowledge Base.

2. Komponenten Rettigheder består af Roller (version 2.60 og nyere versioner) eller Grupper (versioner, der er ligger før 2.60) i databasen Demonstration. I de efterfølgende afsnit vil begrebet Roller blive brugt som et samlet begreb for Roller eller Grupper.

Rollerne består af en foruddefineret liste af objekttyper, numre og adgangsniveau (Læse, Indsætte, Redigere, Slette og Udføre). De enkelte adgangsniveauer kan angives til "Ja", "Indirekte" eller "Nej". Hvis indstillingen "Ja" vælges, tildeles brugeren en direkte adgangsret. Hvis du f.eks. angiver feltet "Læse" til "Ja" i forbindelse med et objekt, har du til enhver tid direkte adgang til at læse de pågældende oplysninger. Hvis indstillingen "Indirekte" vælges, gælder rettigheden kun i forbindelse med et andet objekt, som du har en rettighed til. Dette er f.eks. tilfældet, hvis du ikke har adgang til at oprette finansposter direkte, men kun ved hjælp af posteringsfunktionen. Hvis feltet er tomt, er du ikke blevet tildelt den pågældende rettighed.

3. Basisrettighederne for rollerne bygger på de rettigheder, der er angivet på objektniveau. Der findes syv forskellige objekttyper, som udgør Rettighederne: Tabeller, Formularer, Rapporter, Dataporte, Codeunits, System og Tabeldata. De første fem objekttyper, Tabeller, Formularer, Rapporter, Dataporte og Codeunits, er de basisobjekter, der udgør en Navision-database. Det er temmeligt indlysende, at disse objekttyper skal medtages i rettigheder. Det samme gør sig dog ikke gældende for de sidste to sikkerhedsobjekttyper, som vil blive mere udførligt beskrevet i de efterfølgende to afsnit.

4. Objekttypen System omfatter adgangen til menuindstillinger i Navision Attain eller Financials, f.eks. adgang til indstillingerne i Filer | Database og i menuen Funktioner. Rettigheder af typen System styrer adgangen til udviklingsområderne i menuen Funktioner, forudsat at brugerlicensen giver adgang til udviklingsområdet.

Bemærk! Hvis kunden ikke har en gyldig licens til en komponent, har han eller hun ikke adgang til det pågældende område af systemet. Licensen udgør det øverste styringsniveau for adgangen til bestemte områder i Navision Attain eller Navision Financials.

Endvidere styres adgangen til sikkerhedsindstillingerne i Navision via systemrettighederne. Rullemenuen Rediger, som giver adgang til filtre og indtastning af data, styres ligeledes via systemrettigheder.

5. Objekttypen Tabeldata styrer adgangen til de oplysninger og data, som brugerne har indtastet. Tabelobjektet angiver strukturen for lagring af data. Tabeldataene er de faktiske oplysninger, der placeres i dette lagerområde. Brugeren har kun adgang til at få vist disse data, hvis han eller hun har adgang til tabellen og til tabeldataene.

Udover adgangen til tabellen og tabeldataene skal brugeren også have adgang til enten en formular eller en rapport for at kunne få vist dataene. Hvis du kan styre, hvilke data der er adgang til, kan du også styre, hvilke virksomheder der er adgang til. Dette styres via indstillingen Rettigheder for det enkelte bruger-id under Roller.

6. Før vi kommer ind på flere detaljer omkring rettigheder, er det vigtigt at forstå følgende princip: En forudsætning for, at en bruger har adgang til at få vist oplysninger, er, at brugeren har adgang til en formular eller rapport til visning af oplysninger. Formularer er de skærmbilleder og menuer, der bruges til onlinevisning af oplysninger (f.eks. et debitorkort eller en installationsmenu), mens rapporter er trykte dokumenter. Ud over de faktiske objekter, der bruges til visning af data (dvs. en formular eller rapport), skal brugeren også have adgang til at udføre tabelobjektet samt til at læse tabeldataene. Hvis en af disse kombinationer af objekttyper mangler (dvs. enten Formular/Tabel/Tabeldata eller Rapport/Tabel/Tabeldata), har brugeren ikke adgang til de pågældende oplysninger.

7. I alle versioner af både Navision Attain og Navision Financials er den første rolle, der skal defineres, rollen "SUPER". Mindst ét bruger-id skal tildeles denne rolle, og den første bruger, der konfigureres i systemet, skal tildeles rollen SUPER. Hvis du kigger nærmere på de rettigheder, der er knyttet til rollen SUPER, kan du se, at alle de syv objekttyper, der er beskrevet ovenfor, er knyttet til den pågældende rolle. Hver objekttype tildeles objekt-id'et "0", og adgangsniveauet angives til Ja for alle objekttyperne. Værdien "0" i feltet med objekt-id'et angiver, at tildelingen omfatter alle de objekter, der indgår i den pågældende objekttype. Værdien "Ja" i forbindelse med adgangsniveauet angiver, at den bruger, der er tildelt rollen SUPER, har adgang til at læse, indsætte, redigere, slette og udføre i forbindelse med alle objekter. Det betyder, at brugeren har fuld adgang til det pågældende område, så længe objektet er medtaget i licensen.

Ud over minimum én bruger med rollen SUPER på klientstedet er det muligvis en god idé at have endnu en bruger med rollen SUPER, som NSC opretter. Dette er med til at sikre, at NSC kan få adgang til alle data i databasen, hvis den bruger, der er tildelt rollen SUPER på kundestedet, skulle ske at forlade virksomheden uden at videregive de relevante oplysninger til en anden bruger. Alternativt vil der skulle anvendes tilsidesættelsesprocedurer for at få adgang til databasen. Der følger en Navision-godkendelsesformular med alle de vejledninger, vi udsender. Skulle du ikke have modtaget formularen, er du velkommen til at kontakte Navisions supportafdeling. Husk at gennemgå konfigurationen af et id og en adgangskode til Solution Center sammen med kunden, så du er sikker på, at kunden godkender denne fremgangsmåde.

8. Alle brugere, som ikke er tildelt rollen SUPER, skal tildeles rollen ALL. Rollen ALL giver den grundlæggende adgang til objekter, som alle brugere har behov for. Alle Navision-brugere har behov for læseadgang til bestemte installationstabeller og tabeldata samt andre områder i systemet, og rollen ALL tildeler derfor brugerne denne grundlæggende adgang. Der er dog muligvis behov for visse tilpasninger til rollen ALL, før den tildeles til alle brugerne. Rollen ALL indeholder således linjen "Form 0", hvor rettighederne for Udføre i forbindelse med formularen er angivet til Ja.

Når denne rettighed kombineres med andre roller, som giver adgang til POST-transaktioner, f.eks. "R-Q/O/I/C, POST" og "P-Q/O/I/C, POST" kan der opstå et væsentligt sikkerhedsproblem for visse kunder. Isoleret set er der i forbindelse med disse POST-roller behov for en linje for TableData Object ID 17, som er tabellen med finansposter, og hvor rettighederne for Læse er angivet til "Ja". Denne adgangsrettighed kombineret med linjen Form 0 og Table 0 i rollen ALL betyder, at brugeren har fuld adgang til at få vist tabellen med finansposter samt transaktionerne i finanssystemet på skærmen, herunder detaljerede oplysninger om transaktioner, der vedrører indtægter og udgifter. Dette er muligvis ikke en hensigtsmæssig løsning for alle kunder. Kunderne kan dog løse problemet ved at benytte én af de fremgangsmåder, der er beskrevet nedenfor.

Det er muligt at løse problemet med adgangen til posterne i finanssystemet på én af følgende to måder: Først skal du oprette en ny "ALL"-rolle, som du giver betegnelsen "ALL-NOFORMS". Kopier derefter linjerne med rettigheder fra rollen ALL til rollen ALL-NOFORMS ved hjælp af funktionerne til kopiering og indsættelse i Windows. Slet derefter linjen Form 0 - Execute "Yes" i rollen ALL-NOFORMS. Opret derefter nye roller til alle funktionsområderne, som indeholder de rettigheder til de individuelle formularer, der er nødvendige i forbindelse med det enkelte funktionsområde.

En anden mulighed er at ændre de rettigheder, der er angivet for Codeunit 12 i relation til læsning af posterne i finanssystemet. Det kan du gøre ved at benytte denne fremgangsmåde:

A. Vælg Funktioner | Object Designer.
B Vælg Codeunit 12.
C. Vælg knappen Design.
D. Vælg ikonet Egenskaber.
E. Klik i feltet Værdi på linjen Rettigheder.
F. Vælg ellipseknappen (...).
G. Marker feltet "Læserettighed" på linjen Object ID 17.

Brugeren har derefter adgang til at vælge en hvilken som helst af de "POST"-roller, der er angivet ovenfor, og ændre indstillingen for Læserettighed for Table 17 – G/L Entry Table data – fra "Ja" til "Indirekte". Med denne ændring får brugeren adgang til at postere en faktura og oprette en ny post i finanssystemet i forbindelse med posteringsprocessen. Når indstillingen for Læserettighed ændres til Indirekte, har brugeren dog ikke længere adgang til posterne i finanssystemet, når der foretages et drilldown i feltet Chart of Accounts Net Change. Bemærk, at ændring nummer to kun kan bruges i forbindelse med Native-servere og ikke i forbindelse med SQL-servere.