AWS Client VPN SAML και Google Workspace: το κενό της επιστροφής κλήσης
Το Google εμφανίζει το app_not_configured_for_user πριν υπάρξει κανένα τούνελ. Ο πελάτης θέλει επιστροφή κλήσης απλού HTTP στο loopback, που το Workspace δεν δέχεται.
Η σελίδα app_not_configured_for_user προέρχεται από το Google Workspace και εμφανίζεται πριν διαπραγματευτεί έστω και ένα πακέτο τούνελ. Αυτή η σειρά είναι ολόκληρη η διάγνωση. Η επανεγκατάσταση του πελάτη, η επεξεργασία του προφίλ ή ο έλεγχος των διαδρομών δεν μπορούν να καθαρίσουν μια σελίδα που το τελικό σημείο του VPN δεν έχει δει ακόμη. Το βήμα που αποτυγχάνει είναι μια παράδοση στον περιηγητή ανάμεσα στον πάροχο ταυτότητας και έναν ακροατή στο ίδιο το μηχάνημα του χρήστη, και σε αυτή την παράδοση αξίζει να ελέγξετε ακριβώς τρία πράγματα.
Διαβάστε τη σελίδα ως δήλωση του παρόχου ταυτότητας
Το Google το επιστρέφει όταν η εφαρμογή SAML δεν είναι ενεργοποιημένη για τον λογαριασμό που συνδέθηκε. Η εφαρμογή μπορεί να είναι απενεργοποιημένη, ο χρήστης μπορεί να βρίσκεται εκτός της εκχωρημένης οργανωτικής μονάδας ή ομάδας, ή οι ρυθμίσεις του παρόχου υπηρεσιών μπορεί να μην ταιριάζουν με αυτό που ζήτησε το αίτημα.
Τίποτα από αυτά δεν είναι πρόβλημα πιστοποιητικού, διαδρομής ή τούνελ, παρόλο που ο χρήστης το παρατήρησε στον πελάτη VPN.
Οι δύο τιμές που θα δεχτεί ο πελάτης
Το AWS Client VPN εκτελεί ανταλλαγή SAML που ξεκινά ο πάροχος υπηρεσιών, οπότε ο πελάτης ανοίγει περιηγητή, ο χρήστης πιστοποιείται και ο πάροχος στέλνει πίσω μια υπογεγραμμένη δήλωση σε διεύθυνση URL του Assertion Consumer Service. Για τον επιτραπέζιο πελάτη που παρέχει η AWS αυτή η διεύθυνση είναι ένας ακροατής στο loopback, συνήθως θύρα 35001, και το αναμενόμενο κοινό είναι το αναγνωριστικό οντότητας της εφαρμογής SAML του Client VPN, όχι η οντότητα σύνδεσης της κονσόλας AWS.
Και οι δύο τιμές πρέπει να ταιριάζουν με αυτό που περιμένει ο πελάτης: πού αποστέλλεται η δήλωση και σε ποιον απευθύνεται. Μια διαμόρφωση αντιγραμμένη από εφαρμογή SSO της κονσόλας μπορεί να φαίνεται απολύτως πειστική και παρόλα αυτά να στοχεύει το λάθος ζεύγος.
Πάρτε και τις δύο τιμές από τις απαιτήσεις του Client VPN SAML, όχι από έναν γενικό οδηγό ενιαίας σύνδεσης της AWS. Η οντότητα SSO της κονσόλας μοιάζει αρκετά ώστε να είναι δελεαστική. Είναι διαφορετική εφαρμογή με διαφορετικό κοινό και ο πελάτης απορρίπτει τη δήλωση χωρίς να εξηγηθεί. Αντιγράψτε το ζεύγος μία φορά και αποθηκεύστε το δίπλα στο προφίλ.
Το Google δεν θα δεχτεί την επιστροφή κλήσης απλού HTTP
Η κονσόλα διαχειριστή απαιτεί διεύθυνση ACS μέσω HTTPS, και η επιστροφή κλήσης του πελάτη είναι απλό HTTP στο loopback. Αυτή η τιμή δεν μπορεί καθόλου να πληκτρολογηθεί στη διαμόρφωση της εφαρμογής Workspace, γι’ αυτό ορισμένες ομάδες δοκιμάζουν αντίστροφο διακομιστή μεσολάβησης που τερματίζει το TLS και προωθεί στον τοπικό ακροατή. Αυτό δεν διορθώνει την αναντιστοιχία: ο περιηγητής βλέπει μία προέλευση, ο πελάτης διαφημίζει άλλη, και η απάντηση που επιστρέφει μπορεί να φτάσει σε λάθος προορισμό.
Η διάταξη που λειτουργεί είναι ένας μεσάζων πάροχος ταυτότητας. Η εφαρμογή SAML στον μεσάζοντα λαμβάνει την επιστροφή κλήσης στο loopback και το κοινό της AWS, και ο μεσάζων ομοσπονδοποιεί τον λογαριασμό Workspace προς τα πάνω. Ο κανόνας HTTPS του Google παραμένει ικανοποιημένος και η δήλωση που φτάνει στον πελάτη εξακολουθεί να ονομάζει τη διεύθυνση και το κοινό που περιμένει.
Αυτός ο μεσάζων είναι μια διοικητική εξάρτηση που κάποιος πρέπει να κατέχει, να παρακολουθεί και να περιλαμβάνει στην αποχώρηση. Είναι επίσης ένα δεύτερο σημείο όπου μια διακοπή γίνεται αποτυχία σύνδεσης. Υπολογίστε το κόστος του πριν υποσχεθείτε τον σχεδιασμό. Αν κανείς δεν θα το κατέχει, η ειλικρινής απάντηση είναι ότι ο πελάτης της AWS δεν μπορεί να χρησιμοποιήσει το Workspace ως τον μοναδικό πάροχο ταυτότητάς του.
Εκχώρηση και επαλήθευση δύο βημάτων
Πριν ανασχεδιάσετε οτιδήποτε, επιβεβαιώστε ότι η εφαρμογή είναι ενεργή για τη σωστή οργανωτική μονάδα ή ομάδα και ότι οι εφαρμογές SAML τρίτων έχουν δικούς τους ελέγχους εκχώρησης, χωριστούς από τη λίστα εφαρμογών στην πλευρά της Google.
Ελέγξτε επίσης αν ο λογαριασμός έχει ενεργή επαλήθευση δύο βημάτων. Το Google μπορεί να την απαιτήσει προτού μια εφαρμογή SAML γίνει χρησιμοποιήσιμη για έναν χρήστη, και μία απάντηση στο αρχικό νήμα λύθηκε ακριβώς έτσι. Είναι το φθηνότερο πράγμα για να αποκλείσετε και το πιο ενοχλητικό για να ανακαλύψετε τελευταίο.
Επαληθεύστε με καθαρή συνεδρία
Μετά από οποιαδήποτε αλλαγή, δοκιμάστε με νέο προφίλ περιηγητή και καθαρή διαμόρφωση πελάτη. Οι προσωρινά αποθηκευμένες δηλώσεις και οι επαναχρησιμοποιημένες συνεδρίες κρύβουν αν η διόρθωση πέτυχε.
Στη συνέχεια συγκρίνετε δύο αρχεία δίπλα δίπλα: το συμβάν ελέγχου του παρόχου ταυτότητας και το αρχείο καταγραφής του πελάτη. Μια επιτυχής σύνδεση χωρίς τούνελ δείχνει πίσω στην επιστροφή κλήσης ή στο κοινό. Ένα συνδεδεμένο τούνελ με μη προσβάσιμο πόρο είναι πρόβλημα δρομολόγησης ή εξουσιοδότησης και ανήκει εντελώς αλλού.
Τι να μην αλλάξετε
Μην αφαιρέσετε το auth-federate από το προφίλ και μην απενεργοποιήσετε τους ελέγχους πιστοποιητικών για να προσπεράσετε τη σελίδα. Και τα δύο αλλάζουν τον σχεδιασμό πιστοποίησης αντί για την αποτυχημένη επιστροφή κλήσης, και τα δύο συνήθως σπάνε στην επόμενη ενημέρωση του πελάτη.
Διορθώστε αντ’ αυτού την παράδοση και αφήστε ένα σημείωμα που ονομάζει τον μεσάζοντα, το κοινό και τη θύρα loopback. Το επόμενο άτομο που θα δει τη σελίδα θα χρειαστεί και τα τρία.