Reindirizzare i collegamenti hardcoded per le app pubblicate con il proxy dell'applicazione Microsoft Entra
Il proxy dell'applicazione Microsoft Entra rende disponibili le app locali agli utenti remoti o nei propri dispositivi. Alcune app, tuttavia, sono state sviluppate con collegamenti locali incorporati nel codice HTML. Questi collegamenti non funzionano correttamente quando l'app viene usato in remoto. Quando si dispone di diverse applicazioni locali che si puntano a vicenda, gli utenti si aspettano che i collegamenti continuino a lavorare quando non si trovano in ufficio.
Il modo migliore per assicurarsi che i collegamenti funzionino all'interno e all'esterno della rete aziendale consiste nel configurare gli URL esterni delle app in modo che corrispondano con gli URL interni. Usare domini personalizzati per configurare l'URL esterno in modo che abbia il nome di dominio aziendale anziché il proxy di applicazione predefinito.
Se non è possibile usare domini personalizzati nel tenant, esistono molte altre opzioni per fornire questa funzionalità. Tutte le altre opzioni sono compatibili anche con domini personalizzati e l'uno con l'altro, in modo da poter configurare domini personalizzati e altre soluzioni.
Nota
La traduzione dei collegamenti non è supportata per gli URL interni hardcoded generati tramite JavaScript.
Opzione 1: usare Microsoft Edge : questa soluzione è applicabile solo se si prevede di consigliare o richiedere agli utenti di accedere all'applicazione tramite il browser Microsoft Edge. Gestisce tutti gli URL pubblicati.
Opzione 2: usare l'estensione MyApps: questa soluzione richiede agli utenti di installare un'estensione del browser lato client, ma gestisce tutti gli URL pubblicati e funziona con i browser più diffusi.
Opzione 3: usare l'impostazione di conversione dei collegamenti: l'opzione è un'impostazione lato amministratore invisibile agli utenti. Tuttavia, gestisce gli URL solo in HTML e CSS.
Queste tre caratteristiche mantengono i collegamenti funzionanti indipendentemente dalla posizione degli utenti. Quando si dispone di app che puntano direttamente a endpoint o porte interne, è possibile eseguire il mapping di questi URL interni agli URL del proxy di applicazione esterno pubblicati.
Nota
L'ultima opzione è riservata ai tenant che, per qualsiasi motivo, non possono usare i domini personalizzati per avere gli stessi URL interni ed esterni per le app. Prima di abilitare questa funzionalità, verificare se i domini personalizzati nel proxy dell'applicazione Microsoft Entra possono funzionare per l'utente.
Oppure, se l'applicazione che deve essere configurata con la traslazione del collegamento è SharePoint, vedere Configurare i mapping di accesso alternativo per SharePoint 2013 per un altro approccio ai collegamenti di mapping.
Opzione 1: Integrazione di Microsoft Edge
È possibile usare Microsoft Edge per proteggere ulteriormente l'applicazione e il contenuto. Per usare questa soluzione, è necessario richiedere/consigliare agli utenti di accedere all'applicazione tramite Microsoft Edge. Microsoft Edge riconosce tutti gli URL interni pubblicati con il proxy dell'applicazione e li reindirizza all'URL esterno corrispondente. Il reindirizzamento garantisce che gli URL interni hardcoded funzionino. Se un utente passa al browser e digita direttamente l'URL interno, funziona anche se l'utente è remoto.
Per altre informazioni, tra cui come configurare questa opzione, vedere la documentazione Gestire l'accesso Web con Microsoft Edge per iOS e Android con Microsoft Intune .
Opzione 2: Estensione MyApps del browser
Con l'estensione del browser MyApps, tutti gli URL interni pubblicati con il proxy dell'applicazione riconoscono l'estensione e reindirizzati all'URL esterno corrispondente. Il reindirizzamento garantisce che tutti gli URL interni hardcoded funzionino. Se un utente passa alla barra degli indirizzi del browser e digita direttamente l'URL interno, funziona anche se l'utente è remoto.
Per usare questa funzionalità, l'utente deve scaricare l'estensione e avere effettuato l'accesso. Non sono necessarie altre configurazioni per gli amministratori o gli utenti.
Per altre informazioni, tra cui come configurare questa opzione, vedere la documentazione dell'estensione del browser MyApps.
Nota
L'estensione del browser MyApps non supporta la conversione dei collegamenti per gli URL con caratteri jolly.
Opzione 3: Impostazione di conversione dei collegamenti
Il servizio proxy dell'applicazione cerca in HTML e CSS collegamenti interni pubblicati e li converte quando la traduzione dei collegamenti è abilitata. La traduzione dei collegamenti offre un'esperienza ininterrotta. L'uso dell'estensione del browser MyApps è preferibile all'impostazione di conversione dei collegamenti perché offre un'esperienza più efficiente.
Nota
Se si usa l'opzione 2 o 3, è necessario abilitare solo una di queste opzioni alla volta.
Come funziona la conversione dei collegamenti
Dopo l'autenticazione, quando il server proxy passa i dati dell'applicazione all'utente, il proxy dell'applicazione analizza l'applicazione per individuare i collegamenti hardcoded e li sostituisce con i rispettivi URL esterni pubblicati.
Il proxy di applicazione presuppone che le applicazioni siano codificate in UTF-8. In caso contrario, specificare il tipo di codifica in un'intestazione di risposta HTTP, ad esempio Content-Type:text/html;charset=utf-8
.
Quali collegamenti sono interessati?
La funzionalità di conversione dei collegamenti cerca solo i collegamenti che si trovano nel tag di codice nel corpo di un'app. Il proxy dell'applicazione ha una funzionalità separata per la conversione di cookie o URL nelle intestazioni.
Esistono due tipi comuni di collegamenti interni nelle applicazioni locali:
- I collegamenti interni relativi che puntano a una risorsa condivisa in una struttura di file locale come
/claims/claims.html
. Questi collegamenti funzionano automaticamente nelle app pubblicate tramite il proxy dell'applicazione e continuano a funzionare con o senza conversione dei collegamenti. - Collegamenti interni hardcoded ad altre app locali come
http://expenses
o file pubblicati comehttp://expenses/logo.jpg
. La funzionalità di traduzione dei collegamenti funziona su collegamenti interni hardcoded e le modifica in modo che puntino agli URL esterni che gli utenti remoti devono eseguire.
L'elenco completo degli attributi nei tag di codice HTML supportati dal proxy dell'applicazione supporta la conversione dei collegamenti per include:
a (href)
audio (src)
base (href)
button (formaction)
div (data-background, style, data-src)
embed (src)
form (action)
frame (src)
head (profile)
html (manifest)
iframe (longdesc, src)
img (longdesc, src)
input (formaction, src, value)
link (href)
menuitem (icon)
meta (content)
object (archive, data, codebase)
script (src)
source (src)
track (src)
video (src, poster)
Inoltre, all'interno di CSS viene convertito anche l'attributo URL.
In che modo le app si collegano tra loro?
La conversione dei collegamenti è abilitata per ogni applicazione, perciò si ha il controllo dell'esperienza utente a livello di app. Attivare la conversione dei collegamenti per un'app quando si desidera che siano convertiti i collegamenti da tale app e non i collegamenti a tale app.
Si supponga, ad esempio, di avere tre applicazioni pubblicate tramite il proxy dell'applicazione che si collegano tra loro: Vantaggi, Spese e Viaggi. C'è una quarta app, feedback che non viene pubblicato tramite il proxy dell'applicazione.
Quando si abilita la traduzione dei collegamenti per l'app Benefits, i collegamenti a Expenses and Travel vengono reindirizzati agli URL esterni per tali app. Tuttavia, il collegamento a Commenti e suggerimenti non viene reindirizzato perché non è presente alcun URL esterno. I collegamenti da Expenses e Travelback a Benefits non funzionano, perché la traduzione dei collegamenti non è abilitata per queste due app.
Quali collegamenti non vengono convertiti?
Per migliorare prestazioni e sicurezza, alcuni collegamenti non vengono convertiti:
- Collegamenti non interni ai tag di codice.
- Collegamenti non inclusi nel codice HTML o CSS.
- Collegamenti nel formato con codifica URL.
- Collegamenti interni aperti da altri programmi. I collegamenti inviati tramite posta elettronica o messaggio istantaneo, o inclusi in altri documenti, non vengono tradotti. Gli utenti devono sapere di passare all'URL esterno.
Se è necessario supportare uno di questi due scenari, usare gli stessi URL interni ed esterni, al posto della conversione dei collegamenti.
Abilitare la conversione dei collegamenti
Per iniziare con la conversione dei collegamenti, è sufficiente fare clic su un pulsante:
Accedere all'Interfaccia di amministrazione di Microsoft Entra almeno come amministratore applicazione.
Passare a Identità>Applicazioni>Applicazioni aziendali>Tutte le applicazioni.
Selezionare l'app da gestire.
Impostare l'opzione di conversione URL nel corpo dell'applicazione su Sì.
Seleziona Salva per applicare le modifiche.
Ora, quando gli utenti accedono a questa applicazione, il proxy analizza gli URL interni pubblicati tramite il proxy di applicazione nel tenant.