Esempi di implementazione di scaffold enterprise di AzureExamples of implementing Azure enterprise scaffold

In questo argomento vengono forniti esempi di come un'azienda può implementare gli elementi consigliati per uno scaffold enterprise di Azure.This topic provides examples of how an enterprise can implement the recommendations for an Azure enterprise scaffold. Usa una società fittizia denominata Contoso per illustrare le procedure consigliate per scenari comuni.It uses a fictional company named Contoso to illustrate best practices for common scenarios.

BackgroundBackground

Contoso è una società che opera in tutto il mondo per fornire soluzioni della supply chain per i clienti in ogni ambito, dal modello "Software come servizio" a un modello in pacchetto distribuito in locale.Contoso is a worldwide company that provides supply chain solutions for customers in everything from a "Software as a Service" model to a packaged model deployed on-premises. La società sviluppa software in tutto il mondo e dispone di importanti centri per lo sviluppo in India, Stati Uniti e Canada.They develop software across the globe with significant development centers in India, the United States, and Canada.

La parte ISV della società è suddivisa in diverse business unit indipendenti che gestiscono i prodotti di un importante settore.The ISV portion of the company is divided into several independent business units that manage products in a significant business. Ogni business unit ha i suoi sviluppatori, responsabili di prodotto e architetti.Each business unit has its own developers, product managers, and architects.

La business unit Enterprise Technology Services (ETS) fornisce funzionalità IT centralizzata e gestisce più data center in cui le business unit ospitano le loro applicazioni.The Enterprise Technology Services (ETS) business unit provides centralized IT capability, and manages several data centers where business units host their applications. Oltre a gestire i data center, l'organizzazione ETS fornisce e gestisce una collaborazione centralizzata (ad esempio e-mail e siti Web) e i servizi di rete/telefonia.Along with managing the data centers, the ETS organization provides and manages centralized collaboration (such as email and websites) and network/telephony services. Gestisce inoltre i carichi di lavoro rivolti ai clienti per business unit più piccole che non dispongono di personale operativo.They also manage customer-facing workloads for smaller business units who don't have operational staff.

In questa esercitazione vengono usati gli utenti tipo seguenti.The following personas are used in this topic:

  • Dave è l'amministratore di Azure ETS.Dave is the ETS Azure administrator.
  • Alice è Director of Development di Contoso della business unit della supply chain.Alice is Contoso's Director of Development in the supply chain business unit.

Contoso deve creare un'app line-of-business e un'app rivolta ai clienti.Contoso needs to build a line-of-business app and a customer-facing app. Ha deciso di eseguire le app in Azure.It has decided to run the apps on Azure. Dave legge l'argomento relativo alla governance normativa delle sottoscrizioni e ora è pronto a mettere in atto i consigli.Dave reads the prescriptive subscription governance topic, and is now ready to implement the recommendations.

Scenario 1: applicazione line-of-businessScenario 1: line-of-business application

Contoso sta creando un sistema per la gestione dei codici sorgente (BitBucket) che possa essere usato dagli sviluppatori in tutto il mondo.Contoso is building a source code management system (BitBucket) to be used by developers across the world. L'applicazione usa l'infrastruttura distribuita come servizio (IaaS) per l'hosting ed è costituita da server Web e server di database.The application uses Infrastructure as a Service (IaaS) for hosting, and consists of web servers and a database server. Gli sviluppatori accedono ai server nei loro ambienti di sviluppo, tuttavia non hanno bisogno di accedervi in Azure.Developers access servers in their development environments, but they don't need access to the servers in Azure. Contoso ETS vuole consentire ai proprietari delle applicazioni e ai team di gestire l'applicazione.Contoso ETS wishes to allow the application owner and team to manage the application. L'applicazione è disponibile solo mentre si trova nella rete aziendale di Contoso.The application is only available while on Contoso's corporate network. Dave deve configurare la sottoscrizione per l'applicazione.Dave needs to set up the subscription for this application. In futuro, la sottoscrizione ospiterà anche altri software destinati agli sviluppatori.The subscription will also host other developer-related software in the future.

Standard di denominazione e gruppi di risorseNaming standards & resource groups

Dave crea una sottoscrizione per supportare gli strumenti di sviluppo più diffusi nelle business unit.Dave creates a subscription to support developer tools that are common across all the business units. Deve creare nomi significativi per ila sottoscrizione e i gruppi di risorse (per l'applicazione e le reti).He needs to create meaningful names for the subscription and resource groups (for the application and the networks). Crea le sottoscrizioni e i gruppi di risorse seguenti:He creates the following subscription and resource groups:

ItemItem NomeName DescrizioneDescription
SubscriptionSubscription Produzione di strumenti per gli sviluppatori Contoso ETSContoso ETS DeveloperTools Production Supporta gli strumenti di sviluppo più diffusiSupports common developer tools
Gruppo di risorseResource Group bitbucket-prod-rgbitbucket-prod-rg Contiene il server Web dell'applicazione e il server di databaseContains the application web server and database server
Gruppo di risorseResource Group corenetworks-prod-rgcorenetworks-prod-rg Contiene le reti virtuali e la connessione gateway da sito a sitoContains the virtual networks and site-to-site gateway connection

Controllo degli accessi in base al ruoloRole-based access control

Dopo aver creato la sottoscrizione, Dave desidera assicurarsi che le risorse siano accessibili dal team appropriato e dai proprietari delle applicazioni.After creating his subscription, Dave wants to ensure that the appropriate teams and application owners can access their resources. Dave riconosce che ogni team ha requisiti diversi.Dave recognizes that each team has different requirements. Usa i gruppi che sono stati sincronizzati da Active Directory locale di Contoso ad Azure Active Directory e fornisce il corretto livello di accesso ai team.He utilizes the groups that have been synced from Contoso's on-premises Active Directory (AD) to Azure Active Directory, and provides the right level of access to the teams.

Dave assegna i ruoli seguenti per la sottoscrizione:Dave assigns the following roles for the subscription:

RuoloRole Assegnato aAssigned to DescrizioneDescription
ProprietarioOwner ID gestito da Active Directory di ContosoManaged ID from Contoso's AD Questo ID è controllato con accesso Just in Time (JIT) tramite lo strumento di gestione delle identità di Contoso e assicura il totale controllo degli accessi dei proprietari delle sottoscrizioniThis ID is controlled with Just in Time (JIT) access through Contoso's Identity Management tool and ensures that subscription owner access is fully audited
Gestore della sicurezza SQLSecurity Manager Reparto di gestione dei rischi e della sicurezzaSecurity and risk management department Questo ruolo consente agli utenti di esaminare il Centro sicurezza di Azure e lo stato delle risorseThis role allows users to look at the Azure Security Center and the status of the resources
Collaboratore di reteNetwork Contributor Team di reteNetwork team Questo ruolo consente team di rete di Contoso gestire la VPN da sito a sito e le reti virtualiThis role allows Contoso's network team to manage the Site to Site VPN and the Virtual Networks
Ruolo personalizzatoCustom role Proprietario dell'applicazioneApplication owner Dave crea un ruolo che concede la possibilità di modificare le risorse all'interno del gruppo di risorse.Dave creates a role that grants the ability to modify resources within the resource group. Per altre informazioni, vedere Ruoli personalizzati nel Controllo degli accessi in base al ruolo di AzureFor more information, see Custom Roles in Azure RBAC

CriteriPolicies

Dave dispone dei requisiti seguenti per gestire le risorse nella sottoscrizione:Dave has the following requirements for managing resources in the subscription:

  • Poiché gli strumenti di sviluppo aiutano gli sviluppatori di tutto il mondo, non desidera impedire agli utenti di creare risorse in qualsiasi area.Because the development tools support developers across the world, he doesn't want to block users from creating resources in any region. Tuttavia, ha bisogno di sapere dove vengono create le risorse.However, he needs to know where resources are created.
  • È preoccupato per i costi.He is concerned with costs. Di conseguenza, desidera impedire ai proprietari delle applicazioni di creare macchine virtuali inutilmente costose.Therefore, he wants to prevent application owners from creating unnecessarily expensive virtual machines.
  • Poiché questa applicazione è destinata agli sviluppatori di diverse business unit. desidera aggiungere a ogni risorsa un tag con il proprietario dell'applicazione e la business unit.Because this application serves developers in many business units, he wants to tag each resource with the business unit and application owner. L'uso di questi tag aiuta ETS nella fatturazione ai team appropriati.By using these tags, ETS can bill the appropriate teams.

Crea i criteri di Azure seguenti:He creates the following Azure policies:

CampoField EffettoEffect DescrizioneDescription
locationlocation auditaudit Controlla la creazione delle risorse in qualsiasi areaAudit the creation of the resources in any region
typetype denydeny Nega la creazione di macchine virtuali serie GDeny creation of G-Series virtual machines
tagstags denydeny Richiede il tag del proprietario dell'applicazioneRequire application owner tag
tagstags denydeny Richiede il tag del centro di costoRequire cost center tag
tagstags appendappend Aggiunge il nome del tag BusinessUnit e il valore del tag ETS a tutte le risorseAppend tag name BusinessUnit and tag value ETS to all resources

Tag delle risorseResource tags

Dave è consapevole che è necessario disporre di informazioni specifiche sulla fattura per identificare il centro di costo per l'implementazione di BitBucket.Dave understands that he needs to have specific information on the bill to identify the cost center for the BitBucket implementation. Inoltre, Dave desidera conoscere tutte le risorse ETS che possiede.Additionally, Dave wants to know all the resources that ETS owns.

Aggiunge i tag seguenti ai gruppi di risorse e alle risorse.He adds the following tags to the resource groups and resources.

Nome del tagTag name Valore del tagTag value
ApplicationOwnerApplicationOwner Il nome della persona che gestisce l'applicazioneThe name of the person who manages this application
CostCenterCostCenter Il centro di costo del gruppo che paga per il consumo di AzureThe cost center of the group that is paying for the Azure consumption
BusinessUnitBusinessUnit ETS (la business unit associata alla sottoscrizione)ETS (the business unit associated with the subscription)

Rete coreCore network

Il team di gestione dei rischi e della sicurezza delle informazioni di Contoso ETS esamina il piano proposto da Dave per spostare l'applicazione in Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Desidera assicurarsi che l'applicazione non sia esposto su Internet.They want to ensure that the application is not exposed to the internet. Dave dispone anche di app per gli sviluppatori che in futuro verranno spostate in Azure.Dave also has developer apps that in the future will be moved to Azure. Queste app richiedono interfacce pubbliche.These apps require public interfaces. Per soddisfare questi requisiti, fornisce reti virtuali interne ed esterne e un gruppo di sicurezza di rete per limitare l'accesso.To meet these requirements, he provides both internal and external virtual networks, and a network security group to restrict access.

Crea le risorse seguenti:He creates the following resources:

Tipo di risorsaResource type NomeName DescrizioneDescription
Rete virtualeVirtual Network rete virtuale internainternal-vnet Viene usata con l'applicazione BitBucket ed è connessa tramite ExpressRoute alla rete aziendale di Contoso.Used with the BitBucket application and is connected via ExpressRoute to Contoso's corporate network. Una subnet (bitbucket) fornisce all'applicazione uno spazio di indirizzi IP specificoA subnet (bitbucket) provides the application with a specific IP address space
Rete virtualeVirtual Network rete virtuale esternaexternal-vnet È disponibile per le applicazioni future che richiedono endpoint pubbliciAvailable for future applications that require public-facing endpoints
Gruppo di sicurezza di reteNetwork Security Group bitbucket-nsgbitbucket-nsg Garantisce che la superficie di attacco di questo carico di lavoro sia ridotta al minimo consentendo le connessioni solo sulla porta 443 per la subnet in cui risiede l'applicazione (bitbucket)Ensures that the attack surface of this workload is minimized by allowing connections only on port 443 for the subnet where the application lives (bitbucket)

Blocchi risorseResource locks

Dave riconosce che la connettività dalla rete aziendale di Contoso alla rete virtuale interna deve essere protetta da qualsiasi script imprevisto o eliminazione accidentale.Dave recognizes that the connectivity from Contoso's corporate network to the internal virtual network must be protected from any wayward script or accidental deletion.

Crea il blocco risorsa seguente:He creates the following resource lock:

Tipo di bloccoLock type RisorsaResource DescrizioneDescription
CanNotDeleteCanNotDelete rete virtuale internainternal-vnet Impedisce agli utenti di eliminare la rete virtuale o le subnet, ma non impedisce l'aggiunta di nuove subnetPrevents users from deleting the virtual network or subnets, but does not prevent the addition of new subnets

Automazione di AzureAzure Automation

Dave non ha nulla da automatizzare per questa applicazione.Dave has nothing to automate for this application. Anche se ha creato un account di Automazione di Azure, inizialmente non lo userà.Although he created an Azure Automation account, he won't initially use it.

Centro sicurezza di AzureAzure Security Center

La gestione dei servizi IT di Contoso deve identificare e gestire rapidamente i rischi.Contoso IT service management needs to quickly identify and handle threats. Inoltre è necessario capire quali problemi potrebbero esistere.They also want to understand what problems may exist.

Per soddisfare questi requisiti, Dave abilita il Centro sicurezza di Azure e fornisce l'accesso al responsabile della sicurezza.To fulfill these requirements, Dave enables the Azure Security Center, and provides access to the Security Manager role.

Scenario 2: app destinata ai clientiScenario 2: customer-facing app

I responsabili aziendali della business unit della supply chain hanno identificato diverse opportunità per aumentare il coinvolgimento dei clienti Contoso attraverso l'uso di una carta fedeltà.The business leadership in the supply chain business unit has identified various opportunities to increase engagement with Contoso's customers by using a loyalty card. Il team di Alice deve creare l'applicazione e decide che Azure aumenta la capacità di soddisfare le esigenze aziendali.Alice's team must create this application and decides that Azure increases their ability to meet the business need. Alice collabora con Dave di ETS per configurare due sottoscrizioni per sviluppare e far funzionare l'applicazione.Alice works with Dave from ETS to configure two subscriptions for developing and operating this application.

Sottoscrizioni AzureAzure subscriptions

Dave accede al portale aziendale di Azure e vede che il reparto della supply chain esiste già.Dave logs in to the Azure Enterprise Portal and sees that the supply chain department already exists. Tuttavia, poiché questo progetto è il primo progetto di sviluppo per il team della supply chain in Azure, Dave riconosce la necessità di un nuovo account per il team di sviluppo di Alice.However, as this project is the first development project for the supply chain team in Azure, Dave recognizes the need for a new account for Alice’s development team. Crea l'account "R & D" per il team e assegna l'accesso ad Alice.He creates the "R&D" account for her team and assigns access to Alice. Alice accede tramite il portale di Azure e crea due sottoscrizioni: una per i server di sviluppo e l'altra per i server di produzione.Alice logs in via the Azure portal and creates two subscriptions: one to hold the development servers and one to hold the production servers. Segue gli standard di denominazione stabiliti in precedenza durante la creazione di sottoscrizioni seguenti:She follows the previously established naming standards when creating the following subscriptions:

Uso della sottoscrizioneSubscription use NomeName
Sviluppo.Development Contoso SupplyChain ResearchDevelopment LoyaltyCard DevelopmentContoso SupplyChain ResearchDevelopment LoyaltyCard Development
ProduzioneProduction Contoso SupplyChain Operations LoyaltyCard ProductionContoso SupplyChain Operations LoyaltyCard Production

CriteriPolicies

Dave e Alice discutono dell'applicazione e concludono che è destinata solo ai clienti nell'area dell'America del Nord.Dave and Alice discuss the application and identify that this application only serves customers in the North American region. Alice e il suo team pianificano di usare l'ambiente del servizio dell'applicazione di Azure e SQL di Azure per creare l'applicazione.Alice and her team plan to use Azure's Application Service Environment and Azure SQL to create the application. Potrebbero aver bisogno di creare macchine virtuali durante lo sviluppo.They may need to create virtual machines during development. Alice vuole assicurarsi che gli sviluppatori dispongano delle risorse che necessarie per esplorare ed esaminare i problemi senza doversi rivolgere a ETS.Alice wants to ensure that her developers have the resources they need to explore and examine problems without pulling in ETS.

Per la sottoscrizione di sviluppo, creano i criteri seguenti:For the development subscription, they create the following policy:

CampoField EffettoEffect DescrizioneDescription
locationlocation auditaudit Controlla la creazione delle risorse in qualsiasi areaAudit the creation of the resources in any region

Non stabiliscono un limite per il tipo di SKU che un utente può creare in fase di sviluppo e non richiedono tag per i gruppi di risorse o le risorse.They do not limit the type of sku a user can create in development, and they do not require tags for any resource groups or resources.

Per la sottoscrizione di produzione, creano i criteri seguenti:For the production subscription, they create the following policies:

CampoField EffettoEffect DescrizioneDescription
locationlocation denydeny Impedisce la creazione di risorse all'esterno dei data center degli Stati UnitiDeny the creation of any resources outside of the US data centers
tagstags denydeny Richiede il tag del proprietario dell'applicazioneRequire application owner tag
tagstags denydeny Richiede il tag del repartoRequire department tag
tagstags appendappend Aggiunge un tag a ogni gruppo di risorse per indicare l'ambiente di produzioneAppend tag to each resource group that indicates production environment

Non stabiliscono un limite per il tipo di SKU che un utente può creare nell'ambiente di produzione.They do not limit the type of sku a user can create in production.

Tag delle risorseResource tags

Dave capisce che è necessario disporre di informazioni specifiche per identificare i gruppi aziendali corretti per la fatturazione e la proprietà.Dave understands that he needs to have specific information to identify the correct business groups for billing and ownership. Definisce i tag delle risorse per i gruppi di risorse e le risorse.He defines resource tags for resource groups and resources.

Nome del tagTag name Valore del tagTag value
ApplicationOwnerApplicationOwner Il nome della persona che gestisce l'applicazioneThe name of the person who manages this application
departmentDepartment Il centro di costo del gruppo che paga per il consumo di AzureThe cost center of the group that is paying for the Azure consumption
EnvironmentTypeEnvironmentType Produzione (anche se la sottoscrizione include produzione nel nome, l'inclusione di questo tag consente di identificarla facilmente quando si esaminano le risorse nel portale o nella fattura)Production (Even though the subscription includes Production in the name, including this tag enables easy identification when looking at resources in the portal or on the bill)

Reti coreCore networks

Il team di gestione dei rischi e della sicurezza delle informazioni di Contoso ETS esamina il piano proposto da Dave per spostare l'applicazione in Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Desidera assicurarsi che l'applicazione Carta fedeltà sia correttamente isolata e protetta in una rete perimetrale.They want to ensure that the Loyalty Card application is properly isolated and protected in a DMZ network. Per soddisfare questo requisito, Dave e Alice creano una rete virtuale esterna e un gruppo di sicurezza di rete per isolare l'applicazione Carta fedeltà dalla rete aziendale Contoso.To fulfill this requirement, Dave and Alice create an external virtual network and a network security group to isolate the Loyalty Card application from the Contoso corporate network.

Per la sottoscrizione di sviluppo, creano:For the development subscription, they create:

Tipo di risorsaResource type NomeName DescrizioneDescription
Rete virtualeVirtual Network rete virtuale internainternal-vnet È destinata all'ambiente di sviluppo della carta fedeltà di Contoso ed è connessa tramite ExpressRoute alla rete aziendale di ContosoServes the Contoso Loyalty Card development environment and is connected via ExpressRoute to Contoso's corporate network

Per la sottoscrizione di produzione, creano:For the production subscription, they create:

Tipo di risorsaResource type NomeName DescrizioneDescription
Rete virtualeVirtual Network rete virtuale esternaexternal-vnet Ospita l'applicazione Carta fedeltà e non è connessa direttamente a ExpressRoute di Contoso.Hosts the Loyalty Card application and is not connected directly to Contoso's ExpressRoute. Il codice viene trasmesso tramite il sistema di codice sorgente direttamente ai servizi PaaSCode is pushed via their Source Code system directly to the PaaS services
Gruppo di sicurezza di reteNetwork Security Group loyaltycard-nsgloyaltycard-nsg Garantisce che la superficie di attacco di questo carico di lavoro sia ridotta al minimo consentendo la comunicazione in entrata solo su TCP 443.Ensures that the attack surface of this workload is minimized by only allowing in-bound communication on TCP 443. Contoso sta indagando anche attraverso un firewall applicazione Web per protezione aggiuntivaContoso is also investigating using a Web Application Firewall for additional protection

Blocchi risorseResource locks

Dave e Alice si consultano e decidono di aggiungere blocchi di risorse in alcune delle risorse chiave nell'ambiente per impedire l'eliminazione accidentale durante un push del codice fuori controllo.Dave and Alice confer and decide to add resource locks on some of the key resources in the environment to prevent accidental deletion during an errant code push.

Creano il blocco seguente:They create the following lock:

Tipo di bloccoLock type RisorsaResource DescrizioneDescription
CanNotDeleteCanNotDelete rete virtuale esternaexternal-vnet Per impedire agli utenti di eliminare la rete virtuale o le subnet.To prevent people from deleting the virtual network or subnets. Il blocco non impedisce l'aggiunta di nuove subnetThe lock does not prevent the addition of new subnets

Automazione di AzureAzure Automation

Alice e il suo team di sviluppo hanno runbook estesi per gestire l'ambiente per l'applicazione.Alice and her development team have extensive runbooks to manage the environment for this application. I runbook consentono l'aggiunta o l'eliminazione di nodi per l'applicazione e altre attività DevOps.The runbooks allow for the addition/deletion of nodes for the application and other DevOps tasks.

Per usare questi runbook, abilitano Automazione.To use these runbooks, they enable Automation.

Centro sicurezza di AzureAzure Security Center

La gestione dei servizi IT di Contoso deve identificare e gestire rapidamente i rischi.Contoso IT service management needs to quickly identify and handle threats. Inoltre è necessario capire quali problemi potrebbero esistere.They also want to understand what problems may exist.

Per soddisfare questi requisiti, Dave abilita il Centro sicurezza di Azure.To fulfill these requirements, Dave enables Azure Security Center. Verifica che il Centro di sicurezza di Azure esegua il monitoraggio delle risorse e fornisce l'accesso ai team di sicurezza e DevOps.He ensures that the Azure Security Center is monitoring the resources, and provides access to the DevOps and security teams.

Passaggi successiviNext steps