Non sono sicuro che il access_token
che hai ricevuto dall'autenticazione di Azure abbia una durata permanente. Presumo che non lo sia. In ogni caso, devi avere client_id
e client_secret
per ottenere access_token
, e ciò significa che devi invece concentrarti sulla protezione di client_secret
o trovare le alternative.
Invece di usare client_secret
per autenticare, puoi usare l'autenticazione del certificato client come spiegato in questo documentazione: autentica con un certificato invece di un segreto client .
Nell'immaginesopra,losviluppatorenonhabisognodiconoscereilvaloredellachiaveprivatadelcertificatoaffinchél'appvengaautenticatacorrettamenteinAzureActiveDirectory.Invece,devonosoloconoscerelaposizionedelpfx
importatonell'archiviocertificati.
AlmenosuWindows,tucomeamministratoresegretopuoiconvertirelachiaveprivataeilcertificatoinformatopfx
protettodapasswordequindidistribuirlonell'archiviocertificatidiWindows.Inquestomodonessunopuòconoscerelachiaveprivatasenonconoscelapassworddelfilepfx
.
LealtrespecifichediapproccioperAzureCompute,èutilizzare Gestito da Azure Identità servizio . Utilizzando Azure MSI, Azure assegna automaticamente le risorse come VM con un'identità / Principio del servizio e puoi attivare le richieste su un endpoint specifico accessibile solo dalla tua risorsa per ottenere access_token
. Ma fai attenzione che l'MSI di Azure sia ancora in anteprima pubblica, quindi ti preghiamo di rivedere i problemi noti prima di utilizzarlo.
L'immaginesopraillustracomeAzureResourceManagerassegnaun'identitàprincipaledelservizioallatuamacchinavirtuale.
- QuandoabilitiMSIinunamacchinavirtuale,Azurecreeràun'entitàservizioneltuoDAA.
- AzureimplementeràquindiunanuovaestensioneMSIVMsullatuaVM.Questofornisceunendpointal link da utilizzare per ottenere il
access_token
per l'entità del servizio.
- Puoi quindi utilizzare
access_token
per accedere a risorse come Key Vault che autorizzano l'accesso dell'entità servizio.