Condividi tramite



Marzo 2018

Volume 33 Numero 3

Il presente articolo è stato tradotto automaticamente.

Azure - Proteggi le tue informazioni aziendali riservate con Azure Key Vault

Dal Srikantan Sankaran

Insieme di credenziali chiave di Azure è un servizio basato su cloud che consente alle organizzazioni di archiviare in modo sicuro le informazioni aziendali riservate. Consente di eseguire le operazioni di crittografia dei dati e fornisce un framework per l'implementazione di criteri per regolare l'accesso per le applicazioni, nonché un modello di API per le applicazioni funzionare con le chiavi, i segreti e dei certificati archiviati in essa contenuti. Gli SDK che insieme credenziali chiavi Azure fornisce supportano un'ampia gamma di piattaforme del dispositivo e linguaggi di programmazione, consentendo di scegliere la lingua desiderata e di distribuire tali applicazioni in Azure App Service come gestite le applicazioni Web. Per esporre le applicazioni di business in modo sicuro per gli utenti all'interno dell'organizzazione e di fuori, Azure Active Directory (Azure AD) e Azure Active Directory B2C (Azure Active Directory B2C) forniscono implementazioni turnkey per abilitare l'autenticazione e autorizzazione per il applicazioni con codice minimo o non personalizzato. In questo articolo che verrà presentata una soluzione che illustra come insieme di credenziali chiave di Azure può portare di protezione avanzata per l'organizzazione.

Scenario di caso di utilizzo

Un'Agenzia centrale è il compito di implementazione di una soluzione per emettere, tenere traccia e gestire i criteri di assicurazione dei veicoli. L'Agenzia genera numeri di serie univoco documento al momento della ricezione degli ordini e pagamento dalla società di assicurazione. Queste aziende, direttamente o tramite i relativi gestori, assegnare polizze per i numeri di serie del documento come essi è venduti a automobilisti circa il fatto. I numeri di serie di documento sono univoci in tutte le società di assicurazione.

L'obiettivo della soluzione è per tenere traccia del ciclo di vita del numero di serie di documento. Quando si crea, un numero di serie documento contiene solo il numero e il nome della società di assicurazione a cui viene venduto. Ulteriormente verranno aggiunto informazioni aggiuntive, quali la registrazione veicolo, numero di documento di criteri, l'identità del cliente e il periodo di validità della polizza, nel processo di business. Tutte le versioni di questo record devono essere rilevate, incluse eventuali modifiche apportate, la data e ora delle modifiche e l'identità dell'applicazione che ha apportato la modifica.

I clienti devono essere in grado di accedere al criterio elettronicamente e scaricare le informazioni in modo sicuro per la verifica e semplificarne.

Architettura della soluzione

La soluzione utilizza l'insieme di credenziali chiave di Azure per archiviare il numero di serie di documento, insieme alle proprietà della polizza associati, come una chiave privata. Per una maggiore sicurezza, i dati vengono archiviati come una chiave privata sono crittografati prima di utilizzare chiavi asimmetriche generate nell'insieme di credenziali chiave di Azure. Mentre solo i bare dati minimi necessari per proteggere e convalidare tutti i criteri Ottiene acquisiti nella chiave privata, informazioni di supporto aggiuntive viene archiviate in un Database SQL di Azure. Il database implementa anche vincoli per i dati, per consentire, ad esempio, che un veicolo registrato abbia un singolo criterio attiva, che non è stato utilizzato lo stesso numero di criteri per più record e così via. Figura 1 rappresenta l'architettura utilizzata nella soluzione.

Architettura della soluzione
Figura 1 architettura della soluzione

Due applicazioni del portale ho implementato in questa soluzione, uno che venga utilizzato dall'agenzia di centrale e assicurazioni e l'altro da parte dei clienti che acquistano polizze e dalle regolamentazione che hanno bisogno di verificare la validità dei criteri.

Il portale di amministrazione e il portale per i clienti sono applicazioni ASP.NET 2.0 Core MVC che usa Entity Framework per archiviare i dati dei criteri in un Database SQL di Azure, dopo la prima è rimasto archiviato nell'insieme di credenziali chiave di Azure. .NET SDK per insieme credenziali chiavi Azure viene utilizzato per eseguire le operazioni di crittografia dei dati, ad esempio la creazione di segreti e le relative versioni e la crittografia e decrittografia dei segreti usando le chiavi. Gli utenti del portale di amministrazione vengono autenticati con Azure AD, mentre i clienti, che sono gli utenti esterni, usare Azure Active Directory B2C per effettuare la registrazione automatica e accedere al portale per i clienti.

Vengono create le entità servizio separato in Azure AD per i portali di clienti e di amministrazione e di bloccare l'accesso vengono impostati criteri separati per le operazioni nell'insieme di credenziali chiave di Azure. I criteri nel portale di amministrazione consente la creazione di chiavi e segreti, nonché le prestazioni delle operazioni, ad esempio la crittografia e decrittografia dei dati. Portale per i clienti, al contrario, viene assegnato un criterio che consente solo l'operazione "get" su un segreto e l'operazione "decrypt" sul segreto recuperato. In questo modo si garantisce che le singole applicazioni non dispone di accesso più di quanto necessario per insieme credenziali chiavi Azure.

Viene crittografati prima di tutto i dati dei criteri archiviati come un segreto nell'insieme di credenziali chiave di Azure, per una maggiore sicurezza. Ogni volta che viene aggiornata la chiave privata, viene creata una nuova versione e vengono mantenute le versioni precedenti dei dati. Un audit trail viene mantenuto anche per tutte le operazioni eseguite nell'insieme di credenziali chiave di cui l'archiviazione per soddisfare i requisiti di conformità legale.

Il bundle di attributi dei segreti archiviati nell'insieme di credenziali chiave acquisisce i criteri di inizio e fine date, che vengono usate per determinare la validità dei criteri. Tag e i parametri di tipo di contenuto dei segreti vengono utilizzati per archiviare informazioni aggiuntive relative al criterio di assicurazione.

Frammento di codice seguente viene illustrato come gli attributi, i tag e i tipi di contenuto vengono aggiunti ai dati dei criteri archiviati come una chiave privata:

SecretAttributes attribs = new SecretAttributes
  {
    Enabled = true,
    Expires = DateTime.UtcNow.AddYears(1),
    NotBefore = DateTime.UtcNow.AddDays(1)
  };
IDictionary<string, string> alltags = new Dictionary<string, string>();
alltags.Add("InsuranceCompany", policydata.Inscompany);
string contentType = "DigitalInsurance";
SecretBundle bundle= await _keyVaultClient.SetSecretAsync(keyVaultUri, 
  policydata.Uidname,encrypteddata,alltags,contentType,attribs);

Implementare lo Scenario di caso d'uso

Diamo un'occhiata lo scenario di utilizzo che viene implementata dalla soluzione. Ecco i passaggi di base:

Acquisto di un codice univoco da società di assicurazione: Al momento della ricezione di ordini da società assicurazione, l'Agenzia centrale Usa il portale di amministrazione per generare un inventario dei numeri di serie di documento e averle archiviate come segreti nell'insieme di credenziali chiave di Azure. Il portale di amministrazione crea la prima versione di un segreto nell'insieme di credenziali chiave di Azure e quindi crea un record nel Database SQL di Azure.

Generazione dei criteri: Quando un cliente acquista un criterio vehicle, un segreto non assegnato nel passaggio precedente è selezionate insieme ad altre informazioni, ad esempio il numero di registrazione, l'identità del cliente, il numero di documento di criteri generato e il periodo di validità del criteri, vengono aggiunti. Viene creata una nuova versione del segreto originale che contiene queste informazioni aggiuntive nel processo, e viene anche aggiornato il record corrispondente nel Database SQL di Azure.

Attivazione di un criterio da parte del cliente: Una volta tutti i dettagli dei criteri vengono acquisiti nella chiave privata, viene inviata una notifica al cliente (all'esterno dell'ambito di questo articolo) con le istruzioni per l'attivazione dei criteri. Gli utenti possono effettuare la registrazione automatica nel portale per i clienti usando le proprie credenziali sociale o le credenziali archiviate in Azure Active Directory B2C. Quando il cliente è effettuato l'accesso al portale, i dettagli dei criteri vengono visualizzati insieme a un'opzione per attivarlo. All'attivazione, l'utente scarica un codice a matrice dal portale e appone propria immagine il veicolo assicurato.

Convalida dei criteri: I clienti o regolamentazione possono convalidare i criteri in qualsiasi momento usando un'app Xamarin native che legge il codice a matrice del veicolo e visualizza i dettagli del criterio in essa contenuto, per essere registrata con quella sul veicolo. Questa convalida non richiede una connessione Internet e può essere eseguita non in linea. Quando si è connessi a Internet, può essere eseguita una convalida aggiuntiva. L'app nativa richiama un'API REST che viene esposto nell'applicazione MVC portale cliente, passando i dati dal codice a matrice. L'API corrispondono inizialmente ai dati con i dati nel Database SQL di Azure e, inoltre, con i dati archiviati nel segreto nell'insieme di credenziali chiave di Azure.

Aspetti tecnici della soluzione

Ora consente di approfondire gli script di automazione e codice di origine utilizzati nella soluzione. Tenere presente che il codice e gli script condivisi in questo articolo non sono destinati a essere una soluzione completa, né eseguire necessariamente gestiscono tutte le convalide, le eccezioni o procedure consigliate necessarie in un'applicazione di produzione. Sono disponibili invece per illustrare gli aspetti specifici di un'area tecnologica o per fornire informazioni aggiuntive per lo sviluppo di una soluzione completa.

Creare e configurare insieme di credenziali chiave di Azure i file di script di PowerShell PrepareContosoAKV.ps1 e PrepareContosousersAKV.ps1, incluso il download di allegati, vengono utilizzati per eseguire il provisioning e configurare l'insieme di credenziali chiave usate in questo articolo. Ecco cosa eseguite:

  • Creazione di certificati autofirmati (per essere utilizzato solo in scenari di sviluppo) per i clienti e amministrazione di ASP.NET MVC le applicazioni del portale, che vengono utilizzati quando si creano le entità servizio in Azure AD.
  • Creazione di un'entità servizio in Azure AD che viene assegnato al portale di amministrazione. I criteri di accesso che sono impostato per questa entità servizio consente la creazione e aggiornamento di chiavi e segreti e le prestazioni delle operazioni quali crittografia e decrittografia:
# Specify privileges to the vault for the Admin Portal application
Set-AzureRmKeyVaultAccessPolicy -VaultName $vaultName `
  -ObjectId $servicePrincipal.Id `
  -PermissionsToKeys all `
  -PermissionsToSecrets all
  • Creazione di un'entità servizio in Azure Active Directory assegnato al portale per i clienti. I criteri di accesso impostati per questa entità servizio consente di ottenere le operazioni sulle chiavi e segreti e la decrittografia dei dati:
# Specify privileges to the vault for the Customer Portal application
Set-AzureRmKeyVaultAccessPolicy -VaultName $vaultName `
  -ObjectId $servicePrincipal.Id `
  -PermissionsToKeys get,list,decrypt `
  -PermissionsToSecrets get,list
  • Si noti che esiste un'alternativa alla creazione di queste entità di servizio con PowerShell, che consiste nell'utilizzare la funzionalità di identità del servizio gestito nel servizio App di Azure. Questo è in realtà consigliabile. Consultare le informazioni disponibili in bit.ly/2BgB6mu per altri dettagli.
  • Creazione di una chiave utilizzata per la crittografia e decrittografia di un segreto.
  • Creazione di un segreto che archivia la stringa di connessione al database SQL di Azure. (Ciò è possibile direttamente nel portale di Azure, nonché gli altri passaggi.)

Per semplicità, questa soluzione Usa un unico insieme di credenziali chiave e un singolo set di chiavi per tutti i Broker e assicurazioni crittografare e decrittografare i dati. Nel mondo reale, per l'aggiunta di isolamento e sicurezza, istanze separate di insieme di credenziali chiave devono essere create per ogni società di assicurazioni e raggruppate per area, ad esempio, o altri criteri. In questo modo si garantisce che i dati gestiti da una società di assicurazioni possono essere letto da altri utenti perché non condividono la stessa chiave di crittografia.

Tenere presente che i segreti archiviati nell'insieme di credenziali chiave di Azure devono essere non più di 25KB di dimensioni. Di conseguenza, per evitare di crescita, solo determinate proprietà del criterio di dati vengono archiviati al suo interno, ad esempio l'ID (numero di serie documento), nome del segreto, ID utente, numero di criteri e società di assicurazioni ID. Il file Insdata.cs entità nella soluzione di Visual Studio 2017 ContosoInsAuthorityAdminPortal.sln contiene queste proprietà. Altre proprietà, ad esempio effettive di inizio e fine, tipo di contenuto e così via, vengono archiviati come attributi del segreto nell'insieme di credenziali chiave.

Compilare le applicazioni di portale cliente e di amministrazione fare riferimento alla soluzione Visual Studio 2017 ContosoInsAuthorityAdminPortal.sln nel download per il codice sorgente del portale di amministrazione e ContosoinsExtPortal.sln per il codice del portale del cliente.

Sia i portali e di amministrazione cliente vengono compilati mediante ASP.NET Core 2.0, che supporta l'inserimento di dipendenze per aggiungere servizi framework, ovvero come integrazione di Entity Framework e moduli del servizio personalizzata per accedere alle API di insieme di credenziali chiave di Azure, ovvero all'applicazione nella finestra di avvio classe.

Modelli di progetto Visual Studio 2017 offrono turnkey integrazione con Azure AD e Azure Active Directory B2C per utente di accesso e l'iscrizione per proteggere l'accesso per le applicazioni del portale.

La stringa di connessione per il Database SQL di Azure viene archiviata nell'insieme di credenziali chiave di Azure e verrà recuperata dall'applicazione Web del portale all'inizio backup.

Il frammento di codice in figura 2 Mostra come inserimento di dipendenze in ASP.NET 2.0 Core viene aggiunto per l'autenticazione di Entity Framework, Azure AD e per l'accesso a provider, API di servizio dell'insieme di credenziali chiave di Azure, l'accesso e leggere applicazione dati di configurazione dal file appSettings.

Figura 2 dipendenza Framework nell'applicazione MVC ASP.NET Core 2.0

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
  {
    //Adding the Azure AD integration for User authentication
    services.AddAuthentication(sharedOptions =>
    {
      sharedOptions.DefaultScheme =
        CookieAuthenticationDefaults.AuthenticationScheme;
      sharedOptions.DefaultChallengeScheme =
        OpenIdConnectDefaults.AuthenticationScheme;
    })
    .AddAzureAd(options => Configuration.Bind("AzureAd", options))
    .AddCookie();
    services.AddMvc();
// Add the Key Vault Service Client Connection to the Context Object
    AKVServiceClient servClient =
      new AKVServiceClient(Configuration["AzureKeyVault:ClientIdWeb"],
      Configuration["AzureKeyVault:AuthCertThumbprint"],
      Configuration["AzureKeyVault:VaultName"],­
      Configuration­["AzureKeyVault:KeyName"]);
    services.AddSingleton<AKVServiceClient>(servClient);
// Get the Connection string to Azure SQL Database
// from the secret in ­Azure Key Vault
    string connection = servClient.GetDbConnectionString();
// Add the Azure SQL Database Connection to the Context Object
    services.AddDbContext<ContosoinsauthdbContext>(options =>
      options.UseSqlServer(connection));
    services.AddOptions();
  }

Il provider di configurazione insieme credenziali chiavi Azure per ASP.NET 2.0 dei componenti di base (bit.ly/2DfOXeq), disponibile come pacchetto NuGet, fornisce un'implementazione completa per recuperare tutti i segreti dall'insieme di credenziali chiave di Azure all'avvio dell'applicazione. Tuttavia, questa funzionalità non viene utilizzata nella soluzione per evitare il caricamento di tutti i dati di business inutilmente all'avvio dell'applicazione, vale a dire, i segreti polizza, insieme a altri segreti richiede tale applicazione, ad esempio la stringa di connessione per l'accesso di Azure Database SQL. Questa funzionalità può essere utilizzata quando un'istanza dell'insieme di credenziali chiave viene utilizzata per archiviare tutte le stringhe di connessione richieste dall'applicazione e viene utilizzata un'istanza separata dell'insieme di credenziali chiave per i dati di business.

La creazione del servizio app le applicazioni del portale amministrativo e customer vengono distribuite come App Web di servizio App di Azure tramite gli strumenti predefiniti in Visual Studio 2017. Entrambe le app Web sono ospitate all'interno di un piano di servizio App singolo.

Durante lo sviluppo, le applicazioni MVC ASP.NET Core possono essere distribuite in locale utilizzando Visual Studio 2017. Quando si eseguono gli script di PowerShell illustrato in precedenza, vengono generati due certificati digitali, uno per ogni applicazione del portale. I file con estensione pfx vengono aggiunti all'archivio certificati dell'utente corrente. Questi sono incorporati nelle richieste che rendono le applicazioni ASP.NET MVC per accedere alle API di insieme di credenziali chiave di Azure. Le identificazioni personali di questi certificati vengono aggiunti al file appSettings nella soluzione Visual Studio 2017 delle rispettive applicazioni ASP.NET MVC.

Quando si distribuisce l'applicazione di servizio App di Azure, è necessario:

  • Caricare file both.pfx all'istanza del servizio App di Azure dal portale di Azure.
  • Creare la voce "WEBSITE_LOAD_CERTIFICATES" in pannelli di impostazioni dell'App di entrambi admin e cliente App del portale Web nel portale di Azure e aggiungere l'identificazione digitale del file con estensione pfx corrispondente.

Consultare la documentazione relativa al bit.ly/2mVEKOq per ulteriori informazioni sui passaggi da eseguire.

Creazione database il file di script utilizzato per creare il database per la soluzione è disponibile per il download con gli altri elementi della soluzione. È possibile abilitare il controllo dal pannello delle impostazioni nel portale di Azure per l'istanza del servizio insieme credenziali chiavi Azure.

Per visualizzare i log, passare alla risorsa di archiviazione di Azure configurato per i log. È possibile utilizzare il controllo di accesso basate sui ruoli (RBAC) nel portale di Azure per verificare che solo determinati utenti possono accedere a queste informazioni. Tutte le operazioni sui dati nel Database SQL di Azure possono anche essere attivate per il controllo, dal pannello delle impostazioni dell'istanza del database nel portale di Azure. Per la crittografia dati trasparente dei dati inattivi nel Database SQL di Azure è abilitata per impostazione predefinita.

La distribuzione della soluzione Se si desidera provare questa soluzione autonomamente, è possibile scaricare i file di origine e gli script dal repository in GitHub bit.ly/2DRvwdh. È necessario il seguente software per implementare questa soluzione:

Esecuzione dell'applicazione

Visual Studio 2017 Preview, Community o Enterprise Edition con aggiornamento 3

Un editor di script di Windows PowerShell Postman

Un generatore di codice a matrice per JavaScript Per distribuire la soluzione nella propria sottoscrizione, è necessario aggiornare le voci di configurazione nel file appSettings dopo che vengono eseguiti gli script di PowerShell e vengono effettuato il provisioning di altre risorse nella sottoscrizione di Azure. Nel repository GitHub con i file di soluzione e codice di origine descritti in questo articolo viene fornita la procedura per eseguire questa operazione.

Un ringraziamento Bindu Chinnasamy del team CSE Microsoft per assistenza con la compilazione della soluzione che accompagna l'articolo.
Insieme di credenziali chiave di Azure offre una piattaforma utile ed efficiente alle aziende di gestire in modo sicuro le informazioni riservate, utilizzando tecniche e gli algoritmi standard del settore per eseguire le operazioni di crittografia.

Consente agli sviluppatori di usare il SDK per le piattaforme e lingue in cui sono ormai abituati. Questa condizione, con la vasta gamma di servizi aggiuntivi in Azure, ad esempio di servizio App di Azure, Azure AD e Azure B2C e il supporto per gli strumenti elaborate forniscono questi servizi, consente agli sviluppatori di concentrarsi compilazione le funzionalità di business dei componenti di base, riducendo in tal modo è notevolmente il tempo necessario per sviluppare e distribuire una soluzione end-to-end. In seguito a questo articolo, si illustrerà come la stessa applicazione è stato possibile, senza modifiche significative, essere distribuita al servizio di contenitore di Azure usando i contenitori di Docker e Kubernetes.

Srikantan Sankaran è un'entità technical evangelist dal team di un Partner commerciale India, in base all'esterno di Bangalore.
Egli funziona con numerosi fornitori di software indipendenti India e consente di progettare e distribuire le relative soluzioni in Microsoft Azure.

È possibile contattarlo in sansri@microsoft.com. Frank Hokhold, Bindu Chinnasamy Un ringraziamento Frank Hokhold per la revisione dell'articolo.

Frank è un responsabile di programma per sviluppatori esperienza dal Team dell'insieme di credenziali chiave di Azure. Grazie di Bindu Chinnasamy, anche dal Team di estensione lato client di Microsoft, per assistenza con la compilazione della soluzione che accompagna questo articolo. Un'applicazione nativa analizza il codice a matrice e sono visualizzati i dettagli dei criteri nella schermata per la semplice verifica offline.

Generazione di codice a matrice
Generazione del codice QR figura 5

Aggiuntiva di sicurezza può essere implementata con il segno di cliente portale i dati JSON usando una chiave privata nell'insieme di credenziali chiave di Azure e a una matrice di generazione codice in dati firmati. L'app native per dispositivi mobili è stato fornito con la chiave pubblica necessaria per verificare i dati firmati prima di visualizzare i dati JSON nel dispositivo per la verifica.

Portale per i clienti utilizza il generatore di codice a matrice per JavaScript, disponibile in GitHub all'indirizzo bit.ly/2sa3TWy, per generare e visualizzare il codice a matrice nel portale.

Convalida dei criteri

I criteri possono essere convalidati offline o online. Convalida non in linea può essere eseguita usando qualsiasi applicazione di lettore di codice a matrice in un dispositivo mobile, oppure usando un'app Xamarin native. Dopo il codice a matrice viene analizzato, i risultati vengono visualizzati in un metodo semplice per la verifica.

Al contrario, figura 6 Mostra una richiesta per la convalida inviata utilizzando lo strumento Postman (getpostman.com) per l'API dell'applicazione MVC, che restituisce il risultato della convalida come valore Boolean. In questo caso, la data di inizio dei criteri è successiva alla data corrente in modo che il risultato della convalida è "false". Un Xamarin app viene utilizzato per firmare l'utente, analizzare e visualizzare i dati di codice a matrice ed effettuare una richiesta a questa API per eseguire la convalida in linea.

Chiamata all'API REST per convalidare un criterio
Figura 6 chiamata all'API REST per convalidare un criterio

Tutte le operazioni per insieme credenziali chiavi Azure possono essere controllate e i log archiviati per la conformità alle normative di legge. È possibile abilitare il controllo dal pannello delle impostazioni nel portale di Azure per l'istanza del servizio insieme credenziali chiavi Azure. Per visualizzare i log, passare alla risorsa di archiviazione di Azure configurato per i log. È possibile utilizzare il controllo di accesso basate sui ruoli (RBAC) nel portale di Azure per verificare che solo determinati utenti possono accedere a queste informazioni.

Tutte le operazioni sui dati nel Database SQL di Azure possono anche essere attivate per il controllo, dal pannello delle impostazioni dell'istanza del database nel portale di Azure. Per la crittografia dati trasparente dei dati inattivi nel Database SQL di Azure è abilitata per impostazione predefinita.

La distribuzione della soluzione

Se si desidera provare questa soluzione autonomamente, è possibile scaricare i file di origine e gli script dal repository in GitHub bit.ly/2DRvwdh. È necessario il seguente software per implementare questa soluzione:

  • Visual Studio 2017 Preview, Community o Enterprise Edition con aggiornamento 3
  • Una sottoscrizione di Azure
  • Un editor di script di Windows PowerShell
  • Postman
  • Un generatore di codice a matrice per JavaScript

Per distribuire la soluzione nella propria sottoscrizione, è necessario aggiornare le voci di configurazione nel file appSettings dopo che vengono eseguiti gli script di PowerShell e vengono effettuato il provisioning di altre risorse nella sottoscrizione di Azure. Nel repository GitHub con i file di soluzione e codice di origine descritti in questo articolo viene fornita la procedura per eseguire questa operazione. Un ringraziamento Bindu Chinnasamy del team CSE Microsoft per assistenza con la compilazione della soluzione che accompagna l'articolo.

Conclusioni

Insieme di credenziali chiave di Azure offre una piattaforma utile ed efficiente alle aziende di gestire in modo sicuro le informazioni riservate, utilizzando tecniche e gli algoritmi standard del settore per eseguire le operazioni di crittografia. Consente agli sviluppatori di usare il SDK per le piattaforme e lingue in cui sono ormai abituati. Questa condizione, con la vasta gamma di servizi aggiuntivi in Azure, ad esempio di servizio App di Azure, Azure AD e Azure B2C e il supporto per gli strumenti elaborate forniscono questi servizi, consente agli sviluppatori di concentrarsi compilazione le funzionalità di business dei componenti di base, riducendo in tal modo è notevolmente il tempo necessario per sviluppare e distribuire una soluzione end-to-end.

In seguito a questo articolo, si illustrerà come la stessa applicazione è stato possibile, senza modifiche significative, essere distribuita al servizio di contenitore di Azure usando i contenitori di Docker e Kubernetes.


Srikantan Sankaranè un'entità technical evangelist dal team di un Partner commerciale India, in base all'esterno di Bangalore. Egli funziona con numerosi fornitori di software indipendenti India e consente di progettare e distribuire le relative soluzioni in Microsoft Azure. È possibile contattarlo in sansri@microsoft.com.

Grazie per il seguente esperto tecnico di Microsoft per la revisione dell'articolo: Frank Hokhold, Bindu Chinnasamy
Un ringraziamento Frank Hokhold per la revisione dell'articolo. Frank è un responsabile di programma per sviluppatori esperienza dal Team dell'insieme di credenziali chiave di Azure.
Grazie di Bindu Chinnasamy, anche dal Team di estensione lato client di Microsoft, per assistenza con la compilazione della soluzione che accompagna questo articolo.


Viene illustrato in questo articolo nel forum di MSDN Magazine