Πάρτε μια υπηρεσία αναφορών σε έναν λογαριασμό cloud που χρειάζεται εγκεκριμένες περιλήψεις από ένα εσωτερικό σύστημα πελάτη. Ένα VPN ή μια πιστοποιημένη σύνδεση εφαρμογής προστατεύει τη διαδρομή και δεν αποφασίζει τίποτε άλλο. Δεν αποφασίζει αν το φορτίο εργασίας αναφορών επιτρέπεται να διαβάζει άσχετες εγγραφές, να αλλάζει το backend ή να κρατά ό,τι ανέκτησε. Γράψτε τη συμφωνία πρόσβασης με όρους λειτουργιών και δεδομένων πριν επιλέξετε τον συνδετήρα, γιατί ο συνδετήρας είναι το φθηνότερο μέρος για αλλαγή αργότερα και το ευκολότερο να γίνει λάθος πρώτο.

Αποφασίστε τις λειτουργίες πριν από τον συνδετήρα

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

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

Αποφασίστε την ταυτότητα του φορτίου εργασίας και δώστε της ιδιοκτήτη

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

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

Προτιμήστε διαπιστευτήριο που η πλατφόρμα μπορεί να εκδώσει και να εναλλάξει για το φορτίο εργασίας, όπως ένα token ταυτότητας φορτίου εργασίας που επικυρώνει το backend, αντί για στατικό μυστικό κολλημένο στη διαμόρφωση. Τα στατικά μυστικά στις ρυθμίσεις εφαρμογής είναι ο λόγος που οι εναλλαγές γίνονται διακοπές.

Αποφασίστε το εύρος δικτύου, γνωρίζοντας ότι δεν είναι άδεια

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

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

Και το αντίστροφο ισχύει: ένα έγκυρο διαπιστευτήριο υπηρεσίας δεν δικαιολογεί να δημοσιεύσετε ακροατή σε κάθε πηγή. Χρειάζονται και οι δύο έλεγχοι, και κανένας δεν αντικαθιστά τον άλλο.

Αποφασίστε τον χειρισμό δεδομένων και τον διαμοιρασμό ευθύνης

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

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

Αποφασίστε την αποτυχία, την αφαίρεση και πώς θα την αποδεχτείτε

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

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

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

Σχετικά άρθρα