Η διαμόρφωση του OpenID Connect στο Azure API Management (APIM) περιλαμβάνει αρκετές βέλτιστες πρακτικές για την εξασφάλιση ασφαλούς και αποτελεσματικού ελέγχου ταυτότητας και εξουσιοδότησης για τα API σας. Ακολουθούν μερικές βασικές εκτιμήσεις:
1. Δημιουργήστε μια εφαρμογή Azure AD:
- Καταχωρίστε μια εφαρμογή στο Azure Active Directory (AAD) για να εκπροσωπήσετε το API σας. Αυτή η εφαρμογή θα χρησιμοποιηθεί για τη διαμόρφωση του OpenID Connect στο APIM [3].
- Βεβαιωθείτε ότι η εφαρμογή επισημαίνεται ως πολλαπλών μισθωτών εάν σχεδιάζετε να την χρησιμοποιήσετε με την πύλη προγραμματιστή [3].
2. Διαμορφώστε την εξουσιοδότηση OpenID Connect:
- Στην πύλη Azure, μεταβείτε στην παρουσία σας APIM και προσθέστε ένα νέο διακομιστή εξουσιοδότησης OpenID Connect στην ενότητα "OpenID Connect" [1] [3].
-Παρέχετε τη διεύθυνση UPONTID CONNECT Metadata Endpoint για τον ενοικιαστή σας Azure AD, συνήθως με τη μορφή `https://login.microsoftonline.com/ [Tenant-ID ]/.well-known/openid-configuration`
- Εισαγάγετε το αναγνωριστικό πελάτη και το μυστικό πελάτη της εφαρμογής Azure AD που δημιουργήσατε [1] [3].
3. Ρύθμιση ρύθμισης ανακατεύθυνσης uris:
- Στην εφαρμογή Azure AD, προσθέστε τα URIs Redirect τόσο για τον κωδικό εξουσιοδότησης όσο και για τις έμμεσες ροές επιχορήγησης. Αυτά τα URIs συνήθως παρέχονται από την APIM κατά τη διάρκεια της ρύθμισης OpenID Connect [1] [3].
4. Ενεργοποιήστε το OpenID Connect για το API σας:
- Στο APIM, επιλέξτε το API που θέλετε να προστατεύσετε και να μεταβείτε στις ρυθμίσεις του. Κάτω από την ασφάλεια, επιλέξτε OAuth 2.0 και επιλέξτε το διακομιστή εξουσιοδότησης OpenID Connect που έχετε ρυθμίσει [1].
5. Επικύρωση Tokens JWT:
- Χρησιμοποιήστε την πολιτική `Vaintorate-JWT` στο APIM για να επικυρώσετε τα Tokens JWT που αποστέλλονται στην κεφαλίδα εξουσιοδότησης. Αυτή η πολιτική ελέγχει το ακροατήριο του συμβολαίου να διασφαλίζει ότι ταιριάζει με το αναγνωριστικό πελάτη της εφαρμογής του backend [5] [8].
- Σκεφτείτε να χρησιμοποιήσετε τις ονομασμένες τιμές ή το Azure Key Vault για να αποθηκεύσετε με ασφάλεια ευαίσθητες πληροφορίες, όπως η URL, το κοινό και ο εκδότης του OpenID Connect, το κοινό και ο εκδότης [6].
6. Δοκιμές και παρακολούθηση:
- Δοκιμάστε το API σας χρησιμοποιώντας την πύλη προγραμματιστών APIM για να βεβαιωθείτε ότι ο έλεγχος ταυτότητας OpenID Connect λειτουργεί σωστά [3].
- Παρακολουθήστε τις ροές κυκλοφορίας και ταυτότητας API για να εντοπίσετε τυχόν προβλήματα ή τρωτά σημεία ασφαλείας [7].
Ακολουθώντας αυτές τις βέλτιστες πρακτικές, μπορείτε να εξασφαλίσετε αποτελεσματικά τα API σας με το OpenID Connect στο Azure APIM.
Αναφορές:
[1] https://www.cloudfronts.com/uncategorized/securing-an-api-using-open-id-connect-from-aapim-part-2-con-configure-setup-and-enable-pen-id-connect-in-the-developer-console/
[2] https://stackoverflow.com/questions/77698997/configure-azure-apim-application-with-oauth-2-0--0
[3] https://winterdom.com/2017/11/11/openid-connect-api-management
[4] https://www.liatrio.com/resources/blog/azure-api-management-okta-integration
[5] https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad
[6] https://stackoverflow.com/questions/72716297/can-the-openid-config-url-audience-issuer-value-in-the-azure-apim-policies-be/72716409
[7] https://techcommunity.microsoft.com/discussions/azure/api-management-service-secure-configuration-for-standard-v2-sku/436449
[8] https://learn.microsoft.com/en-us/azure/api-management/authentication-authorization-overview