Κοινή χρήση μέσω


Προτάσεις για την προστασία των μυστικών της εφαρμογής

Ισχύει για την παρούσα σύσταση της λίστας ελέγχου Power Platform Well-Architected Security:

SE:07 Προστατεύστε τα μυστικά των εφαρμογών σκληραίνοντας την αποθήκευσή τους, περιορίζοντας την πρόσβαση και τον χειρισμό τους και ελέγχοντας αυτές τις ενέργειες. Να εκτελέσετε μια αξιόπιστη και τακτική διαδικασία επαναδιάταξης των διαδικασιών για την περίπτωση έκτακτων περιστατικών.

Αυτός ο οδηγός περιγράφει τις συστάσεις για την ασφάλιση των ευαίσθητων πληροφοριών στους φόρτους εργασίας. Η σωστή διαχείριση των μυστικών είναι ζωτικής σημασίας για τη διατήρηση της ασφάλειας και της ακεραιότητας της εφαρμογής, του φόρτου εργασίας και των σχετικών δεδομένων. Ο ακατάλληλος χειρισμός των μυστικών μπορεί να οδηγήσει σε παραβιάσεις δεδομένων, διακοπή υπηρεσιών, κανονιστικές παραβιάσεις και άλλα ζητήματα.

Τα διαπιστευτήρια, όπως τα κλειδιά API, τα κουπόνια Open Authorization (OAuth) και τα κλειδιά Secure Shell (SSH) είναι μυστικά. Οι απαιτήσεις συμμόρφωσης ενδέχεται να προκαλέσουν ρυθμίσεις παραμέτρων οι οποία κατά κανόνα δεν θεωρούνται απόρρητες εφαρμογές.

Ορισμοί

Όρος Ορισμός
Πιστοποιητικά Ψηφιακά αρχεία που έχουν τα δημόσια κλειδιά για κρυπτογράφηση ή αποκρυπτογράφηση.
Credentials Πληροφορίες που χρησιμοποιούνται για την επαλήθευση της ταυτότητας του εκδότη ή του πελάτη σε ένα δίαυλο επικοινωνίας.
Σάρωση διαπιστευτηρίων Η διαδικασία επικύρωσης του πηγαίου κώδικα για να βεβαιωθείτε ότι δεν περιλαμβάνονται μυστικά.
Κρυπτογράφηση Η διεργασία με την οποία γίνεται μη αναγνώσιμη και κλειδωμένη με κωδικό πρόσβασης.
Key Ένας κωδικός πρόσβασης που χρησιμοποιείται για το κλείδωμα ή το ξεκλείδωμα κρυπτογραφημένων δεδομένων.
Πρόσβαση με τα λιγότερα προνόμια Μια αρχή Zero Trust που ελαχιστοποιεί ένα σύνολο δικαιωμάτων για την ολοκλήρωση μιας λειτουργίας εργασίας.
Διαχειριζόμενη ταυτότητα Μια ταυτότητα που εκχωρείται σε πόρους και η διαχείρισή της γίνεται από το Azure.
Μη μυστικό Πληροφορίες που δεν θέτουν σε κίνδυνο τη στάση ασφαλείας του φόρτου εργασίας εάν διαρρεύσουν.
Περιστροφή Η διαδικασία τακτικής ενημέρωσης των μυστικών, έτσι ώστε, αν εκτεθούν σε κίνδυνο, να είναι διαθέσιμα μόνο για περιορισμένο χρονικό διάστημα.
Μυστικό Ένα εμπιστευτικό στοιχείο του συστήματος το οποίο διευκολύνει την επικοινωνία μεταξύ των στοιχείων του φόρτου εργασίας. Εάν δεν υπάρχουν, τα μυστικά μπορούν να προκαλέσουν παραβίαση.
X.509 Ένα πρότυπο που καθορίζει τη μορφή των πιστοποιητικών δημόσιου κλειδιού.

Σημαντικό

Μην αντιμετωπίζετε τα μη μυστικά σαν μυστικά. Τα μυστικά απαιτούν επιχειρησιακή αυστηρότητα που είναι περιττή για τα μη μυστικά και που μπορεί να οδηγήσει σε πρόσθετο κόστος.

Οι ρυθμίσεις της εφαρμογής που δεν είναι μυστικές, όπως οι διευθύνσεις URL των API που χρειάζεται η εφαρμογή, θα πρέπει να διατηρούνται χωριστά από τον κώδικα της εφαρμογής ή τα μυστικά της εφαρμογής. Για την αποθήκευση των ρυθμίσεων της εφαρμογής, σκεφτείτε να χρησιμοποιήσετε έναν προσαρμοσμένο σύνδεσμο ή μεταβλητές περιβάλλοντος. Μια άλλη επιλογή είναι η χρήση ενός πίνακα Dataverse για την αποθήκευση μεταδεδομένων σχετικά με τη διαμόρφωση της εφαρμογής. Ωστόσο, θα πρέπει να βρείτε έναν τρόπο να συμπληρώσετε αυτά τα δεδομένα σε ένα νέο περιβάλλον, όπως η μεταφορά δεδομένων ρυθμίσεων από την ανάπτυξη στη δοκιμή ή την παραγωγή. Μπορείτε να χρησιμοποιήσετε τις ροές δεδομένων για να το επιτύχετε.

Βασικές στρατηγικές σχεδίασης

Λάβετε υπόψη σας τις παρακάτω περιοχές όπου μπορείτε να αποθηκεύσετε και να διαχειριστείτε τα μυστικά:

  • Τα δημιουργημένα μυστικά θα πρέπει να φυλάσσονται σε ασφαλή χώρο αποθήκευσης με αυστηρούς ελέγχους πρόσβασης.
  • Η εναλλαγή των μυστικών είναι μια προληπτική λειτουργία, ενώ η ανάκληση είναι αντιδραστική.
  • Μόνο αξιόπιστες ταυτότητες θα πρέπει να έχουν πρόσβαση στα μυστικά.
  • Θα πρέπει να διατηρείτε μια διαδρομή ελέγχου για να επιθεωρείτε και να επικυρώνετε την πρόσβαση στα μυστικά.

Χτίστε μια στρατηγική γύρω από αυτά τα σημεία για να αποτρέψετε την κλοπή ταυτότητας, να αποφύγετε την απόρριψη και να ελαχιστοποιήσετε την περιττή έκθεση σε πληροφορίες.

Ασφαλείς πρακτικές για τη διαχείριση μυστικών

Συνιστούμε τα κλειδιά να έχουν τρεις διακριτούς ρόλους: χρήστης, διαχειριστής και ελεγκτής. Η διάκριση ρόλων συμβάλλει στη διασφάλιση ότι μόνο αξιόπιστες ταυτότητες έχουν πρόσβαση σε μυστικά με το κατάλληλο επίπεδο δικαιωμάτων. Εκπαιδεύστε τους προγραμματιστές, τους διαχειριστές και άλλο σχετικό προσωπικό σχετικά με τη σημασία της διαχείρισης μυστικών και των βέλτιστων πρακτικών ασφαλείας.

Ήδη κοινόχρηστα κλειδιά

Μπορείτε να ελέγχετε την πρόσβαση δημιουργώντας ξεχωριστά κλειδιά για κάθε πελάτη. Για παράδειγμα, ένας πελάτης, όπως μια εφαρμογή ή μια ροή, επικοινωνεί με ένα API τρίτου μέρους χρησιμοποιώντας ένα προσυμφωνημένο κλειδί. Εάν ένας άλλος πελάτης χρειάζεται πρόσβαση στο ίδιο API, πρέπει να χρησιμοποιήσει άλλο κλειδί. Μην κάνετε κοινή χρήση κλειδιών ακόμα και αν δύο άτομα έχουν τα ίδια μοτίβα πρόσβασης ή τους ίδιους ρόλους. Τα πεδία εφαρμογής των καταναλωτών ενδέχεται να αλλάξουν με την πάροδο του χρόνου και δεν μπορείτε να ενημερώσετε ανεξάρτητα τα δικαιώματα ή να διακρίνετε τα μοτίβα χρήσης μετά την κοινή χρήση ενός κλειδιού. Η διακριτή πρόσβαση κάνει επίσης πιο εύκολη την ανάκληση. Εάν το κλειδί ενός καταναλωτή παραβιαστεί, είναι ευκολότερο να ανακληθεί ή να περιστραφεί αυτό το κλειδί χωρίς να επηρεαστούν άλλοι καταναλωτές.

Αυτή η καθοδήγηση ισχύει για διαφορετικά περιβάλλοντα. Το ίδιο κλειδί δεν πρέπει να χρησιμοποιείται τόσο για περιβάλλον προπαραγωγής όσο και για περιβάλλον παραγωγής. Εάν είστε υπεύθυνοι για τη δημιουργία προμερισμένων κλειδιών, βεβαιωθείτε ότι έχετε δημιουργήσει πολλαπλά κλειδιά για την υποστήριξη πολλαπλών πελατών.

Για περισσότερες πληροφορίες, δείτε: Συστάσεις για τη διαχείριση ταυτότητας και πρόσβασης.

Μυστικός χώρος αποθήκευσης

Χρησιμοποιήστε ένα σύστημα διαχείρισης μυστικών, όπως το Azure Key Vault, για την αποθήκευση μυστικών σε ένα σκληρό περιβάλλον, την κρυπτογράφηση κατά την ηρεμία και τη μεταφορά και τον έλεγχο της πρόσβασης και των αλλαγών στα μυστικά. Αν χρειάζεται να αποθηκεύσετε μυστικά της εφαρμογής, κρατήστε τα εκτός του πηγαίου κώδικα για εύκολη εναλλαγή.

Ένα ειδικό σύστημα διαχείρισης μυστικών διευκολύνει την αποθήκευση, τη διανομή και τον έλεγχο της πρόσβασης σε μυστικά εφαρμογών. Μόνο εξουσιοδοτημένες ταυτότητες και υπηρεσίες θα πρέπει να έχουν πρόσβαση στις μυστικούς χώρους αποθήκευσης. Η πρόσβαση στο σύστημα μπορεί να περιοριστεί μέσω δικαιωμάτων. Εφαρμόζετε πάντα την προσέγγιση των λιγότερων δικαιωμάτων όταν εκχωρείτε δικαιώματα.

Πρέπει επίσης να ελέγχετε την πρόσβαση σε μυστικό επίπεδο. Κάθε μυστικό θα πρέπει να έχει πρόσβαση σε ένα μόνο πεδίο πόρων. Δημιουργήστε όρια απομόνωσης ώστε ένα στοιχείο να μπορεί να χρησιμοποιεί μόνο τα μυστικά που χρειάζεται. Εάν ένα απομονωμένο συστατικό παραβιαστεί, δεν μπορεί να αποκτήσει τον έλεγχο άλλων μυστικών και ενδεχομένως ολόκληρου του φόρτου εργασίας. Ένας τρόπος για την απομόνωση των μυστικών είναι η χρήση πολλαπλών θησαυροφυλακίων κλειδιών. Δεν υπάρχει πρόσθετο κόστος για τη δημιουργία επιπλέον θησαυροφυλακίων κλειδιών.

Εφαρμογή ελέγχου και παρακολούθησης της μυστικής πρόσβασης. Καταγράψτε ποιος έχει πρόσβαση στα μυστικά και πότε για να εντοπίσετε μη εξουσιοδοτημένη ή ύποπτη δραστηριότητα. Για πληροφορίες σχετικά με την καταγραφή από την πλευρά της ασφάλειας, ανατρέξτε στις συστάσεις για παρακολούθηση και εντοπισμό απειλών.

Μυστική περιστροφή

Διαθέστε μια διαδικασία που διατηρεί τη μυστική υγιεινή. Η μακροβιότητα ενός μυστικού επηρεάζει τη διαχείρισή του. Για να μειωθούν οι φορείς επιθέσεων, τα μυστικά θα πρέπει να αποσύρονται και να αντικαθίστανται με νέα μυστικά όσο το δυνατόν συχνότερα.

Χειριστείτε προσεκτικά τα διακριτικά πρόσβασης OAuth, λαμβάνοντας υπόψη το χρόνο ζωής τους. Εξετάστε αν το παράθυρο έκθεσης πρέπει να προσαρμοστεί σε μικρότερη περίοδο. Τα διακριτικά ανανέωσης πρέπει να αποθηκεύονται με ασφάλεια με περιορισμένη πρόσβαση στην εφαρμογή. Τα ανανεωμένα πιστοποιητικά θα πρέπει επίσης να χρησιμοποιούν νέο κλειδί. Για πληροφορίες σχετικά με τα διακριτικά ανανέωσης, ανατρέξτε στα διακριτικά ανανέωσης Secure OAuth 2.0 On-Behalf-Of.

Αντικαταστήστε τα μυστικά αφού φτάσουν στο τέλος της ζωής τους, δεν χρησιμοποιούνται πλέον από το φόρτο εργασίας ή αν έχουν παραβιαστεί. Αντίθετα, μην αποσύρετε ενεργά μυστικά, εκτός αν πρόκειται για έκτακτη ανάγκη. Μπορείτε να προσδιορίσετε την κατάσταση ενός μυστικού προβάλλοντας τα αρχεία καταγραφής πρόσβασης. Οι διαδικασίες εναλλαγής μυστικών δεν θα πρέπει να επηρεάζουν την αξιοπιστία ή την απόδοση του φόρτου εργασίας. Χρησιμοποιήστε στρατηγικές που δημιουργούν πλεονασμό στα μυστικά, τους καταναλωτές και τις μεθόδους πρόσβασης για ομαλή εναλλαγή.

Ασφαλείς πρακτικές για τη χρήση μυστικών

Ως δημιουργός ή χειριστής μυστικών, θα πρέπει να είστε σε θέση να διανέμετε τα μυστικά με ασφαλή τρόπο. Πολλοί οργανισμοί χρησιμοποιούν εργαλεία για να μοιράζονται με ασφάλεια μυστικά τόσο εντός του οργανισμού όσο και εξωτερικά σε συνεργάτες. Ελλείψει εργαλείου, εφαρμόστε μια διαδικασία για τη σωστή παράδοση των διαπιστευτηρίων σε εξουσιοδοτημένους παραλήπτες. Τα σχέδια αποκατάστασης από καταστροφές θα πρέπει να περιλαμβάνουν διαδικασίες μυστικής αποκατάστασης. Διαθέστε μια διαδικασία για τις περιπτώσεις όπου ένα κλειδί διακυβεύεται ή διαρρέει και πρέπει να αναγεννηθεί κατά παραγγελία. Λάβετε υπόψη τις ακόλουθες βέλτιστες πρακτικές για την ασφάλεια όταν χρησιμοποιείτε μυστικά:

Αποτροπή σκληρής κωδικοποίησης

Μην κωδικοποιείτε τα μυστικά ως στατικό κείμενο σε τεχνουργήματα κώδικα, όπως οι ροές cloud και οι εφαρμογές καμβά, τα αρχεία ρυθμίσεων και οι διοχετεύσεις δομής-ανάπτυξης. Αυτή η πρακτική υψηλού κινδύνου καθιστά τον κώδικα ευάλωτο, επειδή τα μυστικά είναι εκτεθειμένα σε όλους όσους έχουν πρόσβαση ανάγνωσης.

Χρησιμοποιήστε εργαλεία που ανιχνεύουν περιοδικά εκτεθειμένα μυστικά στον κώδικα της εφαρμογής σας και στα τεχνουργήματα κατασκευής. Μπορείτε να προσθέσετε αυτά τα εργαλεία ως μέρος των διοχετεύσεων ανάπτυξής σας για να σαρώσετε για διαπιστευτήρια πριν από την ανάπτυξη μεταβιβάσεων πηγαίου κώδικα. Ελέγξτε και καθαρίστε τακτικά τα αρχεία καταγραφής εφαρμογών για να διασφαλίσετε ότι δεν καταγράφονται κατά λάθος μυστικά. Μπορείτε επίσης να ενισχύσετε την ανίχνευση μέσω αξιολογήσεων από ομοτίμους.

Σημείωμα

Εάν τα εργαλεία σάρωσης ανακαλύψουν ένα μυστικό, αυτό το μυστικό πρέπει να θεωρηθεί ότι έχει παραβιαστεί. Θα πρέπει να ανακληθεί.

Απόκριση σε μυστική εναλλαγή

Ως κάτοχος του φόρτου εργασίας, πρέπει να καταλάβετε το σχέδιο και τις πολιτικές εναλλαγής των μυστικών, ώστε να μπορείτε να ενσωματώσετε τα νέα μυστικά με την ελάχιστη δυνατή αναστάτωση για τους χρήστες. Όταν ένα μυστικό εναλλάσσεται, μπορεί να υπάρχει ένα παράθυρο κατά το οποίο το παλιό μυστικό δεν είναι έγκυρο, αλλά το νέο μυστικό δεν έχει τοποθετηθεί. Κατά τη διάρκεια αυτού του παραθύρου, το στοιχείο στο οποίο προσπαθεί να φτάσει ο φόρτος εργασίας δεν αναγνωρίζει αιτήσεις. Μπορείτε να ελαχιστοποιήσετε αυτά τα ζητήματα, χρησιμοποιώντας λογική επανάληψης στον κώδικα. Μπορείτε επίσης να χρησιμοποιήσετε μοτίβα ταυτόχρονης πρόσβασης που σας επιτρέπουν να έχετε πολλαπλά διαπιστευτήρια που μπορούν να αλλάξουν με ασφάλεια χωρίς να επηρεάζουν το ένα το άλλο.

Συνεργάζεστε με την ομάδα λειτουργιών και συμμετέχετε στη διαδικασία διαχείρισης αλλαγών. Θα πρέπει να ενημερώνετε τους κατόχους διαπιστευτηρίων όταν θέτετε εκτός λειτουργίας ένα μέρος του φόρτου εργασίας που χρησιμοποιεί διαπιστευτήρια που δεν χρειάζονται πλέον.

Ενσωματώστε την ανάκτηση και τη ρύθμιση παραμέτρων μυστικών στην αυτοματοποιημένη διοχέτευση ανάπτυξής σας. Η ανάκτηση μυστικών βοηθά στη διασφάλιση της αυτόματης ανάκτησης μυστικών κατά τη διάρκεια της ανάπτυξης. Μπορείτε επίσης να χρησιμοποιήσετε μοτίβα έγχυσης μυστικών για να εισαγάγετε μυστικά στον κώδικα της εφαρμογής ή στις ρυθμίσεις παραμέτρων κατά την εκτέλεση, γεγονός που αποτρέπει την τυχαία έκθεση των μυστικών σε αρχεία καταγραφής ή στον έλεγχο έκδοσης.

Διευκόλυνση Power Platform

Στις ακόλουθες ενότητες περιγράφονται οι δυνατότητες Power Platform που μπορείτε να χρησιμοποιήσετε για τη διαχείριση των μυστικών εφαρμογών.

Χρήση μυστικών κωδικών Azure Key Vault

Οι μεταβλητές περιβάλλοντος επιτρέπουν την αναφορά μυστικών κωδικών που είναι αποθηκευμένοι στο Azure Key Vault. Αυτά τα μυστικά γίνονται κατόπιν διαθέσιμα για χρήση εντός ροών Power Automate και προσαρμοσμένων συνδέσεων. Λάβετε υπόψη ότι τα μυστικά δεν είναι διαθέσιμα για χρήση σε άλλες προσαρμογές ή γενικά μέσω του API.

Οι πραγματικοί μυστικοί κωδικοί αποθηκεύονται μόνο στο Azure Key Vault και η μεταβλητή περιβάλλοντος απλά αναφέρεται στη μυστική θέση Key Vault. Η χρήση των μυστικών κωδικών Azure Key Vault με μεταβλητές περιβάλλοντος προϋποθέτει τη ρύθμιση παραμέτρων του Azure Key Vault ώστε το Power Platform να μπορεί να διαβάσει συγκεκριμένους μυστικούς κωδικούς στους οποίους θέλετε να κάνετε αναφορά. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα Χρήση μεταβλητών περιβάλλοντος σε λύσεις και Χρήση μεταβλητών περιβάλλοντος σε προσαρμοσμένες συνδέσεις λύσεων.

Χρήση ελέγχου λύσης

Με τη δυνατότητα ελέγχου λύσεων, μπορείτε να πραγματοποιήσετε έναν εμπλουτισμένο έλεγχο στατικής ανάλυσης σχετικά με τις λύσεις σας σε σχέση με ένα σύνολο κανόνων βέλτιστων πρακτικών και να καθορίσετε εύκολα αυτά τα προβληματικά μοτίβα. Αφού ολοκληρωθεί ο έλεγχος, λαμβάνετε μια λεπτομερή αναφορά που παραθέτει τα ζητήματα που έχουν αναγνωριστεί, τα στοιχεία και τον κώδικα που επηρεάζονται και συνδέσεις σε πληροφορίες που περιγράφουν τον τρόπο επίλυσης κάθε ζητήματος. Ελέγξτε τους διαθέσιμους κανόνες ελέγχου λύσεων στην κατηγορία Ασφάλεια. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα Χρησιμοποιήστε τον έλεγχο λύσης για να επικυρώσετε τις λύσεις σας.

Χρήση ενεργειών CyberArk

Το CyberArk παρέχει μια πλατφόρμα ασφαλείας ταυτότητας που ασφαλίζει τις ταυτότητες των χρηστών και των μηχανών από άκρη σε άκρη. Οι ροές επιφάνειας εργασίας Power Automate σάς επιτρέπουν να ανακτάτε διαπιστευτήρια από το CyberArk. Για περισσότερες πληροφορίες, δείτε τις ενέργειες CyberArk.

Δείτε επίσης

Λίστα ελέγχου ασφαλείας

Ανατρέξτε στο πλήρες σύνολο συστάσεων.