Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Se aplică acestei recomandări privind lista de verificare a securității bine construite: Power Platform
| SE:07 | Protejați secretele aplicațiilor prin consolidarea stocării acestora și restricționarea accesului și manipulării, precum și prin auditarea acestor acțiuni. Derulați un proces de rotație fiabil și regulat care poate improviza rotații pentru situații de urgență. |
|---|
Acest ghid descrie recomandările pentru securizarea informațiilor sensibile în cadrul sarcinilor de lucru. Gestionarea corectă a secretelor este crucială pentru menținerea securității și integrității aplicației, a volumului de lucru și a datelor asociate. Gestionarea necorespunzătoare a secretelor poate duce la încălcări ale securității datelor, întreruperea serviciilor, încălcări ale reglementărilor și alte probleme.
Acreditările, cum ar fi cheile API, token-urile Open Authorization (OAuth) și cheile Secure Shell (SSH) sunt secrete. Cerințele de conformitate pot determina ca setările de configurare care nu sunt de obicei considerate secrete să fie tratate ca secrete de aplicație.
Definiții
| Termen | Definiție |
|---|---|
| Certificate | Fișiere digitale care conțin cheile publice pentru criptare sau decriptare. |
| Acreditări | Informații utilizate pentru a verifica identitatea editorului sau a consumatorului într-un canal de comunicare. |
| Scanarea acreditărilor | Procesul de validare a codului sursă pentru a se asigura că nu sunt incluse secrete. |
| Criptare | Procesul prin care datele devin ilizibile și blocate cu un cod secret. |
| Tastă | Un cod secret folosit pentru a bloca sau debloca datele criptate. |
| Acces cu privilegii minime | Un principiu Zero Trust care vizează minimizarea unui set de permisiuni pentru îndeplinirea unei funcții. |
| Identitate gestionată | O identitate atribuită resurselor și gestionată de Azure. |
| Nesecret | Informații care nu pun în pericol securitatea sarcinii de lucru dacă sunt divulgate. |
| Rotire | Procesul de actualizare regulată a secretelor, astfel încât, dacă sunt compromise, să fie disponibile doar pentru o perioadă limitată de timp. |
| Secretă | O componentă confidențială a sistemului care facilitează comunicarea între componentele sarcinii de lucru. Dacă sunt scurse, secretele pot provoca o breșă de securitate. |
| X.509 | Un standard care definește formatul certificatelor cu cheie publică. |
Important
Nu trata lucrurile nesecrete ca pe niște secrete. Secretele necesită o rigoare operațională care este inutilă pentru cele non-secrete și care ar putea duce la costuri suplimentare.
Setările aplicației care nu sunt secrete, cum ar fi adresele URL ale API-urilor de care are nevoie aplicația, trebuie păstrate separat de codul aplicației sau de secretele aplicației. Pentru a stoca configurația aplicației, luați în considerare utilizarea unui conector personalizat sau a unor variabile de mediu. O altă opțiune este utilizarea unui tabel pentru a stoca metadate despre configurația aplicației. Dataverse Totuși, va trebui să găsiți o modalitate de a completa aceste date într-un mediu nou, cum ar fi transferul datelor de configurare din dezvoltare în testare sau producție. Puteți utiliza fluxuri de date pentru a realiza acest lucru.
Strategii cheie de design
Luați în considerare următoarele aspecte importante înainte de a stoca și gestiona secrete:
- Secretele create ar trebui păstrate în spații de stocare securizate, cu controale stricte de acces.
- Rotația secretă este o operațiune proactivă, în timp ce revocarea este reactivă.
- Doar identitățile de încredere ar trebui să aibă acces la secrete.
- Ar trebui să mențineți o pistă de audit pentru a inspecta și valida accesul la secrete.
Elaborați o strategie în jurul acestor aspecte pentru a preveni furtul de identitate, a evita repudierea și a minimiza expunerea inutilă la informații.
Practici sigure pentru gestionarea secretelor
Recomandăm ca cheile să aibă trei roluri distincte: utilizator, administrator și auditor. Distincția dintre roluri ajută la asigurarea faptului că doar identitățile de încredere au acces la secrete cu nivelul corespunzător de permisiune. Educați dezvoltatorii, administratorii și alți membri ai personalului relevant cu privire la importanța gestionării secretelor și a celor mai bune practici de securitate.
Chei prepartajate
Puteți controla accesul prin crearea de chei distincte pentru fiecare consumator. De exemplu, un client, precum o aplicație sau un flux, comunică cu o API terță parte utilizând o cheie prepartajată. Dacă un alt client trebuie să acceseze aceeași API, trebuie să utilizeze o altă cheie. Nu partajați chei chiar dacă doi consumatori au aceleași modele de acces sau roluri. Domeniile de aplicare ale consumatorilor se pot schimba în timp și nu puteți actualiza independent permisiunile sau distinge modelele de utilizare după ce o cheie este partajată. Accesul distinct facilitează și revocarea. Dacă cheia unui consumator este compromisă, este mai ușor să revocați sau să rotiți acea cheie fără a afecta alți consumatori.
Aceste îndrumări se aplică unor medii diferite. Aceeași cheie nu ar trebui utilizată atât pentru mediile de preproducție, cât și pentru cele de producție. Dacă ești responsabil pentru crearea cheilor prepartajate, asigură-te că creezi mai multe chei pentru a oferi suport mai multor clienți.
Pentru mai multe informații, consultați Recomandări pentru gestionarea identității și a accesului.
Depozitare secretă
Folosește un sistem de gestionare a secretelor, cum ar fi Azure Key Vault, pentru a stoca secrete într-un mediu securizat, a cripta datele în repaus și cele în tranzit și a audita accesul și modificările aduse secretelor. Dacă trebuie să stocați secrete de aplicație, păstrați-le în afara codului sursă pentru o rotire ușoară.
Un sistem dedicat de gestionare a secretelor facilitează stocarea, distribuirea și controlul accesului la secretele aplicației. Doar identitățile și serviciile autorizate ar trebui să aibă acces la depozitele secrete. Accesul la sistem poate fi restricționat prin intermediul permisiunilor. Aplicați întotdeauna abordarea cu privilegii minime atunci când atribuiți permisiuni.
De asemenea, trebuie să controlați accesul la nivel secret. Fiecare secret ar trebui să aibă acces doar la un singur domeniu de aplicare al resurselor. Creați limite de izolare astfel încât o componentă să poată utiliza doar secretele de care are nevoie. Dacă o componentă izolată este compromisă, aceasta nu poate obține controlul asupra altor secrete și, eventual, asupra întregului volum de lucru. O modalitate de a izola secretele este utilizarea mai multor seifuri de chei. Nu există costuri suplimentare pentru crearea de seifuri de chei suplimentare.
Implementați auditarea și monitorizarea accesului secret. Înregistrați cine accesează secretele și când pentru a identifica activități neautorizate sau suspecte. Pentru informații despre înregistrarea în jurnal din perspectiva securității, consultați Recomandări pentru monitorizare și detectarea amenințărilor.
Rotație secretă
Implementați un proces care menține igiena în secret. Longevitatea unui secret influențează gestionarea acelui secret. Pentru a reduce vectorii de atac, secretele ar trebui retrase și înlocuite cu secrete noi cât mai des posibil.
Mâner OAuth accesează jetoanele cu atenție, luând în considerare timpul lor de viață. Luați în considerare dacă este necesară ajustarea ferestrei de expunere la o perioadă mai scurtă. Jetoanele de reîmprospătare trebuie stocate în siguranță, cu expunere limitată la aplicație. Certificatele reînnoite ar trebui să utilizeze și o cheie nouă. Pentru informații despre token-urile de reîmprospătare, consultați Asigura OAuth 2.0 Jetoane de actualizare în numele utilizatorului.
Înlocuiți secretele după ce ajung la sfârșitul duratei lor de viață, nu mai sunt utilizate de sarcina de lucru sau dacă au fost compromise. În schimb, nu retrageți secretele active decât dacă este o urgență. Puteți determina starea unui secret vizualizând jurnalele de acces. Procesele de rotație secretă nu ar trebui să afecteze fiabilitatea sau performanța volumului de lucru. Folosește strategii care creează redundanță în secrete, consumatori și metode de acces pentru o rotație lină.
Practici sigure pentru utilizarea secretelor
Ca generator sau operator de secrete, ar trebui să puteți distribui secrete într-un mod sigur. Multe organizații folosesc instrumente pentru a partaja în siguranță secrete atât în cadrul organizației, cât și extern, cu partenerii. În absența unui instrument, stabiliți un proces pentru transmiterea corectă a acreditărilor către destinatarii autorizați. Planurile dumneavoastră de recuperare în caz de dezastru ar trebui să includă proceduri secrete de recuperare. Aveți un proces pentru situațiile în care o cheie este compromisă sau scursă de informații și trebuie regenerată la cerere. Luați în considerare următoarele bune practici pentru siguranță atunci când utilizați secrete:
Prevenirea codării hardcoding
Nu codificați secretele ca text static în artefacte de cod, cum ar fi fluxuri în cloud și aplicații canvas, fișiere de configurare și conducte de compilare-implementare. Această practică cu risc ridicat face codul vulnerabil, deoarece secretele sunt expuse tuturor celor cu acces de citire.
Folosește instrumente care detectează periodic secretele expuse în codul aplicației tale și construiesc artefacte. Puteți adăuga aceste instrumente ca parte a canalelor de implementare pentru a scana acreditările înainte de implementarea commit-urilor de cod sursă. Revizuiți și dezinfectați jurnalele aplicațiilor în mod regulat pentru a vă asigura că nu sunt înregistrate accidental secrete. De asemenea, puteți consolida detectarea prin intermediul evaluărilor inter pares.
Notă
Dacă instrumentele de scanare descoperă un secret, acel secret trebuie considerat compromis. Ar trebui revocat.
Răspundeți la rotația secretă
Ca proprietar al unui volum de lucru, trebuie să înțelegeți planul și politicile de rotație a secretelor, astfel încât să puteți încorpora secrete noi cu o întrerupere minimă a utilizatorilor. Când un secret este rotit, poate exista o fereastră în care vechiul secret nu este valid, dar noul secret nu a fost plasat. În acea fereastră, componenta pe care încearcă să o acceseze sarcina de lucru nu confirmă solicitările. Puteți minimiza aceste probleme prin integrarea logicii de reîncercare în cod. De asemenea, puteți utiliza modele de acces concurent care vă permit să aveți mai multe acreditări care pot fi modificate în siguranță fără a se afecta reciproc.
Lucrează cu echipa operațională și participă la procesul de gestionare a schimbării. Ar trebui să anunțați proprietarii de acreditări atunci când dezafectați o parte a sarcinii de lucru care utilizează acreditări care nu mai sunt necesare.
Integrați recuperarea și configurarea secretelor în canalul dvs. de implementare automată. Recuperarea secretelor ajută la asigurarea că secretele sunt preluate automat în timpul implementării. De asemenea, puteți utiliza modele de injectare a secretelor pentru a insera secrete în codul sau configurația aplicației în timpul execuției, ceea ce împiedică expunerea accidentală a secretelor în jurnale sau în controlul versiunilor.
Power Platform facilitare
Următoarele secțiuni descriu Power Platform caracteristici și capabilități pe care le puteți utiliza pentru a gestiona secretele aplicației.
Utilizarea secretelor Azure Key Vault
Variabilele de mediu permit referirea la secretele stocate în Azure Key Vault. Aceste secrete sunt apoi puse la dispoziție pentru utilizare în cadrul fluxurilor Power Automate și al conectorilor particularizați. Rețineți că secretele nu sunt disponibile pentru utilizare în alte personalizări sau, în general, prin intermediul API-ului.
Secretele actuale sunt stocate în Azure Key Vault, iar variabila de mediu face referire la locația secretă din Key Vault. Utilizarea secretelor Azure Key Vault cu variabile de mediu necesită să configurați Azure Key Vault astfel încât Power Platform să poată citi secretele specifice la care doriți să faceți referire. Pentru mai multe informații, consultați Utilizarea variabilelor de mediu în soluții și Utilizarea variabilelor de mediu în conectorii personalizați ai soluțiilor.
Utilizați Verificatorul de soluții
Cu caracteristica Verificator de soluții, puteți efectua o verificare complexă a analizei statice a soluției dvs., comparativ cu un set de reguli de bune practici și puteți identifica rapid aceste modele problematice. După terminarea verificării, veți primi un raport detaliat care listează problemele identificate, componente și codul afectate și link-uri către documentația care descrie modul de rezolvare pentru fiecare problemă. Examinați regulile de verificare a soluțiilor disponibile în categoria Securitate. Pentru mai multe informații, consultați Utilizarea verificatorului de soluții pentru validarea soluțiilor.
Utilizați acțiuni CyberArk
CyberArk oferă o platformă de securitate a identității care protejează identitățile umane și ale mașinilor de la un capăt la altul. Power Automate Fluxurile desktop vă permit să recuperați acreditări de la CyberArk. Pentru mai multe informații, consultați CyberArk acțiuni.
Informații corelate
- Utilizarea variabilelor de mediu în soluții
- Utilizarea variabilelor de mediu în conectorii personalizați ai soluției
- Folosește verificatorul de soluții pentru a valida soluțiile tale
- CyberArk acțiuni
- Azure DevOps Sarcina Scanerului de Acreditări
- Configurați extensia Microsoft Security DevOps Azure DevOps
- Configurați Securitatea Avansată GitHub pentru Azure DevOps
- Recomandări pentru monitorizare și detectarea amenințărilor
- Recomandări pentru gestionarea identității și a accesului
Listă de verificare a securității
Consultați setul complet de recomandări.