1s 8.2 Ne mogu instalirati siguran način rada. Siguran način rada. Pokretanje vanjske obrade u normalnom načinu rada aplikacije

11.05.2020 Vijesti

Meko otvaranje vanjska obrada provodi pomoću globalnog kontekstnog objekta ExternalProcessing, koji ima tip ExternalProcessingManager. Za svaki način rada 1C platforme (uobičajeni aplikacijski način i upravljani aplikacijski način) koriste se različite objektne metode za rad s vanjskom obradom.

Pokretanje vanjske obrade u normalnom načinu rada aplikacije

U tipičnoj aplikaciji morate koristiti metodu Create() objekta ExternalProcessing, kojoj se prosljeđuje puni naziv datoteke za vanjsku obradu. Metoda vraća objekt tipa Vanjska obrada, ovaj objekt je vanjska obrada koja se otvara. Ako trebate otvoriti vanjsku formu za obradu, tada pozovite metodu GetForm() na primljenom objektu, koja će vratiti glavnu formu, a zatim pozovite metodu Open() da je otvorite.


Obrada = ExternalProcessing.Create(FullFileName);
Obrada.GetForm().Open();

U vanjskoj obradi, glavna forma uvijek mora biti obična, a kontrolirana forma uvijek mora biti dodatna, inače metoda GetForm() neće raditi u normalnom modu aplikacije.

Pokretanje vanjske obrade u upravljanom načinu rada aplikacije

U načinu rada upravljani oblici algoritam je podijeljen prema kontekstu izvođenja. Na klijentu primamo binarne podatke koristeći puni naziv datoteke za vanjsku obradu. Primljene binarne podatke prenosimo na poslužitelj i stavljamo u privremenu pohranu. Zatim trebate pozvati metodu Connect() objekta ExternalProcessing, kojoj se prosljeđuje adresa za privremenu pohranu. Metoda vraća naziv povezane vanjske obrade. Vraćamo ime vanjske obrade klijentu, stvaramo stazu niza do obrasca za obradu i koristimo metodu OpenForm() za otvaranje obrasca za vanjsku obradu.

&Na poslužitelju
Funkcija GetExternalProcessingName(BinaryData)
AdresaUPrivremenomSkladištu = MjestoUPrivremenomSkladištu(BinarniPodaci);
Vrati ExternalProcessing.Connect(AddressInTemporaryStorage);
EndFunction

&NaKlijentu
FullFileName = ""; // Puni naziv datoteke za vanjsku obradu.
FileData = novi BinarniPodaci(FullFileName);
ImeVanjskeObrade = GetExternalProcessingName(PodaciDatoteke);
OpenForm("ExternalProcessing." + ExternalProcessingName + ".Form");

Siguran način rada za vanjsku obradu

Metode Create() i Connect() objekta ExternalProcessing imaju dolazni parametar SafeMode - znak povezivanja vanjske obrade u sigurnom načinu rada. Ako parametar nije naveden, veza će se uspostaviti u sigurnom načinu rada.
Siguran način rad je namijenjen zaštiti sustava od izvođenja "nepouzdanog" programskog koda na poslužitelju. Potencijalna opasnost dolazi od vanjske obrade ili programskog koda koji je korisnik unio za korištenje u metodama Run() i Calculate().
Siguran način rada nameće sljedeća ograničenja:
  • privilegirani način rada se poništava ako je instaliran;
  • pokušaji ulaska u povlašteni način se ignoriraju;
  • operacije s COM objektima su zabranjene;
  • zabranjeno je učitavanje i spajanje vanjskih komponenti;
  • pristup odbijen sustav datoteka(osim privremenih datoteka);
  • Pristup Internetu je zabranjen.
Procesi koji se otvaraju interaktivno ne izvode se u sigurnom načinu rada, stoga je preporučljivo implementirati mehanizam za otvaranje vanjskih procesora u sigurnom načinu rada, kao i na razini dopuštenja zabraniti korisniku interaktivno otvaranje vanjskih procesora.
Za zabranu interaktivnog otvaranja obrade, u svim ulogama dodijeljenim korisniku, potrebno je ukloniti pravo “Interaktivno otvaranje vanjske obrade” (vidi sliku 1).
Slika 1. Prava na interaktivno otvaranje vanjske obrade/izvješća
Pravo "Interaktivno otvaranje vanjske obrade" ni na koji način ne utječe na objekt vanjske obrade.

Programsko otvaranje vanjskih izvješća slično je vanjskoj obradi, ali trebate koristiti objekt globalnog konteksta ExternalReports koji ima tip ExternalReportsManager.

Kada pokrenete program Učitajte dokumente pod običnog korisnika Pojavljuje se pogreška "Postavljen je siguran način rada. Operacija je zabranjena".

Ova poteškoća nastaje jer Nema dovoljno prava za pokretanje vanjske obrade. Da biste konfigurirali prava pristupa, prijavite se u bazu podataka u načinu rada 1C Enterprise u ime Administrator i idite na odjeljak Postavke korisnika i prava / Pristup profilima grupa, klik Za stvaranje grupe.

Unesite naziv grupe i potvrdite okvire za uloge dostupne korisnicima ove grupe -

  • Interaktivno otvaranje vanjskih izvješća i obrada
  • Korištenje dodatnih izvješća i obrada

Klik Spremi i zatvori


Vratite se na izbornik Korisnici i s popisa odaberite djelatnika koji će raditi s programom Document Upload. Pritisnite Dozvole. Na popisu profila odaberite prethodno kreirani profil. Klik Zapiši.


Kako bi korisnici mogli započeti s obradom, preporučuje se dodati Document Loading na popis vanjskih obrada. Da biste to učinili u izborniku Administracija / Tiskani obrasci i obrada / Dodatna izvješća i obrada stvoriti novu obradu. Navedite stazu do datoteke "Download Documents.epf" i dodijelite naziv. Navedite mjesto obrade u izborniku, odakle je korisnik može pokrenuti kasnije, na primjer, odaberite izbornik Imenici

Klikom na stavku Brzi pristup navodite koji korisnici imaju pristup obradi:


Nakon postavljanja kliknite Spremi i zatvori. Za početak obrade korisnici će samo trebati ponovno ući u bazu i otvoriti je iz pristupnog izbornika (u primjeru - Imenici) i kliknuti Izvršiti.


Otvoren Izbornik - Sve funkcije.... i na popisu pronađite opciju "Sigurnosni profili se koriste".


Samo poništite opciju "Sigurnosni profili se koriste".


Nakon toga, program će se uspješno pokrenuti.

Poanta je da se pri korištenju klijent-poslužitelj verzija 1C vanjska obrada/izvješća otvaraju se u sigurnom načinu rada, u kojem je zabranjeno korištenje povlaštenog načina rada. A povlašteni način se vrlo često koristi u tipičnim konfiguracijama: oblikovanje tiskani obrasci, razne službene provjere(upis mjenjačnica) itd. Kao rezultat toga, čak i korištenje običnog izvješća o sustavu kontrole pristupa bez obrasca (prema zadanim postavkama koristi se opći obrazac "ReportForm") i spremanje postavke po želji korisnika izvješću (u odgovarajućoj referentnoj knjizi), dobit ćete pogrešku o nedovoljnim pravima pristupa raznim konstantama i parametrima sesije koji se koriste u službene svrhe nakon retka PostaviPrivilegedMode(True) ;

“Ispravno” rješenje bilo bi povezivanje vanjske obrade i izvješća kroz BSP mehanizme “Dodatna izvješća i obrada” uz onemogućavanje sigurnog načina rada ili dodavanje dopuštenja (po mom mišljenju, od BSP verzije 2.2.2.1). Ali ako je iz nekog razloga potrebno koristiti vanjske datoteke izvješća/obrade, možete konfigurirati sigurnosni profil klastera koji se koristi kao sigurnosni profil sigurnog načina rada za određenu informacijsku bazu.

Želio bih odmah napomenuti da ova opcija nije poželjna, ali zbog različitih okolnosti može se koristiti u tako pojednostavljenom obliku. Na primjer, imam nekoliko baza podataka u različitim gradovima, jednu zajedničku lokalnu sa strogo ograničenim pravima, zatvoreni USB itd., negdje koristim Računovodstvo 2.0, a negdje 3.0, gotovo sva izvješća radim pomoću ACS alata bez obrazaca, tako da otvoren u obje verzije. Služite svim ovim izvješćima za različite verzije i različite baze podataka je naporan i uzaludan posao, jer U planu je prelazak na jedinstvenu konfiguraciju i bazu...

Kreirajmo profil.
U konzoli klastera kreiramo sigurnosni profil u kojem postavljamo zastavice "Može se koristiti kao sigurnosni profil sigurnog načina rada" i " u odjeljku "Dopušten potpuni pristup:" "u povlašteni način rada".

U mnogim slučajevima korištenja izvješća i jednostavne obrade ovu metodu bit će primjenjivi. Za složenije situacije nema smisla opisivati ​​proces jer navedeno je u dokumentaciji (mogućnost konfiguriranja sigurnosnih profila za određene vanjske datoteke određivanjem njihove količine hash itd.).

p.s. Mislio sam da sigurnosni profili funkcioniraju samo kada se koriste platformske i poslužiteljske licence na razini CORP-a, ali ova funkcionalnost također radi na platformi 1C:Enterprise 8.3 (može se uvjetno nazvati PROF, po analogiji sa standardnim konfiguracijama Basic/PROF/CORP)

U verziji 8.3.9.2170 pojačana je sigurnost - sustav sada traži potvrdu za pokretanje vanjske obrade, proširenja itd. Navodno nakon Trojanaca:

Implementiran je mehanizam zaštite od opasnih radnji. Kada se izvrši potencijalno opasna radnja, sustav izdaje upozorenje koje sadrži informacije o radnji koja se izvodi i potencijalnoj opasnosti te radnje. Potencijalno opasne aktivnosti uključuju:

  • Učitavanje vanjskog izvješća, obrada ili proširenje konfiguracije.
  • Učitavanje ili ažuriranje konfiguracije/proširenja.
  • Pristup iz vanjskog izvješća/procesora ili proširenja sljedećim mogućnostima:
  • Izvršavanje naredbe operativnog sustava.
  • Upravljanje korisnicima.

Korisnik ima mogućnost dopustiti ili odbiti potencijalno opasnu radnju. Ako je radnja dopuštena, u nekim ćete slučajevima možda trebati ponovno izvršiti dopuštenu radnju.

Poruka izgleda ovako:

Sigurnosno upozorenje

Otvara "" iz datoteke "C:\.......epf". Preporuča se obratiti pozornost na izvor iz kojeg je dobiven ovu datoteku. Ako nema dogovora s izvorom o razvoju dodatnih modula ili postoje nedoumice oko sadržaja datoteke, tada se ne preporučuje njeno otvaranje jer to može oštetiti računalo i podatke. Dopusti otvaranje ove datoteke. NE BAŠ

Riješenje:

U konfiguratoru, u korisničkim svojstvima informacijske sigurnosti, poništite potvrdni okvir "Zaštita od opasnih radnji".

Iz dokumentacije:Onemogućavanje mehanizma zaštite od opasnih aktivnosti

U nekim slučajevima potrebno je onemogućiti zaštitni mehanizam od opasnih radnji. Da biste to učinili, možete koristiti sljedeće opcije:

1. Isključite potvrdni okvir Zaštita od opasnih radnji (Zaštita od opasnih radnji) u svojstvima konkretnog korisnika. Ovo će onemogućiti zaštitu za tog korisnika.

2. Koristite parametar Zaštita od opasnih radnji Connect() metoda upravitelja eksterne obrade (izvješća). U tom slučaju moguće je učitati vanjsku obradu (izvješće) bez zahtjeva korisnika.

3. Koristite svojstvo Zaštita od opasnih radnji objekta Configuration Extension prije pozivanja metode Write() ovog objekta.

4. Koristite parametar DisableUnsafeActionProtection u datoteci conf.cfg. U tom će slučaju mehanizam zaštite od opasnih radnji biti onemogućen za sve korisnike infobaze čiji nizovi veze zadovoljavaju navedene maske.

Isključivanje zaštite od opasnih radnji provodi se prema sljedećim pravilima (danim redoslijedom):

1. Zaštita se smatra onemogućenom ako trenutni korisnik Poništit će se potvrdni okvir Zaštita od opasnih aktivnosti.

2. Zaštita se smatra onemogućenom ako niz veze s informacijska baza zadovoljava jedan od uzoraka navedenih u parametru DisableUnsafeActionProtection datoteke conf.cfg.

3. Ako je vanjska obrada (izvješće) povezana sa zaštitom koja je izričito onemogućena pomoću parametra Zaštita od nesigurnih radnji.

4. Ako je zaštita izričito onemogućena korištenjem svojstva proširenja Zaštita od opasnih radnji.