Συγκατάθεση εγγραφής στην εφαρμογή Azure AD πολλαπλών ενοικιαστών Azure

2
Συγκατάθεση εγγραφής στην εφαρμογή Azure AD πολλαπλών ενοικιαστών Azure

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

Κώδικας: https://github.com/damienbod/AspNetCoreTenantSelect

Ρύθμιση

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

"signInAudience": "AzureADandPersonalMicrosoftAccount",

Μπορείτε επίσης να το ελέγξετε απευθείας στην πύλη χρησιμοποιώντας το blade ελέγχου ταυτότητας.

Όταν χρησιμοποιείτε μια εκχωρημένη εγγραφή Azure App πολλαπλών ενοικιαστών, ΔΕΝ δίνετε τη συγκατάθεσή σας χρησιμοποιώντας την εγγραφή της εφαρμογής Azure. Δίνετε τη συγκατάθεσή σας σε έναν χρήστη ή έναν διαχειριστή χρησιμοποιώντας την εφαρμογή Enterprise που δημιουργήθηκε για τον ενοικιαστή σας για την εγγραφή της εφαρμογής Azure. Κάθε εγγραφή Azure App πολλαπλών ενοικιαστών μπορεί να έχει πολλαπλές εφαρμογές Enterprise η καθεμία που θα απαιτούσε συναίνεση ανάλογα με τον τύπο χρήστη, τις πολιτικές ενοικιαστών και τα απαιτούμενα δικαιώματα.

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

Microsoft.Identity.Web χρησιμοποιείται για την υλοποίηση του ελέγχου ταυτότητας ASP.NET Core. Αυτό αποκρύπτει και μετονομάζει τα πρότυπα OpenID Connect που χρησιμοποιούνται. Αυτά τα πακέτα είναι βελτιστοποιημένα για ASP.NET Core και χρησιμοποιούν MSAL.

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
    .AddMicrosoftIdentityWebApp(builder.Configuration.GetSection("AzureAd"));

Το πακέτο Micorosoft.Identity.Web χρησιμοποιεί τη διαμόρφωση AzureAd ανά προεπιλογή, η οποία μπορεί να μετονομαστεί εάν απαιτείται. ο TenantId έχει οριστεί σε κοινό για την πρόσβαση πολλών ενοικιαστών.

  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "damienbodhotmail.onmicrosoft.com",
    // Use common for multi tenant applications
    "TenantId": "common",
    "ClientId": "086233fd-a846-47e0-a057-7aa05b5a5479", 
    "CallbackPath": "/signin-oidc",
    "SignedOutCallbackPath ": "/SignoutCallbackOidc"
    // "ClientSecret": "add secret to the user secrets"
  },

Παραχωρήστε συγκατάθεση ως διαχειριστής

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

Παραχωρήστε συγκατάθεση ως χρήστης

Όταν ένας χρήστης του Azure AD χρησιμοποιεί την εφαρμογή (όχι διαχειριστής) και δεν έχει ήδη οριστεί συναίνεση διαχειριστή για τον ενοικιαστή, εμφανίζεται η οθόνη συναίνεσης για τον χρήστη, εάν απαιτούνται μόνο δικαιώματα που δεν έχουν εκχωρηθεί από τον διαχειριστή και το επιτρέπει η πολιτική μισθωτή. Στη συνέχεια, ένας χρήστης θα μπορούσε να δώσει μια συναίνεση χρήστη για αυτόν τον λογαριασμό.

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

Εταιρική εφαρμογή

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

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

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

Καταργήστε τη συγκατάθεση χρησιμοποιώντας την εφαρμογή Enterprise

Είναι πολύ σημαντικό να αφαιρέσετε τη συγκατάθεση εάν δεν χρησιμοποιείται πλέον. Αυτό μπορεί να γίνει στην εφαρμογή Enterprise που δημιουργήθηκε από την εγγραφή της εφαρμογής Azure για τον συγκεκριμένο μισθωτή. Αυτό μπορεί να γίνει στο Properties blade.

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

Συνδέσεις:

https://learn.microsoft.com/en-us/azure/active-directory/develop/application-consent-experience

https://learn.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview

Schreibe einen Kommentar