Comparteix a través de


Recomanacions per protegir els secrets de l'aplicació

S'aplica a aquesta Power Platform recomanació de la llista de verificació de seguretat ben arquitectada:

SE:07 Protegiu els secrets de l'aplicació reforçant el seu emmagatzematge i restringint l'accés i la manipulació i auditant aquestes accions. Executeu un procés de rotació fiable i regular que pugui improvisar rotacions per a emergències.

Aquesta guia descriu les recomanacions per protegir la informació confidencial a les càrregues de treball. La gestió adequada dels secrets és crucial per mantenir la seguretat i la integritat de la vostra aplicació, càrrega de treball i dades associades. La gestió inadequada dels secrets pot provocar violacions de dades, interrupcions del servei, infraccions normatives i altres problemes.

Les credencials, com ara les claus d'API, els testimonis d'autorització oberta (OAuth) i les claus de Secure Shell (SSH) són secrets. Els requisits de compliment poden fer que els paràmetres de configuració que normalment no es consideren secrets es tractin com a secrets d'aplicació.

Definicions

Terme Definició
Certificats Fitxers digitals que contenen les claus públiques per a l'encriptació o el desxifrat.
Credencials Informació que s'utilitza per verificar la identitat de l'editor o del consumidor en un canal de comunicació.
Escaneig de credencials El procés de validació del codi font per assegurar-se que els secrets no s'inclouen.
Xifratge El procés pel qual les dades es fan il·legibles i es bloquegen amb un codi secret.
Tecla Codi secret que s'utilitza per bloquejar o desbloquejar dades xifrades.
Accés amb privilegis mínims Un principi de confiança zero que té com a objectiu minimitzar un conjunt de permisos per completar una funció de treball.
Identitat administrada Una identitat assignada als recursos i administrada per Azure.
No secret Informació que no posa en perill la postura de seguretat de la càrrega de treball si es filtra.
Rotació El procés d'actualització periòdica dels secrets perquè, si es veuen compromesos, només estiguin disponibles durant un temps limitat.
Secret Un component confidencial del sistema que facilita la comunicació entre els components de la càrrega de treball. Si es filtren, els secrets poden provocar una violació.
X.509 Un estàndard que defineix el format dels certificats de clau pública.

Important

No tracteu els no-secrets com a secrets. Els secrets requereixen un rigor operatiu que no és necessari per als no secrets i que pot comportar costos addicionals.

La configuració de l'aplicació que no sigui secreta, com ara els URL de les API que necessita l'aplicació, s'ha de mantenir separada del codi de l'aplicació o dels secrets de l'aplicació. Per emmagatzemar la configuració de l'aplicació, considereu utilitzar un connector personalitzat o variables d'entorn. Una altra opció és utilitzar una Dataverse taula per emmagatzemar metadades sobre la configuració de l'aplicació. Tanmateix, haureu de trobar una manera d'omplir aquestes dades en un entorn nou, com ara transferir dades de configuració del desenvolupament a les proves o la producció. Podeu utilitzar fluxos de dades per aconseguir-ho.

Estratègies clau de disseny

Tingueu en compte les següents àrees de preocupació abans d'emmagatzemar i gestionar secrets:

  • Els secrets creats s'han de mantenir en un emmagatzematge segur amb estrictes controls d'accés.
  • La rotació secreta és una operació proactiva, mentre que la revocació és reactiva.
  • Només les identitats de confiança haurien de tenir accés als secrets.
  • Heu de mantenir una pista d'auditoria per inspeccionar i validar l'accés als secrets.

Construïu una estratègia al voltant d'aquests punts per ajudar a prevenir el robatori d'identitat, evitar el repudi i minimitzar l'exposició innecessària a la informació.

Pràctiques segures per a la gestió de secrets

Recomanem que les claus tinguin tres funcions diferents: usuari, administrador i auditor. La distinció de funcions ajuda a garantir que només les identitats de confiança tinguin accés als secrets amb el nivell de permís adequat. Educar els desenvolupadors, administradors i altre personal rellevant sobre la importància de la gestió secreta i les millors pràctiques de seguretat.

Claus compartides

Podeu controlar l'accés creant claus diferents per a cada consumidor. Per exemple, un client, com ara una aplicació o un flux, es comunica amb una API de tercers mitjançant una clau compartida prèviament. Si un altre client necessita accedir a la mateixa API, ha d'utilitzar una altra clau. No comparteixis claus encara que dos consumidors tinguin els mateixos patrons d'accés o funcions. Els àmbits del consumidor poden canviar amb el temps i no podeu actualitzar els permisos de manera independent ni distingir patrons d'ús després de compartir una clau. L'accés diferent també facilita la revocació. Si la clau d'un consumidor està compromesa, és més fàcil revocar-la o girar-la sense afectar altres consumidors.

Aquesta guia s'aplica a diferents entorns. La mateixa clau no s'ha d'utilitzar tant per a entorns de preproducció com de producció. Si sou responsable de crear claus compartides prèviament, assegureu-vos de crear diverses claus per admetre diversos clients.

Per obtenir més informació, vegeu Recomanacions per a l'administració d'identitats i accessos.

Emmagatzematge secret

Utilitzeu un sistema de gestió de secrets, com Azure Key Vault, per emmagatzemar secrets en un entorn reforçat, xifrar en repòs i en trànsit i auditar l'accés i els canvis als secrets. Si necessiteu emmagatzemar secrets d'aplicació, guardeu-los fora del codi font per facilitar la rotació.

Un sistema de gestió de secrets dedicat facilita l'emmagatzematge, la distribució i el control de l'accés als secrets de l'aplicació. Només les identitats i els serveis autoritzats haurien de tenir accés a magatzems secrets. L'accés al sistema es pot restringir mitjançant permisos. Apliqueu sempre l'enfocament de privilegis mínims quan assigneu permisos.

També heu de controlar l'accés a nivell de secret. Cada secret només ha de tenir accés a un únic àmbit de recursos. Creeu límits d'aïllament perquè un component només pugui utilitzar els secrets que necessita. Si un component aïllat està compromès, no pot obtenir el control d'altres secrets i potencialment de tota la càrrega de treball. Una manera d'aïllar secrets és utilitzar diverses voltes de claus. No hi ha costos addicionals per crear voltes de claus addicionals.

Implementeu l'auditoria i la supervisió de l'accés secret. Registreu qui accedeix als secrets i quan identificar activitats no autoritzades o sospitoses. Per obtenir informació sobre el registre des d'una perspectiva de seguretat, vegeu Recomanacions per a la supervisió i la detecció d'amenaces.

Rotació secreta

Tenir un procés que mantingui una higiene secreta. La longevitat d'un secret influeix en la gestió d'aquest secret. Per reduir els vectors d'atac, els secrets han de ser retirats i substituïts per nous secrets amb la major freqüència possible.

Manejeu OAuth les fitxes d'accés amb cura, tenint en compte el seu temps de vida. Penseu si cal ajustar la finestra d'exposició a un període més curt. Els testimonis d'actualització s'han d'emmagatzemar de manera segura amb una exposició limitada a l'aplicació. Els certificats renovats també haurien d'utilitzar una clau nova. Per obtenir informació sobre els testimonis d'actualització, vegeu Testimonis OAuth d'actualització en nom del Secure2.0.

Substituïu els secrets quan arribin al final de la seva vida útil, ja no siguin utilitzats per la càrrega de treball o s'hagin vist compromesos. Per contra, no retireu secrets actius tret que sigui una emergència. Podeu determinar l'estat d'un secret visualitzant els registres d'accés. Els processos de rotació secreta no haurien d'afectar la fiabilitat o el rendiment de la càrrega de treball. Utilitzeu estratègies que generin redundància en secrets, consumidors i mètodes d'accés per a una rotació suau.

Pràctiques segures per a l'ús de secrets

Com a generador o operador de secrets, hauríeu de poder distribuir secrets de manera segura. Moltes organitzacions utilitzen eines per compartir secrets de manera segura tant dins de l'organització com externament amb els socis. En absència d'una eina, tingueu un procés per lliurar correctament les credencials als destinataris autoritzats. Els vostres plans de recuperació de desastres han d'incloure procediments de recuperació secrets. Tenir un procés per a situacions en què una clau està compromesa o filtrada i s'ha de regenerar sota demanda. Tingueu en compte les següents pràctiques recomanades per a la seguretat quan utilitzeu secrets:

Eviteu la codificació dura

No codifiqueu secrets com a text estàtic en artefactes de codi, com ara fluxos de núvol i aplicacions de llenç, fitxers de configuració i pipelines de compilació-implementació. Aquesta pràctica d'alt risc fa que el codi sigui vulnerable perquè els secrets estan exposats a tothom amb accés de lectura.

Utilitzeu eines que detectin periòdicament secrets exposats al codi de l'aplicació i creeu artefactes. Podeu afegir aquestes eines com a part dels pipelines de desplegament per buscar credencials abans que el codi font confirmi la implementació. Reviseu i desinfecteu els registres de l'aplicació regularment per assegurar-vos que no es registrin secrets sense voler. També podeu reforçar la detecció mitjançant revisions per parells.

Nota

Si les eines d'escaneig descobreixen un secret, aquest secret s'ha de considerar compromès. S'hauria de revocar.

Respondre a la rotació secreta

Com a propietari d'una càrrega de treball, heu d'entendre el pla secret de rotació i les polítiques perquè pugueu incorporar nous secrets amb una interrupció mínima per als usuaris. Quan es gira un secret, pot haver-hi una finestra quan l'antic secret no és vàlid, però el nou secret no s'ha col·locat. Durant aquesta finestra, el component al qual intenta arribar la càrrega de treball no reconeix les sol·licituds. Podeu minimitzar aquests problemes creant una lògica de reintent al codi. També podeu utilitzar patrons d'accés simultani que us permetin tenir diverses credencials que es poden canviar de manera segura sense afectar-se mútuament.

Treballar amb l'equip d'operacions i formar part del procés de gestió del canvi. Heu d'informar els propietaris de credencials quan retireu una part de la càrrega de treball que utilitza credencials que ja no són necessàries.

Integreu la recuperació i la configuració de secrets al vostre pipeline d'implementació automatitzat. La recuperació secreta ajuda a garantir que els secrets s'obtinguin automàticament durant el desplegament. També podeu utilitzar patrons d'injecció de secrets per inserir secrets en el codi o la configuració de l'aplicació en temps d'execució, cosa que evita que els secrets s'exposin accidentalment als registres o al control de versions.

Power Platform facilitació

Les seccions següents descriuen Power Platform les característiques i capacitats que podeu utilitzar per administrar secrets d'aplicació.

Utilitzar secrets de l'Azure Key Vault

Les variables d'entorn permeten fer referència als secrets emmagatzemats a l'Azure Key Vault. Aquests secrets estan disponibles per utilitzar-se dins de fluxos i connectors personalitzats del Power Automate. Tingueu en compte que els secrets no estan disponibles per utilitzar-los en altres personalitzacions o generalment a través de l'API.

Els secrets reals s'emmagatzemen a l'Azure Key Vault i la variable d'entorn fa referència a la ubicació secreta del keyvault. L'ús de secrets de l'Azure Key Vault amb les variables d'entorn requereix que configureu l'Azure Key Vault per tal el Power Platform pugui llegir els secrets específics als que voleu fer referència. Per obtenir més informació, vegeu Utilitzar variables d'entorn a les solucions i Utilitzar variables d'entorn als connectors personalitzats de la solució.

Utilitzar el verificador de solucions

Amb la característica del verificador de solucions, podeu realitzar una verificació d'anàlisi estàtica rica en les vostres solucions amb un conjunt de regles de les pràctiques recomanades i identificar ràpidament aquests patrons problemàtics. Un cop finalitzada la verificació, rebreu un informe detallat que enumera els problemes identificats, els components i el codi afectat i els vincles a la documentació que descriu com resoldre cada problema. Reviseu les regles de verificació de solucions disponibles a la categoria Seguretat. Per obtenir més informació, vegeu Utilitzar el verificador de solucions per validar les solucions.

Utilitzar CyberArk accions

CyberArk ofereix una plataforma de seguretat d'identitat que protegeix les identitats humanes i de les màquines d'extrem a extrem. Power Automate Els fluxos d'escriptori us permeten recuperar credencials de CyberArk. Per obtenir més informació, vegeu CyberArk accions.

Llista de comprovació de seguretat

Consulteu el conjunt complet de recomanacions.