Supporto multi-tenant in Azure Site Recovery per replicare le macchine virtuali VMware in Azure tramite CSPMulti-tenant support in Azure Site Recovery for replicating VMware virtual machines to Azure through CSP

Azure Site Recovery supporta ambienti multi-tenant per sottoscrizioni tenant.Azure Site Recovery supports multi-tenant environments for tenant subscriptions. Supporta anche la multi-tenancy per le sottoscrizioni tenant create e gestite tramite il programma Microsoft Cloud Solution Provider (CSP).It also supports multi-tenancy for tenant subscriptions that are created and managed through the Microsoft Cloud Solution Provider (CSP) program. In questo articolo sono illustrate le indicazioni per implementare e gestire scenari multi-tenant da VMware ad Azure.This article details the guidance for implementing and managing multi-tenant VMware-to-Azure scenarios. Per informazioni dettagliate sulla creazione e sulla gestione delle sottoscrizioni tenant vedere Gestione multi-tenancy con CSP.For details on creating and managing tenant subscriptions see Managing multi-tenancy with CSP .

Queste indicazioni traggono molte informazioni dalla documentazione esistente per la replica di macchine virtuali VMware in Azure.This guidance draws heavily from the existing documentation for replicating VMware virtual machines to Azure. Per altre informazioni, vedere Replicare VM VMware in Azure con Site Recovery.For more information, see Replicate VMware virtual machines to Azure with Site Recovery.

Ambienti multi-tenantMulti-tenant environments

Esistono tre modelli multi-tenant principali:There are three major multi-tenant models:

  • Provider di servizi di hosting condiviso: il partner possiede l'infrastruttura fisica e usa risorse condivise, ad esempio vCenter, data center, archiviazione fisica e così via, per ospitare le macchine virtuali di più tenant nella stessa infrastruttura.Shared Hosting Services Provider (HSP): The partner owns the physical infrastructure, and uses shared resources (vCenter, datacenters, physical storage, and so on) to host multiple tenants’ VMs on the same infrastructure. Il partner può fornire il ripristino di emergenza come servizio gestito oppure il tenant può essere proprietario del ripristino di emergenza tramite una soluzione self-service.The partner can provide disaster-recovery management as a managed service, or the tenant can own disaster recovery as a self-service solution.

  • Provider di servizi di hosting dedicato: il partner possiede l'infrastruttura fisica, ma usa risorse dedicate, ad esempio più vCenter, archivi dati fisici e così via, per ospitare le macchine virtuali di ogni tenant in un'infrastruttura separata.Dedicated Hosting Services Provider: The partner owns the physical infrastructure, but uses dedicated resources (multiple vCenters, physical datastores, and so on) to host each tenant’s VMs on a separate infrastructure. Il partner può fornire il ripristino di emergenza come servizio gestito oppure il tenant può essere proprietario di un'apposita soluzione self-service.The partner can provide disaster-recovery management as a managed service, or the tenant can own it as a self-service solution.

  • Provider di servizi gestiti: il cliente possiede l'infrastruttura fisica che ospita le macchine virtuali e il partner provvede ad abilitare e gestire il ripristino di emergenza.Managed Services Provider (MSP): The customer owns the physical infrastructure that hosts the VMs, and the partner provides disaster-recovery enablement and management.

Indicazioni per il multi-tenant di hosting condivisoShared-hosting multi-tenant guidance

Questa sezione approfondisce lo scenario di hosting condiviso.This section covers the shared-hosting scenario in detail. Gli altri due scenari sono subset dello scenario di hosting condiviso e si basano sugli stessi principi.The other two scenarios are subsets of the shared-hosting scenario, and they use the same principles. Le differenze vengono descritte alla fine delle indicazioni sull'hosting condiviso.The differences are described at the end of the shared-hosting guidance.

Il requisito di base in uno scenario multi-tenant consiste nell'isolare i diversi tenant.The basic requirement in a multi-tenant scenario is to isolate the various tenants. Un tenant non deve poter vedere ciò che viene ospitato in un altro tenant.One tenant should not be able to observe what another tenant has hosted. In un ambiente gestito dal partner, questo requisito non è importante come in un ambiente self-service, dove invece può essere fondamentale.In a partner-managed environment, this requirement is not as important as it is in a self-service environment, where it can be critical. Queste indicazioni presuppongono che sia necessario isolare i tenant.This guidance assumes that tenant isolation is required.

L'architettura è illustrata nella figura seguente:The architecture is presented in the following diagram:

Provider di servizi di hosting condiviso con un vCenterShared HSP with one vCenter
Scenario di hosting condiviso con un vCenterShared-hosting scenario with one vCenter

Come illustrato nel diagramma precedente, ogni cliente ha un server di gestione separato.As seen in the preceding diagram, each customer has a separate management server. Questa configurazione limita l'accesso dei tenant alle sole macchine virtuali specifiche dei tenant e implementa l'isolamento dei tenant stessi.This configuration limits tenant access to tenant-specific VMs and enables tenant isolation. Lo scenario di replica delle macchine virtuali VMware usa il server di configurazione per gestire gli account in modo da individuare le macchine virtuali e installare gli agenti.A VMware virtual-machine replication scenario uses the configuration server to manage accounts to discover VMs and install agents. Gli stessi principi valgono per gli ambienti multi-tenant, dove in aggiunta viene limitata l'individuazione delle macchine virtuali attraverso il controllo di accesso di vCenter.The same principles apply to multi-tenant environments, with the addition of restricting VM discovery through vCenter access control.

Il requisito di isolamento dei dati richiede che tutte le informazioni sensibili dell'infrastruttura, ad esempio le credenziali di accesso, non vengano rese note ai tenant.The data-isolation requirement necessitates that all sensitive infrastructure information (such as access credentials) remains undisclosed to tenants. Per questo motivo, è consigliabile che tutti i componenti del server di gestione rimangono sotto il controllo esclusivo del partner.For this reason, we recommend that all components of the management server remain under the exclusive control of the partner. I componenti del server di gestione sono i seguenti:The management server components are:

  • Server di configurazioneConfiguration server (CS)
  • Server di elaborazioneProcess server (PS)
  • Server di destinazione masterMaster target server (MT)

Il partner gestisce anche un server di elaborazione con scalabilità orizzontale.A scale-out PS is also under the partner's control.

Ogni server di configurazione nello scenario multi-tenant usa due accountEvery CS in the multi-tenant scenario uses two accounts

  • Account di accesso vCenter: usare questo account per individuare le macchine virtuali tenant.vCenter access account: Use this account to discover tenant VMs. Ha autorizzazioni di accesso vCenter assegnate, come descritto nella sezione successiva.It has vCenter access permissions assigned to it (as described in the next section). Per evitare la divulgazione accidentale delle credenziali di accesso, è consigliabile che i partner immettano personalmente queste credenziali nello strumento di configurazione.To help avoid accidental access leaks, we recommend that partners enter these credentials themselves in the configuration tool.

  • Account di accesso alla macchina virtuale: usare questo account per installare l'agente di mobilità nelle macchine virtuali tenant tramite push automatico.Virtual machine access account: Use this account to install the mobility agent on the tenant VMs through an automatic push. Si tratta in genere di un account di dominio che un tenant può fornire a un partner o che può essere gestito direttamente dal partner.It is usually a domain account that a tenant might provide to a partner, or one that the partner might manage directly. Se un tenant non intende condividere i dettagli direttamente con il partner, può essere autorizzato a immettere le credenziali tramite un accesso limitato nel tempo al CS oppure può installare manualmente gli agenti di mobilità con il supporto del partner.If a tenant doesn't want to share the details with the partner directly, they can be allowed to enter the credentials through limited-time access to the CS or, with the partner's assistance, install mobility agents manually.

Requisiti per l'account di accesso a vCenterRequirements for a vCenter access account

Come descritto nella sezione precedente, è necessario configurare il server di configurazione con un account a cui sia assegnato un ruolo speciale.As mentioned in the preceding section, you must configure the CS with an account that has a special role assigned to it. L'assegnazione del ruolo deve essere applicata all'account di accesso a vCenter per ogni oggetto vCenter e non deve essere propagata agli oggetti figlio.The role assignment must be applied to the vCenter access account for each vCenter object and not propagated to the child objects. Questa configurazione garantisce l'isolamento dei tenant, perché la propagazione dell'accesso può determinare l'accesso accidentale ad altri oggetti.This configuration ensures tenant isolation, because access propagation can result in accidental access to other objects.

Opzione Propagate to Child Objects (Propaga a oggetti figlio)

L'alternativa consiste nell'assegnare l'account e il ruolo dell'utente all'oggetto data center e quindi propagarli agli oggetti figlio.The alternative is to assign the user account and role at the datacenter object and propagate them to the child objects. Assegnare quindi all'account un ruolo Nessun accesso per ogni oggetto (ad esempio le macchine virtuali degli altri tenant) che deve essere inaccessibile a un tenant specifico.Then give the account a No access role for every object (such as other tenants’ VMs) that should be inaccessible to a particular tenant. Questa configurazione è complicata e al tempo stesso espone a controlli di accesso accidentali, perché a ogni nuovo oggetto figlio viene automaticamente concesso l'accesso ereditato dall'oggetto padre.This configuration is cumbersome, and it exposes accidental access controls, because every new child object is also automatically granted access that's inherited from the parent. È quindi consigliabile usare il primo approccio.Therefore, we recommend that you use the first approach.

La procedura di accesso all'account vCenter è la seguente:The vCenter account-access procedure is as follows:

  1. Creare un nuovo ruolo clonando il ruolo Read-only predefinito e assegnargli un nome appropriato, ad esempio Azure_Site_Recovery come in questo esempio.Create a new role by cloning the pre-defined Read-only role, and then give it a convenient name (such as Azure_Site_Recovery, as shown in this example).

  2. Assegnare al ruolo le autorizzazioni seguenti:Assign the following permissions to this role:

    • Datastore (Archivio dati): Allocate space (Alloca spazio), Browse datastore (Sfoglia archivio dati), Low level file operations (Operazioni file di livello basso), Remove file (Rimuovi file), Update virtual machine files (Aggiorna file macchina virtuale)Datastore: Allocate space, Browse datastore, Low-level file operations, Remove file, Update virtual machine files

    • Network (Rete): Network assign (Assegnazione rete)Network: Network assign

    • Resource (Risorsa): Assign VM to resource pool (Assegna macchina virtuale a pool di risorse), Migrate powered off VM (Esegui migrazione macchina virtuale spenta), Migrate powered on VM (Esegui migrazione macchina virtuale accesa)Resource: Assign VM to resource pool, Migrate powered off VM, Migrate powered on VM

    • Tasks (Attività): Create task (Crea attività), Update task (Aggiorna attività)Tasks: Create task, Update task

    • Virtual machine (Macchina virtuale):Virtual machine:

      • Configuration (Configurazione) > all (tutto)Configuration > all
      • Interaction (Interazione) > Answer question (Rispondi alla domanda), Device connection (Connessione dispositivo), Configure CD media (Configura supporto CD), Configure floppy media (Configura supporto floppy), Power off (Spegni), Power on (Accendi), VMware tools install (Installazione strumenti VMware)Interaction > Answer question, Device connection, Configure CD media, Configure floppy media, Power off, Power on, VMware tools install
      • Inventory (Inventario) > Create from existing (Crea da esistente), Create new (Crea nuovo), Register (Registra), Unregister (Annulla registrazione)Inventory > Create from existing, Create new, Register, Unregister
      • Provisioning > Allow virtual machine download (Consenti download macchina virtuale), Allow virtual machine files upload (Consenti upload file macchina virtuale)Provisioning > Allow virtual machine download, Allow virtual machine files upload
      • Snapshot management (Gestione snapshot) > Remove snapshots (Rimuovi snapshot)Snapshot management > Remove snapshots

      Finestra di dialogo Edit Role (Modifica ruolo)

  3. Assegnare i livelli di accesso all'account vCenter (usato nel server di configurazione del tenant) per diversi oggetti, come segue:Assign access levels to the vCenter account (used in the tenant CS) for various objects, as follows:

OggettoObject RuoloRole OsservazioniRemarks
vCentervCenter Read-OnlyRead-Only Necessario solo per consentire l'accesso a vCenter per la gestione di oggetti diversi.Needed only to allow vCenter access for managing different objects. Questa autorizzazione può essere rimossa se l'account non dovrà mai essere offerto a un tenant o usato per operazioni di gestione in vCenter.You can remove this permission if the account is never going to be provided to a tenant or used for any management operations on the vCenter.
Data centerDatacenter Azure_Site_RecoveryAzure_Site_Recovery
Host e cluster hostHost and host cluster Azure_Site_RecoveryAzure_Site_Recovery Assicura nuovamente che l'accesso sia a livello di oggetto, in modo che solo gli host accessibili abbiano VM tenant prima del failover e dopo il failback.Re-ensures that access is at the object level, so that only accessible hosts have tenant VMs before failover and after failback.
Archivio dati e cluster archivio datiDatastore and datastore cluster Azure_Site_RecoveryAzure_Site_Recovery Come sopra.Same as preceding.
ReteNetwork Azure_Site_RecoveryAzure_Site_Recovery
Server di gestioneManagement server Azure_Site_RecoveryAzure_Site_Recovery Include l'accesso a tutti i componenti, CS, PS e MT, al di fuori della macchina CS.Includes access to all components (CS, PS, and MT) outside the CS machine.
Macchine virtuali tenantTenant VMs Azure_Site_RecoveryAzure_Site_Recovery Assicura che anche le eventuali nuove macchine virtuali tenant di un particolare tenant abbiano questo accesso, altrimenti non potranno essere rilevate attraverso il Portale di Azure.Ensures that any new tenant VMs of a particular tenant also get this access, or they will not be discoverable through the Azure portal.

L'accesso all'account vCenter è ora completato.The vCenter account access is now complete. Questo passaggio soddisfa i requisiti minimi di autorizzazione per completare le operazioni di failback.This step fulfills the minimum permissions requirement to complete failback operations. Queste autorizzazioni di accesso possono essere usate anche con i criteri esistenti.You can also use these access permissions with your existing policies. È sufficiente modificare il set di autorizzazioni esistente in modo che includa le autorizzazioni del ruolo descritte nel passaggio 2 precedente.Just modify your existing permissions set to include role permissions from step 2, detailed previously.

Per limitare le operazioni di ripristino di emergenza fino allo stato di failover, ovvero senza le funzionalità di failback, seguire la procedura descritta sopra con un'eccezione: invece di assegnare il ruolo Azure_Site_Recovery all'account di accesso a vCenter, assegnare solo il ruolo Read-Only.To restrict disaster-recovery operations until the failover state (that is, without failback capabilities), follow the preceding procedure, with an exception: instead of assigning the Azure_Site_Recovery role to the vCenter access account, assign only a Read-Only role to that account. Questo set di autorizzazioni consente il failover e la replica delle macchine virtuali e non consente il failback.This permission set allows VM replication and failover, and it does not allow failback. Tutte le altre fasi del processo precedente restano invariate.Everything else in the preceding process remains as is. Ogni autorizzazione continua a essere assegnata solo a livello di oggetto e non viene propagata agli oggetti figlio per assicurare l'isolamento del tenant e limitare il rilevamento di macchine virtuali.To ensure tenant isolation and restrict VM discovery, every permission is still assigned at the object level only and not propagated to child objects.

Altri ambienti multi-tenantOther multi-tenant environments

La sezione precedente descrive come configurare un ambiente multi-tenant per una soluzione di hosting condiviso.The preceding section described how to set up a multi-tenant environment for a shared hosting solution. Le altre due soluzioni principali sono il servizio di hosting dedicato e il servizio gestito.The other two major solutions are dedicated hosting and managed service. L'architettura di queste soluzioni è illustrata nelle sezioni seguenti.The architecture for these solutions is described in the following sections.

Soluzione di hosting dedicatoDedicated hosting solution

Come illustrato nel diagramma seguente, la differenza in termini di architettura in una soluzione di hosting dedicato è che l'infrastruttura di ogni tenant viene configurata solo per quel tenant.As shown in the following diagram, the architectural difference in a dedicated hosting solution is that each tenant’s infrastructure is set up for that tenant only. Poiché i tenant sono isolati tramite vCenter separati, il provider di hosting deve comunque seguire la procedura CSP descritta per l'hosting condiviso, senza tuttavia preoccuparsi dell'isolamento del tenant.Because tenants are isolated through separate vCenters, the hosting provider must still follow the CSP steps provided for shared hosting but does not need to worry about tenant isolation. La configurazione CSP resta invariata.CSP setup remains unchanged.

architecture-shared-hsparchitecture-shared-hsp
Scenario di hosting dedicato con più vCenterDedicated hosting scenario with multiple vCenters

Soluzione di servizi gestitiManaged service solution

Come illustrato nel diagramma seguente, la differenza in termini di architettura in una soluzione di servizi gestiti è che l'infrastruttura di ogni tenant è separata anche fisicamente dall'infrastruttura degli altri tenant.As shown in the following diagram, the architectural difference in a managed service solution is that each tenant’s infrastructure is also physically separate from other tenants' infrastructure. Questo scenario si verifica in genere quando il tenant è proprietario dell'infrastruttura e vuole che un provider di soluzioni gestisca il ripristino di emergenza.This scenario usually exists when the tenant owns the infrastructure and wants a solution provider to manage disaster recovery. Anche in questo caso, essendo i tenant isolati fisicamente tramite infrastrutture diverse, il partner deve seguire la procedura CSP descritta per l'hosting condiviso, senza tuttavia preoccuparsi dell'isolamento del tenant.Again, because tenants are physically isolated through different infrastructures, the partner needs to follow the CSP steps provided for shared hosting but does not need to worry about tenant isolation. Il provisioning CSP resta invariato.CSP provisioning remains unchanged.

architecture-shared-hsparchitecture-shared-hsp
Scenario di servizi gestiti con più vCenterManaged service scenario with multiple vCenters

Passaggi successiviNext steps

Altre informazioni sul controllo degli accessi in base al ruolo per gestire le distribuzioni di Azure Site Recovery.Learn more about role-based access control to manage Azure Site Recovery deployments.

Gestire multi-tenancy con CSPManage multi-tenancy with CSP