Platforma de identitate Microsoft

Implementarea securității Azure pentru dezvoltatori

Anushika Agarwal

Cloud Data Engineer

Ce este platforma de identitate Microsoft?

  • Gestionează autentificarea și accesul aplicațiilor
    • Construit pe Microsoft Entra ID
      • Entra ID = Serviciu de identitate de bază
      • Identity Platform = Strat pentru dezvoltatori

Relația dintre Entra ID și platforma de identitate Microsoft

Implementarea securității Azure pentru dezvoltatori

Cum funcționează?

  • Autentifică:
    • Standarde:
      1. OAuth 2.0: limitează ce pot face aplicațiile
      2. OpenID Connect: confirmă identitatea utilizatorului
    • Tipuri de conturi
      • Conturi de întreprindere/școală
      • Conturi personale Microsoft
      • Conturi sociale/locale

Platforma de identitate Microsoft

Implementarea securității Azure pentru dezvoltatori

Instrumente cheie ale platformei de identitate Microsoft

  • MSAL:
    • solicită token-uri pentru aplicații

MSAL

  • Înregistrarea aplicației:
    • configurează identitatea aplicației în Azure

Înregistrarea aplicației

  • Microsoft Graph API:
    • accesează utilizatori, grupuri și resurse

Microsoft Graph API

Implementarea securității Azure pentru dezvoltatori

Înregistrarea aplicației

  • Înregistrarea aplicațiilor le conectează la Entra ID

  • Alegeți:

    • Single-tenant: aplicația funcționează doar în organizația dvs.
    • Multi-tenant: aplicația funcționează între organizații
  • Se creează automat:

    • Obiectul aplicației
    • Entitatea de serviciu
  • Adăugați secrete, certificate, domenii și branding

Înregistrarea aplicației

Implementarea securității Azure pentru dezvoltatori

Obiectul aplicației

  • Șablonul aplicației
  • Rezidă în tenant-ul de origine
  • Definește regulile de autentificare și acces

Obiectul aplicației

Implementarea securității Azure pentru dezvoltatori

Exemplu: obiectul aplicației în PeopleSphere

  • PeopleSphere creează o aplicație HR în propriul tenant

Exemplu de obiect al aplicației PeopleSphere

Implementarea securității Azure pentru dezvoltatori

Entitatea de serviciu

  • Instanță a aplicației în fiecare tenant
  • Copie de lucru a cheii originale
  • Fiecare client primește propria entitate de serviciu în tenant-ul său

Entitate de serviciu

Implementarea securității Azure pentru dezvoltatori

Exemplu: entitate de serviciu în DataCamp

  • Entitate de serviciu creată în tenant-ul DataCamp

Exemplu de entitate de serviciu în DataCamp

Implementarea securității Azure pentru dezvoltatori

Tipuri de entitate de serviciu

  • Aplicație:
    • Instanță standard de aplicație

Aplicație

  • Identitate gestionată:
    • Acces fără secrete

Identitate gestionată

  • Moștenire:
    • Aplicații mai vechi

Moștenire

Implementarea securității Azure pentru dezvoltatori

Permisiuni

  • Aplicațiile solicită acces prin OAuth 2.0 și domenii de permisiuni

  • graph.microsoft.com/Calendars.Read

Exemplu de domeniu Calendars.Read.

Cum solicită și obțin aplicațiile acces prin platforma de identitate Microsoft

Implementarea securității Azure pentru dezvoltatori

Permisiuni delegate

  • Aplicația acționează în numele utilizatorului autentificat

  • Exemplu: PeopleSphere programează întâlniri pentru utilizatorii DataCamp

Exemplu de permisiune delegată PeopleSphere

Implementarea securității Azure pentru dezvoltatori

Permisiuni exclusiv pentru aplicație

  • Aplicația acționează în nume propriu
  • Fără implicarea utilizatorului
  • Exemplu: PeopleSphere sincronizează datele HR noaptea

Exemplu de permisiune exclusivă pentru aplicație PeopleSphere

Implementarea securității Azure pentru dezvoltatori

Consimțământ

  • Aplicațiile au nevoie de consimțământ pentru a activa domeniile de permisiuni

  • Tipuri de consimțământ:

    • Static: permisiuni stabilite la înregistrare
    • Incremental: adăugate pe măsură ce este necesar
    • Administrator: necesar pentru acces cu privilegii ridicate

Consimțământ

Implementarea securității Azure pentru dezvoltatori

Să exersăm!

Implementarea securității Azure pentru dezvoltatori

Preparing Video For Download...