Exemplos da implementação da estrutura de enterprise do AzureExamples of implementing Azure enterprise scaffold

Este artigo fornece exemplos de como uma empresa pode implementar as recomendações para uma estrutura empresarial do Azure.This article provides examples of how an enterprise can implement the recommendations for an Azure enterprise scaffold. Ele usa uma empresa fictícia denominada Contoso para ilustrar as melhores práticas para cenários comuns.It uses a fictional company named Contoso to illustrate best practices for common scenarios.

Segundo planoBackground

A Contoso é uma empresa em todo o mundo, que fornece soluções de cadeia de suprimentos para os clientes.Contoso is a worldwide company that provides supply chain solutions for customers. Eles fornecem tudo, desde um software como um modelo de serviço para um modelo em pacote implementado no local.They provide everything from a software as a service model to a packaged model deployed on-premises. Que desenvolvem software em todo o mundo com centros de desenvolvimento significativo na Índia, Estados Unidos e Canadá.They develop software across the globe with significant development centers in India, the United States, and Canada.

A parte de ISV da empresa está dividida em várias unidades de negócios que gerem os produtos numa empresa significativa.The ISV portion of the company is divided into several independent business units that manage products in a significant business. Cada unidade de negócios tem seu próprio desenvolvedores, gerentes de produto e arquitetos.Each business unit has its own developers, product managers, and architects.

A unidade de negócios de serviços de tecnologia empresarial (ETS) fornece a capacidade de TI centralizada e gere vários centros de dados em que as unidades de negócios hospedar seus aplicativos.The Enterprise Technology Services (ETS) business unit provides centralized IT capability and manages several datacenters where business units host their applications. Juntamente com a gestão de centros de dados, a organização de ETS fornece e gerencia a colaboração centralizada (como o e-mail e os Web sites) e serviços de rede/telefonia.Along with managing the datacenters, the ETS organization provides and manages centralized collaboration (such as email and websites) and network/telephony services. Eles também gerem cargas de trabalho do lado do cliente para as unidades de negócios mais pequenas que não têm a equipe operacional.They also manage customer-facing workloads for smaller business units who don't have operational staff.

As pessoas seguintes são utilizadas neste artigo:The following personas are used in this article:

  • Dave é o administrador do ETS Azure.Dave is the ETS Azure administrator.
  • Alice é diretor de desenvolvimento da Contoso na unidade de negócios de cadeia de fornecimento.Alice is Contoso's Director of Development in the supply chain business unit.

A Contoso precisa de criar uma aplicação de linha de negócio e de uma aplicação do lado do cliente.Contoso needs to build a line-of-business app and a customer-facing app. Decidiu-se executar as aplicações no Azure.It has decided to run the apps on Azure. Dave lê a governação de subscrições prescritiva artigo e está pronto para implementar as recomendações.Dave reads the prescriptive subscription governance article and is ready to implement the recommendations.

Cenário 1: aplicação de linha de negócioScenario 1: line-of-business application

Contoso está criando um sistema de gerenciamento de código de origem (BitBucket) para ser usado por desenvolvedores em todo o mundo.Contoso is building a source code management system (BitBucket) to be used by developers across the world. A aplicação utiliza a infraestrutura como serviço (IaaS) para alojar e consiste em servidores web e um servidor de base de dados.The application uses infrastructure as a service (IaaS) for hosting and consists of web servers and a database server. Os desenvolvedores acessar servidores nos respetivos ambientes de desenvolvimento, mas eles não precisam de acesso para os servidores no Azure.Developers access servers in their development environments, but they don't need access to the servers in Azure. Contoso ETS quer permitir que o proprietário da aplicação e a equipa gerir a aplicação.Contoso ETS wants to allow the application owner and team to manage the application. A aplicação só está disponível, ao mesmo tempo, na rede corporativa da Contoso.The application is only available while on Contoso's corporate network. Dave tem de configurar a subscrição para esta aplicação.Dave needs to set up the subscription for this application. A subscrição também irá alojar outros programas de software relacionados ao desenvolvedor no futuro.The subscription will also host other developer-related software in the future.

Padrões de nomenclatura e grupos de recursosNaming standards and resource groups

Dave cria uma subscrição para oferecer suporte a ferramentas de programação que são comuns a todas as unidades de negócios.Dave creates a subscription to support developer tools that are common across all the business units. Dave tem de criar nomes significativos para os grupos de recursos e subscrição (para a aplicação e as redes).Dave needs to create meaningful names for the subscription and resource groups (for the application and the networks). Ele cria os seguintes grupos de recursos e subscrição:He creates the following subscription and resource groups:

ItemItem NameName DescriçãoDescription
SubscriçãoSubscription Produção de ferramentas para desenvolvedor ETS de contosoContoso ETS DeveloperTools Production Oferece suporte a ferramentas de programador comunsSupports common developer tools
Grupo de RecursosResource Group bitbucket-prod-rgbitbucket-prod-rg Contém o servidor de web de aplicação e o servidor de base de dadosContains the application web server and database server
Grupo de RecursosResource Group corenetworks-prod-rgcorenetworks-prod-rg Contém as redes virtuais e a ligação de gateway site para siteContains the virtual networks and site-to-site gateway connection

Controlo de acesso baseado em funçõesRole-based access control

Depois de criar a sua subscrição, Dave quer garantir que as equipes apropriadas e os proprietários da aplicação podem aceder aos seus recursos.After creating his subscription, Dave wants to ensure that the appropriate teams and application owners can access their resources. Dave reconhece que cada equipe tem requisitos diferentes.Dave recognizes that each team has different requirements. Ele utiliza os grupos que foram sincronizados do Active Directory da Contoso no local ao Azure Active Directory e fornece o nível certo de acesso para as equipes.He uses the groups that have been synchronized from Contoso's on-premises Active Directory to Azure Active Directory and provides the right level of access to the teams.

Dave atribui as seguintes funções para a subscrição:Dave assigns the following roles for the subscription:

FunçãoRole Atribuído aAssigned to DescriçãoDescription
ProprietárioOwner Gerido ID do Active Directory no local da ContosoManaged ID from Contoso's on-premises Active Directory Este ID é controlado com acesso de (JIT) just-in-time por meio da ferramenta de gestão de identidades da Contoso e garante que o acesso de proprietário da subscrição é totalmente auditadoThis ID is controlled with just-in-time (JIT) access through Contoso's Identity Management tool and ensures that subscription owner access is fully audited
Leitor de segurançaSecurity Reader Departamento de gestão e o risco de segurançaSecurity and risk management department Esta função permite aos utilizadores ver o Centro de segurança do Azure e o estado dos recursosThis role allows users to look at the Azure Security Center and the status of the resources
Contribuidor de RedeNetwork Contributor Equipe de redeNetwork team Esta função permite que a equipe de rede da Contoso gerir a VPN de Site a Site e as redes virtuaisThis role allows Contoso's network team to manage the Site to Site VPN and the Virtual Networks
Função personalizadaCustom role Proprietário da aplicaçãoApplication owner Dave cria uma função que concede a capacidade de modificar os recursos no grupo de recursos.Dave creates a role that grants the ability to modify resources within the resource group. Para obter mais informações, consulte funções personalizadas no Azure RBACFor more information, see Custom roles in Azure RBAC

PolíticasPolicies

Dave tem os seguintes requisitos para gerir recursos na subscrição:Dave has the following requirements for managing resources in the subscription:

  • Uma vez que as ferramentas de desenvolvimento suportam os desenvolvedores em todo o mundo, ele não quer impedir que os utilizadores a criação de recursos em qualquer região.Because the development tools support developers across the world, he doesn't want to block users from creating resources in any region. No entanto, ele precisa saber em que os recursos são criados.However, he needs to know where resources are created.
  • Ele está preocupado com os custos.He is concerned with costs. Portanto, ele deseja impedir que proprietários de aplicativos de criação de máquinas de virtuais dispendiosas desnecessariamente.Therefore, he wants to prevent application owners from creating unnecessarily expensive virtual machines.
  • Uma vez que esta aplicação serve os desenvolvedores em muitas unidades de negócios, pretende marcar cada recurso com o proprietário de unidade e a aplicação da empresa.Because this application serves developers in many business units, he wants to tag each resource with the business unit and application owner. Ao utilizar estas etiquetas, ETS pode cobrar as equipes apropriadas.By using these tags, ETS can bill the appropriate teams.

Ele cria as seguintes políticas via do Azure Policy:He creates the following policies via Azure Policy:

CampoField EfeitoEffect DescriçãoDescription
locationlocation Auditoriaaudit A criação de recursos em qualquer região de auditoriaAudit the creation of the resources in any region
tipotype negardeny Negar a criação de máquinas de virtuais de série GDeny creation of G-Series virtual machines
tagstags negardeny Exigir a etiqueta de proprietário da aplicaçãoRequire application owner tag
tagstags negardeny Exigir a etiqueta de centro de custosRequire cost center tag
tagstags Acrescentarappend O nome da etiqueta de acréscimo Dependênciasdo e o valor de etiqueta ETS a todos os recursosAppend tag name BusinessUnit and tag value ETS to all resources

Etiquetas de recursosResource tags

Dave compreende que ele tem de ter informações específicas sobre a fatura para identificar o Centro de custos para a implementação do BitBucket.Dave understands that he needs to have specific information on the bill to identify the cost center for the BitBucket implementation. Além disso, Dave quer saber todos os recursos que ETS é proprietário.Additionally, Dave wants to know all the resources that ETS owns.

Ele adiciona o seguinte procedimento etiquetas aos grupos de recursos e recursos.He adds the following tags to the resource groups and resources.

Nome da etiquetaTag name Valor de etiquetaTag value
ApplicationOwnerApplicationOwner O nome da pessoa que gerencia esta aplicaçãoThe name of the person who manages this application
Centro de CustoCostCenter O Centro de custos do grupo que estiver pagando para o consumo do AzureThe cost center of the group that is paying for the Azure consumption
BusinessUnitBusinessUnit ETS (a unidade de negócios associada à subscrição)ETS (the business unit associated with the subscription)

Rede principalCore network

A Contoso ETS informações de segurança e riscos equipe de gerenciamento de revisões de plano de propostas de Dave para mover a aplicação no Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Eles querem garantir que o aplicativo não é exposto à internet.They want to ensure that the application isn't exposed to the internet. Dave também tem aplicações de Programador no futuro serão movidas para o Azure.Dave also has developer apps that in the future will be moved to Azure. Essas aplicações necessitarem de interfaces públicas.These apps require public interfaces. Para cumprir estes requisitos, ele fornece redes virtuais internas e externas e um grupo de segurança de rede para restringir o acesso.To meet these requirements, he provides both internal and external virtual networks, and a network security group to restrict access.

Ele cria os seguintes recursos:He creates the following resources:

Tipo de recursoResource type NameName DescriçãoDescription
Rede VirtualVirtual Network vnet internainternal-vnet Utilizado com a aplicação do BitBucket e está ligado através do ExpressRoute à rede corporativa da Contoso.Used with the BitBucket application and is connected via ExpressRoute to Contoso's corporate network. Uma sub-rede (bitbucket) fornece a aplicação com um espaço de endereços IP específicoA subnet (bitbucket) provides the application with a specific IP address space
Rede VirtualVirtual Network externo-vnetexternal-vnet Disponível para aplicativos futuros que necessitam de pontos de extremidade públicosAvailable for future applications that require public-facing endpoints
Grupo de segurança de redeNetwork Security Group bitbucket-nsgbitbucket-nsg Garante que a superfície de ataque desta carga de trabalho é minimizada ao permitir ligações apenas na porta 443 para a sub-rede onde reside o aplicativo (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)

Bloqueios de recursoResource locks

Dave reconhece que a conectividade da rede corporativa da Contoso para a rede virtual interna têm de ser protegida em qualquer wayward script ou eliminação acidental.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.

Ele cria as seguintes bloqueio de recurso:He creates the following resource lock:

Tipo de bloqueioLock type ResourceResource DescriçãoDescription
CanNotDeleteCanNotDelete vnet internainternal-vnet Impede que os usuários a eliminar a rede virtual ou sub-redes, mas não impede a adição de novas sub-redesPrevents users from deleting the virtual network or subnets, but does not prevent the addition of new subnets

Automatização do AzureAzure Automation

Dave não tem nada a automatizar para esta aplicação.Dave has nothing to automate for this application. Embora ele criou uma conta de automatização do Azure, ele não inicialmente utilize-o.Although he created an Azure Automation account, he won't initially use it.

Centro de Segurança do AzureAzure Security Center

Gestão de serviços de TI da Contoso tem de identificar e lidar com ameaças rapidamente.Contoso IT service management needs to quickly identify and handle threats. Quer também saber que problemas podem existir.They also want to understand what problems may exist.

Para cumprir estes requisitos, Dave permite que o Centro de segurança do Azure e fornece acesso à função do leitor de segurança.To fulfill these requirements, Dave enables the Azure Security Center and provides access to the Security Reader role.

Cenário 2: aplicação do lado do clienteScenario 2: customer-facing app

A liderança de negócios na unidade de negócios de cadeia de fornecimento identificou várias oportunidades para aumentar a interação com os clientes da Contoso utilizando um cartão de fidelização.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. Equipe de Alice tem de criar esta aplicação e decide que o Azure aumenta sua capacidade de satisfazer a necessidade de negócio.Alice's team must create this application and decides that Azure increases their ability to meet the business need. Alice funciona com Dave de ETS configurar duas subscrições para desenvolver e operar esta aplicação.Alice works with Dave from ETS to configure two subscriptions for developing and operating this application.

Subscrições do AzureAzure subscriptions

Dave inicia sessão no Azure Enterprise Portal e vê que o departamento de cadeia de fornecimento já existe.Dave logs into the Azure Enterprise Portal and sees that the supply chain department already exists. No entanto, como este projeto é o primeiro projeto de desenvolvimento para a equipe de cadeia de fornecimento no Azure, Dave reconhece a necessidade de uma nova conta para a equipe de desenvolvimento de 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. Ele cria a conta de "I & D" para a equipa dela e atribui o acesso a Alice.He creates the "R&D" account for her team and assigns access to Alice. Alice inicia sessão no portal do Azure e cria duas subscrições: um para manter os servidores de desenvolvimento e outra para manter os servidores de produção.Alice logs in via the Azure portal and creates two subscriptions: one to hold the development servers and one to hold the production servers. Ela segue os padrões de nomenclatura anteriormente estabelecidos quando criar as seguintes subscrições:She follows the previously established naming standards when creating the following subscriptions:

Utilização da subscriçãoSubscription use NameName
DesenvolvimentoDevelopment Desenvolvimento do contoso SupplyChain ResearchDevelopment LoyaltyCardContoso SupplyChain ResearchDevelopment LoyaltyCard Development
ProduçãoProduction Contoso SupplyChain operações LoyaltyCard produçãoContoso SupplyChain Operations LoyaltyCard Production

PolíticasPolicies

Dave e Alice discutir sobre o aplicativo e identificar que esta aplicação só serve os clientes na região da América do Norte.Dave and Alice discuss the application and identify that this application only serves customers in the North American region. Alice e a equipa dela planeja usar o ambiente de serviço de aplicações do Azure e o SQL do Azure para criar o aplicativo.Alice and her team plan to use Azure's Application Service Environment and Azure SQL to create the application. Eles poderão ter de criar máquinas virtuais durante o desenvolvimento.They may need to create virtual machines during development. Alice quer garantir que os desenvolvedores têm os recursos que necessitam para explorar e examinar problemas sem Pegando ETS.Alice wants to ensure that her developers have the resources they need to explore and examine problems without pulling in ETS.

Para o subscrição do desenvolvimento, eles criam a seguinte política:For the development subscription, they create the following policy:

CampoField EfeitoEffect DescriçãoDescription
locationlocation Auditoriaaudit A criação de recursos em qualquer região de auditoriaAudit the creation of the resources in any region

Eles não limitam o tipo de SKU de um utilizador pode criar no desenvolvimento e que não requerem etiquetas para quaisquer grupos de recursos ou recursos.They don't limit the type of SKU a user can create in development, and they don't require tags for any resource groups or resources.

Para o subscrição de produção, eles criam as seguintes políticas:For the production subscription, they create the following policies:

CampoField EfeitoEffect DescriçãoDescription
locationlocation negardeny Negar a criação de todos os recursos fora o datacenters nos EUADeny the creation of any resources outside of the US datacenters
tagstags negardeny Exigir a etiqueta de proprietário da aplicaçãoRequire application owner tag
tagstags negardeny Exigir a etiqueta departamentoRequire department tag
tagstags Acrescentarappend Acrescentar a etiqueta para cada grupo de recursos que indica o ambiente de produçãoAppend tag to each resource group that indicates production environment

Eles não limitam o tipo de SKU de um utilizador pode criar na produção.They don't limit the type of SKU a user can create in production.

Etiquetas de recursosResource tags

Dave compreende que ele tem de ter informações específicas para identificar os grupos de negócios correta de faturação e de propriedade.Dave understands that he needs to have specific information to identify the correct business groups for billing and ownership. Ele define os sinalizadores de recurso para grupos de recursos e recursos.He defines resource tags for resource groups and resources.

Nome da etiquetaTag name Valor de etiquetaTag value
ApplicationOwnerApplicationOwner O nome da pessoa que gerencia esta aplicaçãoThe name of the person who manages this application
DepartamentoDepartment O Centro de custos do grupo que estiver pagando para o consumo do AzureThe cost center of the group that is paying for the Azure consumption
EnvironmentTypeEnvironmentType Produção (mesmo que a subscrição inclui produção o nome, incluindo esta etiqueta permite a fácil identificação ao ver a recursos no portal ou na fatura)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)

Redes de núcleoCore networks

A Contoso ETS informações de segurança e riscos equipe de gerenciamento de revisões de plano de propostas de Dave para mover a aplicação no Azure.The Contoso ETS information security and risk management team reviews Dave's proposed plan to move the application to Azure. Eles querem garantir que o aplicativo de cartão de fidelização é corretamente isolado e protegido numa rede de rede de Perímetro.They want to ensure that the Loyalty Card application is properly isolated and protected in a DMZ network. Para cumprir este requisito, Dave e Alice criam uma rede virtual externa e de um grupo de segurança de rede para isolar o aplicativo de cartão de fidelidade da rede empresarial 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.

Para o subscrição do desenvolvimento, eles criam:For the development subscription, they create:

Tipo de recursoResource type NameName DescriçãoDescription
Rede VirtualVirtual Network vnet internainternal-vnet Serve o ambiente de desenvolvimento de cartão de fidelidade de Contoso e está ligado através do ExpressRoute à rede corporativa da ContosoServes the Contoso Loyalty Card development environment and is connected via ExpressRoute to Contoso's corporate network

Para o subscrição de produção, eles criam:For the production subscription, they create:

Tipo de recursoResource type NameName DescriçãoDescription
Rede VirtualVirtual Network externo-vnetexternal-vnet Aloja a aplicação de cartão de fidelização e não está ligado diretamente ao ExpressRoute da Contoso.Hosts the Loyalty Card application and is not connected directly to Contoso's ExpressRoute. Código é emitidos via push através do seu sistema de código-fonte diretamente para os serviços de PaaS.Code is pushed via their Source Code system directly to the PaaS services.
Grupo de segurança de redeNetwork Security Group loyaltycard-nsgloyaltycard-nsg Garante que a superfície de ataque desta carga de trabalho é minimizada permitindo apenas a comunicação no ligados em TCP 443.Ensures that the attack surface of this workload is minimized by only allowing in-bound communication on TCP 443. Contoso é também investigar usando um firewall de aplicações web para proteção adicional.Contoso is also investigating using a web application firewall for additional protection.

Bloqueios de recursoResource locks

Dave e Alice a concessão e decidirem adicionar bloqueios de recursos em alguns dos principais recursos no ambiente para impedir a eliminação acidental durante um push de código errôneo.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.

Eles criam o bloqueio seguinte:They create the following lock:

Tipo de bloqueioLock type ResourceResource DescriçãoDescription
CanNotDeleteCanNotDelete externo-vnetexternal-vnet Para impedir que as pessoas a eliminar a rede virtual ou sub-redes.To prevent people from deleting the virtual network or subnets. O bloqueio não impede a adição de novas sub-redesThe lock does not prevent the addition of new subnets

Automatização do AzureAzure Automation

Alice e sua equipe de desenvolvimento têm extensa runbooks para gerir o ambiente para esta aplicação.Alice and her development team have extensive runbooks to manage the environment for this application. Os runbooks permitem adições/eliminações de nós para a aplicação e outras tarefas de DevOps.The runbooks allow for the addition/deletion of nodes for the application and other DevOps tasks.

Para utilizar estes runbooks, eles permitem automatização.To use these runbooks, they enable Automation.

Centro de Segurança do AzureAzure Security Center

Gestão de serviços de TI da Contoso tem de identificar e lidar com ameaças rapidamente.Contoso IT service management needs to quickly identify and handle threats. Quer também saber que problemas podem existir.They also want to understand what problems may exist.

Para cumprir estes requisitos, Dave permite que o Centro de segurança do Azure.To fulfill these requirements, Dave enables Azure Security Center. Ele garante que o Centro de segurança do Azure está a monitorizar os recursos e fornece acesso para a equipa de DevOps e de segurança.He ensures that the Azure Security Center is monitoring the resources and provides access to the DevOps and security teams.

Passos SeguintesNext steps