Mă întrebam pentru scenariul meu care ar fi cel mai bine. Înțeleg că, de obicei, doriți doar 1 Service Principal (SP) per cerere. Deoarece nu am găsit niciun răspuns clar despre scenariul meu, iată detaliile.
Cu toate acestea, să presupunem următoarele:
- Am un aplicație mică. instalat la fiecare client pe care îl am (să presupunem 100)
- Fiecare client va trimite evenimente către EventHub (doar trimitere)
- The aplicație mică folosește acreditările pentru a se conecta la serviciul meu pentru a prelua o cheie pentru hub-ul de evenimente
- Serviciul meu se conectează la azure și când aplicația mică solicită acreditările EventHub, trimit înapoi fie un Secret/Certificat
Deci, practic, ar trebui să:
- gestionați 1 SP per client?
- Creați/gestionați multe secrete/certificat pentru un SP (1 per client să spunem)
- Din serviciul meu, folosește 1 certificat SP + 1 și folosește-l pentru a crea un nou token care va fi apoi servit pentru mine aplicație mică
- Retrageți, din înțelegerea mea, nu putem invalida jetonul odată ce este în uz până când nu încearcă să se reconecteze
Notă: bineînțeles că nu este vorba de a le face pe cele 3, ci doar 1.
Am văzut următoarele pe https://docs.microsoft.com/en-us/azure/event-hubs/authorize-access-shared-access-signature:
Dacă aplicația dvs. trebuie să acorde acces la resursele Event Hubs pe baza identităților de utilizator sau de serviciu, ar trebui să implementeze un serviciu de simboluri de securitate care emite simboluri SAS după o autentificare și verificare a accesului.
deci cred că opțiunea 3 este calea de urmat