Οι διαχειριζόμενες ταυτότητες που διαχειρίζονται το σύστημα προτιμώνται σε σενάρια όπου κάθε πόρος απαιτεί τη δική του μοναδική ταυτότητα και δικαιώματα και η ταυτότητα πρέπει να διαγραφεί όταν διαγράφεται ο πόρος. Ακολουθούν μερικά παραδείγματα:
1. Καταγραφή και συμμόρφωση ελέγχου: Εάν πρέπει να καταγράψετε ποιοι συγκεκριμένοι πόροι πραγματοποιούν μια ενέργεια, οι ταυτότητες που έχουν μεταβληθεί από το σύστημα είναι επωφελείς. Αυτό οφείλεται στο γεγονός ότι κάθε πόρος έχει τη δική του ταυτότητα, καθιστώντας ευκολότερη την παρακολούθηση των ενεργειών από τους πόρους και όχι από μια κοινή ταυτότητα [5].
2. Διαχείριση του κύκλου ζωής των αδειών: Σε περιπτώσεις όπου τα δικαιώματα για έναν πόρο πρέπει να καταργηθούν μαζί με τον πόρο, οι ταυτότητες που έχουν μεταβληθεί από το σύστημα είναι ιδανικές. Αυτό εξασφαλίζει ότι όταν διαγράφεται ένας πόρος, τα σχετικά δικαιώματα του καταργούνται αυτόματα, μειώνοντας τον κίνδυνο ορφανών δικαιωμάτων [5].
3. Οι φόρτοι εργασίας που απαιτούν ανεξάρτητες οντότητες: Για εφαρμογές που εκτελούνται σε ένα ενιαίο εικονικό μηχάνημα ή παρόμοια σενάρια όπου κάθε πόρος πρέπει να λειτουργεί ανεξάρτητα με το δικό του σύνολο δικαιωμάτων, οι ταυτότητες που έχουν μεταβληθεί από το σύστημα είναι κατάλληλες. Παρέχουν έναν απλό τρόπο για τη διαχείριση της πρόσβασης χωρίς την πολυπλοκότητα των κοινών ταυτοτήτων [1] [2].
4. Η ταχεία δημιουργία πόρων χωρίς κοινή πρόσβαση: Ενώ οι ταυτότητες που έχουν μεταβληθεί από το χρήστη είναι γενικά καλύτερες για την ταχεία δημιουργία πόρων λόγω των ορίων των επιτοκίων στην κύρια δημιουργία υπηρεσιών, μπορούν να χρησιμοποιηθούν ταυτότητες που έχουν χρησιμοποιηθεί από το σύστημα, εάν κάθε πόρος απαιτεί μοναδικά δικαιώματα και δεν χρειάζεται να μοιράζεται μια ταυτότητα με άλλους πόρους [5]. Ωστόσο, αυτό το σενάριο είναι λιγότερο συνηθισμένο λόγω της δυνατότητας υπέρβασης των κύριων ορίων δημιουργίας της υπηρεσίας.
Αναφορές:
[1] https://www.varonis.com/blog/azure-ganaged-identities
[2] https://laurakokkarinen.com/authenticate-to-entra-id-protected-apis-with-managed-identity-no-key-fault-required/
[3] https://www.adaptiv.nz/azure-anaged-identities-wshy-are-you-not-using-them-everwherwherwhere/
[4] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview-for-dovelopers
[5] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations
[6] https://docs.azure.cn/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-ganaged-identies
[7] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[8] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-using-user-assigned-ganaged-identity-configura