Casa / Internet / Creare utenti in 1s 8.3. Informazioni contabili. Disabilitare l'accesso al database

Creare utenti in 1s 8.3. Informazioni contabili. Disabilitare l'accesso al database

2016-12-01T13:37:17+00:00

L'impostazione corretta dell'elenco degli utenti e dei relativi diritti di accesso al database 1C: Accounting 8.3 (revisione 3.0) è necessaria per qualsiasi numero di persone che lavorano con il programma. Anche se sei l'unico a lavorarci!

Questa impostazione consente di rispondere successivamente a domande come "Chi ha apportato determinate modifiche al database", "Come fornire accesso di sola visualizzazione al database per l'ispettore", "Chi ha consentito all'assistente di modificare le impostazioni dei criteri contabili" e il Piace.

Nella terza edizione questa configurazione, a mio avviso, è diventata più semplice e intuitiva. Oggi ti dirò come configurare al meglio gli utenti e i loro diritti. Cercherò di considerare il caso più generale.

Quindi, configureremo i seguenti utenti:

  • Amministratore : un utente che ha tutti i diritti sul database e non ha restrizioni. Non è necessario utilizzare questo utente per il lavoro quotidiano. La password dell'amministratore deve essere fornita ai programmatori e agli amministratori che configurano o aggiornano il database. Poiché solo loro lavoreranno con questo utente, in futuro saremo sempre in grado di separare le loro modifiche nel database dal lavoro degli altri utenti nel registro. Questo può essere utile in caso di “debriefing”.
  • Capo contabile : un utente che non ha meno diritti di un amministratore, ma ha un ruolo separato con una propria password. Lavorerai tu stesso con questo utente.
  • Contabile: Se hai assistenti o altri contabili sotto di te, allora questo utente è adatto a loro. Quali restrizioni impone questo ruolo:
    • Divieto di modifica dei parametri contabili.
    • Divieto di modificare i principi contabili.
    • Divieto di modifica del piano dei conti.
    • Divieto di modificare l'elenco degli utenti.
    • Divieto di costituire conti contabili per voci.
    • Divieto di eliminare elementi contrassegnati per la cancellazione.
    • Divieto di modifica della data di divieto di modifica dei dati.
  • Ispettore : questo utente avrà solo i diritti per visualizzare il database. Non potrà cambiare nulla di lei.

1. Vai alla sezione "Amministrazione" e seleziona "Impostazioni utente e diritti" ():

2. Nel pannello che si apre, seleziona "Utenti":

3. Per impostazione predefinita, l'utente "Amministratore" dovrebbe già essere presente in questo elenco. Fare doppio clic su di esso per aprire le sue impostazioni.

4. Effettuare l'impostazione come nell'immagine seguente. Crea tu stesso una password: devi ripeterla due volte. Tieni presente che ogni utente deve avere la propria password. Non resta che cliccare su “Salva e chiudi”. Pronto!

Capo contabile

4. Nella finestra delle impostazioni dei diritti, seleziona le caselle di controllo accanto alle voci "Amministratore" e "Capo contabile". Tutto quello che devi fare è fare clic sul pulsante "Registra". Pronto!

Contabile

1. Torna all'elenco degli utenti e fai clic sul pulsante "Crea" sulla barra degli strumenti.

2. Si aprirà una finestra con un nuovo utente. Specifica le impostazioni come mostrato di seguito, crea semplicemente la tua password.

4. Nella finestra delle impostazioni dei diritti, seleziona le caselle di controllo accanto alla voce "Contabile". Tutto quello che devi fare è fare clic sul pulsante "Registra". Pronto!

Ispettore

1. Torna all'elenco degli utenti e fai clic sul pulsante "Crea" sulla barra degli strumenti.

2. Si aprirà una finestra con un nuovo utente. Specifica le impostazioni come mostrato di seguito, crea semplicemente la tua password.

Nell'articolo di oggi parlerò delle vulnerabilità del server 1C nella rete aziendale.


Come ha dimostrato la pratica, nelle installazioni con 1C tutti commettono gli stessi errori con vari gradi di gravità. Non toccherò aspetti ovvi come l'installazione degli aggiornamenti, ma esaminerò i dettagli di come funziona un server applicazioni in Windows. Ad esempio, se possibile, manipolare in modo incontrollabile i database Microsoft SQL utilizzando gli strumenti 1C.


Storicamente, è raro che amministratori di sistema e programmatori 1C lavorino come un unico team. Molto spesso, gli specialisti 1C non approfondiscono le complessità dell'amministrazione del sistema e gli amministratori di sistema non si sforzano di comprendere le sfumature di 1C.

E il risultato è un'infrastruttura con "piaghe infantili" che sono ovvie per uno specialista in sicurezza delle informazioni: di seguito è riportato il mio TOP personale di tali problemi.

Avvio corretto del server

Per impostazione predefinita, la piattaforma 1C durante l'installazione crea un account speciale con diritti limitati in base al quale vengono eseguiti i servizi server: USR1CV8. Tutto va bene finché non diventano necessarie le risorse di rete: ad esempio per caricamenti e download automatici. L'account predefinito non ha accesso alle cartelle di rete nel dominio perché è locale.


Nella mia pratica, mi sono imbattuto in molti modi per risolvere questo problema: cartelle con accesso in scrittura per il gruppo "Tutti", un server 1C sotto un account con diritti di amministratore di dominio, credenziali scritte esplicitamente nel codice per la connessione di una risorsa di rete. Anche eseguendo il server 1C in una sessione utente come una normale applicazione.



Andiamo al server tramite RDP, vediamo una finestra del genere e riceviamo un tic nervoso.


Naturalmente, le password “hardcoded” e le risorse di rete con accesso in scrittura anonima sono rare. A differenza dell'esecuzione di un server 1C da un normale account di dominio. Naturalmente, con la possibilità di eseguire codice arbitrario “sul server”.


Come sa ogni utente 1C, ma non ogni amministratore di sistema, nell'elaborazione 1C esistono due modalità di esecuzione delle procedure: sul server e sul client. Una procedura avviata in modalità “server” verrà eseguita con l'account del servizio del server dell'applicazione. Con tutti i suoi diritti.


Se il server 1C funziona con diritti di amministratore di dominio, un potenziale parassita sarà in grado di fare qualsiasi cosa con il dominio. Una soluzione ragionevole sarebbe quella di creare un account speciale basato su USR1CV8, solo già nel dominio. In particolare, dovrebbe essere autorizzata ad accedere solo a determinati server nello snap-in Utenti e computer di Active Directory.



Configurazione dell'accesso solo ai server autorizzati.


Sarebbe anche una buona idea consentire l'accesso al server solo come servizio, disabilitando la possibilità di accesso locale (interattivo). Questa operazione può essere eseguita tramite policy di sicurezza locali direttamente sul server o utilizzando policy di gruppo del dominio.



Assegnazione dei diritti utente nella politica di sicurezza locale.


Lo stesso vale per l'account del server Microsoft SQL. I capelli grigi possono aumentare a causa di cattive abitudini:

  • eseguire SQL con diritti di amministratore del computer o anche di dominio per un comodo backup;
  • abilitare la possibilità di eseguire comandi eseguibili tramite una procedura memorizzata xp_cmdshell per trasferire i backup sulle risorse di rete attraverso bellissimi piani di servizio.

Connessione a SQL

Nella pratica ci imbattiamo regolarmente nella connessione di database a un server 1C con l'utente “SA” (superutente in SQL). In generale, questo non è così spaventoso come sembra, perché la password SA è sottoposta ad hashing nel file 1CV8Reg.lst sul server delle applicazioni. Un utente malintenzionato può ipoteticamente ottenere l'hash - non dimenticare i diritti dell'account del server - ma la decrittazione richiederà molto tempo, soprattutto se si utilizza la forza bruta.


Sarebbe comunque una buona idea organizzare un controllo dell'accesso a questo file e avvisare le persone responsabili.


Un'altra questione è quando i programmatori 1C vengono "delegati" con responsabilità DBA. Ancora una volta, per esperienza personale: il server SQL era responsabilità dei programmatori, così come l'integrazione di un sito Web esterno con i database 1C. Il risultato era la password SA negli script del sito.

Per la tua tranquillità, dovresti impostare una password complessa per SA o disattivare completamente questo account. In SQL, è quindi necessario abilitare l'autenticazione del dominio per la gestione e creare un accesso separato per 1C con diritti sui database necessari.


Se non vuoi lasciare la possibilità di creare database SQL tramite l'interfaccia 1C, il nuovo utente avrà un ruolo generale sufficiente pubblico E db_proprietario direttamente nel database 1C.


Questa operazione può essere eseguita tramite Management Studio o con un semplice script T-SQL:


UTILIZZO CREA LOGIN 1c_user CON PASSWORD = "VeryStrongPassword" CREA UTENTE 1c_user PER LOGIN 1c_user ALTER ROLE db_owner AGGIUNGI MEMBRO 1c_user GO

Utenti 1C

Per qualche motivo, poche persone prestano attenzione ai diritti utente in 1C. Ma un utente con diritti di “Funzioni amministrative” o “Amministrazione” può facilmente caricare il database .DT attraverso il configuratore e portalo a casa: questo regalerà più di un momento di emozionante felicità alla tua gestione. Pertanto, vale la pena prendere il soprannome di 1C davanti a un bicchiere di tè e sedersi insieme nel database per scoprire quali utenti hanno tali diritti. E allo stesso tempo, ciò che minaccia la riduzione dei loro poteri.



Il diritto di scaricare il database è assegnato al ruolo Full Rights nello standard 1C: Contabilità 2.0.


Il prossimo punto importante è il lancio dell'elaborazione esterna. Come ricordiamo, in 1C puoi eseguire codice con i diritti di un account server. Va bene se non ha diritti amministrativi sul sistema, ma vale comunque la pena escludere la possibilità di avviare tale elaborazione per gli utenti. E non dimenticare di chiedere a uno specialista 1C di "integrare" ulteriori report ed elaborazioni nel database. Sebbene non tutte le elaborazioni supportino l'incorporamento, questa funzionalità dipende dalla versione 1C.



Puoi verificare quali ruoli tipici non dispongono dei diritti per aprire l'elaborazione esterna nel configuratore.


Tutte queste azioni non solo aiuteranno a proteggersi da un potenziale “parassita interno”, ma diventeranno anche un ulteriore ostacolo per coloro che si mascherano da trattamenti 1C.

Se è ancora necessario avviare l'elaborazione esterna, una buona opzione per il controllo e l'assicurazione sarebbe quella di verificarne il lancio. 1C non dispone ancora di un meccanismo di controllo standard, ma la comunità ha già trovato diverse soluzioni alternative. Vale la pena implementare questi meccanismi insieme a uno specialista 1C, nonché impostare notifiche sugli eventi nel registro di registrazione del database.


Separatamente, vorrei sottolineare la possibilità di impostare l'autenticazione dell'utente del dominio anziché l'autenticazione 1C. E sarà più conveniente per gli utenti: meno password nella loro memoria riducono il rischio che appaiano adesivi sul monitor.

Amministratore del cluster

Pertanto, gli utenti ora non possono eseguire l'elaborazione, l'account del server è limitato al massimo. Ma c'è qualcos'altro: un account amministratore del cluster 1C, che non viene creato per impostazione predefinita.


La sua assenza è pericolosa: chiunque abbia un laptop con accesso aperto alle porte di rete del server (TCP:1540 per impostazione predefinita) può creare lì il proprio database e non ci saranno restrizioni sull'esecuzione dell'elaborazione. E il cattivo sarà in grado di ottenere informazioni sui database, sugli utenti che lavorano, modificare i parametri del cluster e persino interrompere con la forza il lavoro di alcuni utenti.


Un esempio di script PowerShell che espelle tutti gli utenti da tutti i database del server:


$COMConnector = New-Object -ComObject V83.COMConnector $agent = $COMConnector.ConnectAgent("nomeserver") $cluster = $agent.GetClusters() $agent.Authenticate($cluster,"", "") $sessions = $ agent.GetSessions($cluster) Foreach ($session in $sessions) ($agent.TerminateSession($cluster, $session))

È già stato menzionato l'uso di un metodo simile per lavorare con il server 1C per buoni scopi.


Creare un amministratore del cluster non è facile, ma molto semplice: basta fare clic con il pulsante destro del mouse sulla voce "amministratori" nella gestione del cluster 1C, creare un nuovo amministratore specificando login e password.



Creazione di un amministratore del cluster 1C.


Ho toccato solo alcune carenze durante la configurazione di 1C: Enterprise. Per lo studio autonomo, consiglio di leggere materiali ancora rilevanti:

  • documento sui temi della sicurezza informatica sul sito ITS;
  • nella comunità mista.ru.

Per differenziare i diritti di accesso, in 1C 8.3 ci sono oggetti di configurazione speciali: i ruoli. Possono essere successivamente assegnati a utenti, posizioni, ecc. specifici. Indicano quali oggetti di configurazione saranno disponibili. È anche possibile specificare le condizioni per fornire l'accesso.

I ruoli sono configurati nel configuratore. Possono anche essere assegnati a utenti specifici, ma per comodità 1C ha implementato un meccanismo per i gruppi di accesso. Nella directory degli utenti, aprire (“Amministrazione - Configurazione utenti e diritti - Utenti”) la scheda di qualsiasi dipendente e fare clic sul pulsante “Diritti di accesso”. L'interfaccia può differire in diverse configurazioni, ma l'essenza è la stessa.

Verrà visualizzato un elenco di voci nella directory "Profili del gruppo di accesso". Le caselle di controllo indicano coloro i cui diritti saranno disponibili per l'utente.

La directory dei profili dei gruppi di accesso (“Amministrazione - Configurazione utenti e diritti - Profili dei gruppi di accesso”) contiene un elenco di ruoli che saranno disponibili all'utente una volta assegnati. I ruoli del profilo disponibili sono contrassegnati da flag.

Gli utenti hanno spesso gli stessi insiemi di ruoli. L'utilizzo di questo meccanismo consente di semplificare notevolmente l'impostazione dei diritti selezionando i profili dei gruppi di accesso anziché i ruoli stessi.

Ruoli nel configuratore (per programmatori)

I ruoli indicano quali oggetti e in quali condizioni saranno disponibili per l'utente a cui sono disponibili. Apri qualsiasi ruolo e vedrai due schede: Diritti e Modelli di restrizione.

La prima scheda visualizza un elenco di oggetti di configurazione e i diritti ad essi assegnati per questo ruolo.

Quando si consente l'esecuzione di qualsiasi azione con un oggetto, è possibile specificare una restrizione di accesso ai dati. Questo meccanismo si chiama RLS e consente di configurare i diritti a livello di record. È piuttosto interessante, ma se utilizzato attivamente, le prestazioni potrebbero diminuire.

Nella parte inferiore del modulo del ruolo è possibile configurare l'installazione automatica dei diritti:

  • per nuovi oggetti (diritti permissivi);
  • ai dettagli e alle parti tabellari (i diritti vengono ereditati dall'oggetto proprietario)
  • sugli oggetti subordinati (i diritti vengono assegnati tenendo conto dei diritti sugli oggetti principali).

I diritti possono essere assegnati sia agli oggetti sbiancati che all'intera configurazione nel suo insieme. In qualsiasi ruolo, nella scheda “Autorizzazioni”, seleziona la voce con il nome della configurazione. Tutti i possibili ruoli verranno visualizzati sulla destra. Contiene le modalità di avvio del programma, "Tutte le funzioni", diritti amministrativi e altri diritti. Quando fai clic su qualsiasi tasto destro, la sua descrizione verrà visualizzata di seguito. Non c'è niente di complicato qui.

Le impostazioni dei diritti per altri oggetti di configurazione sono simili: lettura, aggiunta, eliminazione, registrazione (per documenti), gestione totali (per registri di accumulo e contabilità) e altro. È importante notare qui il diritto alla “cancellazione interattiva”. Se disponibile, gli utenti potranno eliminare fisicamente i dati dal programma (shift + delete). Per oggetti importanti, l'assegnazione di questo diritto è estremamente indesiderabile.

Controllo dei diritti di accesso programmatico

Per verificare se un utente ha un ruolo, utilizzare la seguente funzione:

  • RuoloDisponibile("Amministratore di sistema")

Nel caso in cui il ruolo da verificare venga assegnato all'utente, la funzione restituirà il valore “True”. Altrimenti – “Falso”.

Per eseguire qualsiasi azione con un oggetto non accessibile, è possibile utilizzare il seguente metodo:

  • Imposta modalità privilegiata (Vero)

Dopo aver abilitato la modalità privilegiata, non viene eseguito alcun controllo dei diritti. Dopo aver completato le azioni sugli oggetti inaccessibili, è necessario richiamare nuovamente questo metodo con il parametro "False" per disabilitare questa modalità. Ricorda che nella versione client-server, se eseguito sul client, questo metodo non esegue alcuna azione.

Per verificare se è impostata la modalità privilegiata utilizzare la funzione (restituisce “True” o “False”):

  • Modalità privilegiata()

Interfaccia utente senza diritti di accesso

Se un utente tenta di eseguire un'azione nel programma, per la quale non dispone dei diritti, verrà emesso un avviso corrispondente.

Ci sono casi in cui alcuni campi visualizzano il formato "<Объект не найден>" con un GUID, l'utente potrebbe anche non disporre di diritti sufficienti per leggere il valore in esso contenuto. Per testare questa teoria, basta guardare il valore di questo campo a pieno titolo. Se l'iscrizione non scompare, esiste la possibilità che il collegamento sia interrotto.

Diciamo che è stato rilevato un errore nella configurazione, ma appare solo per alcuni utenti. Per ottenere i dettagli, è necessario eseguire il programma come uno di essi. Ma ecco il problema! Non conosciamo la password dell'account!

Soluzione

La soluzione è in realtà molto semplice. Se disponi dell'accesso come amministratore, accedendo al configuratore e andando all'elenco degli utenti di Infobase:

Nelle impostazioni utente, imposta l'autenticazione utilizzando il sistema operativo e seleziona il tuo utente.

Successivamente, l'accesso con l'utente selezionato non sarà difficile. Quando avvii 1C:Enterprise, il programma non ti chiederà nemmeno login/password se hai selezionato l'utente del sistema operativo con cui sei attualmente loggato.

Conclusione

Questo approccio consente di testare una soluzione applicativa e identificare gli errori per qualsiasi utente del programma. Naturalmente, è necessario disporre dei diritti appropriati per visualizzare/modificare gli utenti dell'infobase. E non dimenticare di restituire le impostazioni di accesso a Infobase per l'utente che hai modificato!

Come configurare i diritti di accesso in 1C 8.3?

In questo articolo vedremo come lavorare con gli utenti in 1C Accounting 8.3:

  • creare un nuovo utente
  • configurare i diritti: profili, ruoli e gruppi di accesso
  • come configurare la limitazione dei diritti a livello di record (RLS) in 1C 8.3, ad esempio per organizzazione

Le istruzioni sono adatte non solo per il programma di contabilità, ma anche per molti altri basati su BSP 2.x: 1C Trade Management 11, Gestione salari e personale 3.0, ERP 2.0, Gestione piccole imprese e altri.

Nell'interfaccia del programma 1C, la gestione degli utenti viene effettuata nella sezione “Amministrazione”, alla voce “Configurazione utenti e diritti”:

Come creare un nuovo utente in 1C

Per creare un nuovo utente in 1C Accounting 3.0 e assegnargli determinati diritti di accesso, nel menu "Amministrazione" è presente la voce "Impostazioni utente e diritti". Andiamo la:

L'elenco degli utenti è gestito nella sezione “Utenti”. Qui puoi creare un nuovo utente (o gruppo di utenti) o modificarne uno esistente. Solo un utente con diritti amministrativi può gestire l'elenco degli utenti.

Creiamo un gruppo utenti chiamato "Contabilità" e ci saranno due utenti al suo interno: "Contabile 1" e "Contabile 2".

Per creare un gruppo, fare clic sul pulsante evidenziato nella figura sopra e inserire un nome. Se nella base informativa sono presenti altri utenti idonei al ruolo di contabile, è possibile aggiungerli immediatamente al gruppo. Nel nostro esempio non ce ne sono, quindi facciamo clic su "Registra e chiudi".

Ora creiamo gli utenti. Posiziona il cursore sul nostro gruppo e fai clic sul pulsante “Crea”:

Nel nome completo inseriremo "Contabile 1" e il nome di accesso sarà impostato su "Contabile 1" (questo è ciò che verrà visualizzato quando si accede al programma). La password sarà “1”.

Assicurati che le caselle di controllo "Accesso al programma consentito" e "Mostra nell'elenco di selezione" siano selezionate, altrimenti l'utente non si vedrà durante l'autorizzazione.

Lasciare la "Modalità di avvio" su "Auto".

Impostazione dei diritti di accesso: ruoli, profili

Ora devi specificare "Diritti di accesso" per questo utente. Ma devi prima scriverlo, altrimenti apparirà una finestra di avviso come mostrato nell'immagine sopra. Fare clic su “Registra”, quindi su “Diritti di accesso”:

Seleziona il profilo Ragioniere. Questo profilo è standard e configurato con i diritti di base richiesti da un contabile. Fare clic su "Registra" e chiudere la finestra.

Nella finestra “Utente (creazione)”, fare clic su “Salva e chiudi”. Stiamo anche creando un secondo contabile. Ci assicuriamo che gli utenti siano abilitati e possano lavorare:

È opportuno notare che lo stesso utente può appartenere a più gruppi.

Abbiamo scelto i diritti di accesso per i contabili tra quelli inclusi nel programma per impostazione predefinita. Ma ci sono situazioni in cui è necessario aggiungere o rimuovere alcuni diritti. Per fare ciò, è possibile creare il proprio profilo con una serie di diritti di accesso necessari.

Andiamo alla sezione "Accesso ai profili del gruppo".

Diciamo che dobbiamo consentire ai nostri contabili di visualizzare la registrazione del diario.

Creare un profilo da zero è piuttosto laborioso, quindi copiamo il profilo "Contabile":

E apportiamo le modifiche necessarie: aggiungiamo il ruolo "Visualizza registro":

Diamo al nuovo profilo un nome diverso. Ad esempio, "Contabile con integrazioni". E seleziona la casella di controllo "Visualizza registro di registrazione".

Ora dobbiamo modificare il profilo degli utenti che abbiamo creato in precedenza.

Limitazione dei diritti a livello di registrazione in 1C 8.3 (RLS)

Scopriamo cosa significa limitare i diritti a livello di record, o come lo chiamano in 1C - RLS (Record Level Security). Per ottenere questa opportunità è necessario selezionare la casella apposita:

Il programma richiederà la conferma dell'azione e ti informerà che tali impostazioni possono rallentare notevolmente il sistema. Spesso è necessario che alcuni utenti non vedano i documenti di determinate organizzazioni. È proprio per questi casi che esiste un'impostazione di accesso a livello di record.

Andiamo nuovamente nella sezione di gestione del profilo, facciamo doppio clic sul profilo “Contabile con Inseriti” e andiamo alla scheda “Restrizioni di accesso”:

“Tipo di accesso” seleziona “Organizzazioni”, “Valori di accesso” seleziona “Tutti consentiti, le eccezioni sono assegnate in gruppi di accesso”. Fare clic su "Salva e chiudi".

Ora torniamo alla sezione “Utenti” e selezioniamo, ad esempio, l'utente “Contabile 1”. Fare clic sul pulsante “Diritti di accesso”:

Utilizzando il pulsante "Aggiungi", seleziona l'organizzazione i cui dati saranno visualizzati dal "Contabile 1".

Nota! L'utilizzo di un meccanismo per separare i diritti a livello di record può influire sulle prestazioni del programma nel suo complesso. Nota per il programmatore: l'essenza di RLS è che il sistema 1C aggiunge una condizione aggiuntiva a ciascuna richiesta, richiedendo informazioni se l'utente può leggere queste informazioni.

Altre impostazioni

Le sezioni “Copia impostazioni” e “Cancella impostazioni” non sollevano dubbi, i loro nomi parlano da soli. Queste sono le impostazioni per l'aspetto del programma e dei report. Ad esempio, se hai impostato un bell'aspetto per la directory "Nomenclatura", può essere replicato per altri utenti.

Nella sezione "Impostazioni utente", puoi modificare l'aspetto del programma ed effettuare impostazioni aggiuntive per facilità d'uso.

La casella di controllo "Consenti accesso a utenti esterni" consente di aggiungere e configurare utenti esterni. Ad esempio, desideri organizzare un negozio online basato su 1C. I clienti del negozio saranno utenti esterni. I diritti di accesso vengono configurati allo stesso modo degli utenti normali.

Basato su materiali da: programmist1s.ru