Riferimento per ruoli e autorizzazioni

Questo documento contiene un riferimento per i diversi ruoli e autorizzazioni richiesti da Migrate to Virtual Machines. In Google Cloud, i ruoli e le autorizzazioni sono generalmente associati a un account di servizio o a un account utente.

Le seguenti sezioni descrivono i ruoli e le autorizzazioni organizzati dai componenti principali di Migrate to Virtual Machines:

Inoltre, Cloud Identity and Access Management (IAM) include due ruoli predefiniti che puoi utilizzare per controllare l'accesso degli utenti della tua organizzazione.

Ruolo Titolo Descrizione
roles/vmmigration.admin Amministratore di VM Migration Consente agli utenti di creare nuove origini Migrate to Virtual Machines ed eseguire tutte le altre operazioni di migrazione.
roles/vmmigration.viewer Visualizzatore VM Migration Consente agli utenti di recuperare informazioni su Migrate to Virtual Machines nella console Google Cloud. Destinato agli utenti che monitorano le migrazioni, ma non le eseguono.

Ad esempio, se vuoi consentire a un utente della tua organizzazione di visualizzare le informazioni su una migrazione, ma non di eseguirne una, assegnagli il ruolo roles/vmmigration.viewer.

Account utente della console Google Cloud

Un progetto target Migrate to Virtual Machines definisce il progetto di destinazione per un'istanza Compute Engine che esegue la VM migrata. Il progetto host Migrate to Virtual Machines può essere utilizzato come progetto di destinazione. Se vuoi eseguire la migrazione delle VM in altri progetti, devi aggiungerle come progetti target per Migrate to Virtual Machines.

Affinché un utente possa aggiungere un progetto di destinazione e per configurare i dettagli dell'istanza di Compute Engine nel progetto di destinazione, deve disporre dei ruoli e delle autorizzazioni Identity and Access Management (IAM) necessari.

Poiché esegui queste azioni nella console Google Cloud, l'account utente che richiede queste autorizzazioni è quello che utilizzi per accedere alla console Google Cloud:

  • Per aggiungere un progetto di destinazione a Migrate to Virtual Machines, l'account utente che utilizzi per accedere alla console Google Cloud richiede le autorizzazioni descritte in Autorizzazioni per aggiungere un progetto di destinazione.

  • Per configurare i dettagli della destinazione dell'istanza Compute Engine in esecuzione nel progetto di destinazione, l'account utente utilizzato per accedere alla console Google Cloud richiede le autorizzazioni per accedere ai dati nel progetto di destinazione, ad esempio reti, tipi di istanza e altro ancora. Vedi Autorizzazioni per configurare un'istanza di destinazione.

A seconda di come configuri IAM per il tuo ambiente, potresti configurare un singolo utente per eseguire entrambe le azioni o configurare due utenti separati.

Autorizzazioni per aggiungere un progetto di destinazione

Per aggiungere un progetto di destinazione, l'account utente che utilizzi per accedere alla console Google Cloud richiede:

  • Il ruolo vmmigration.admin nel progetto host
  • Il ruolo resourcemanager.projectIamAdmin nel progetto target

Per istruzioni su come impostare queste autorizzazioni, consulta Configurazione delle autorizzazioni sull'account di servizio predefinito del progetto host.

Autorizzazioni per configurare i dettagli della destinazione per un'istanza Compute Engine

Per configurare i dettagli della destinazione dell'istanza Compute Engine nel progetto di destinazione, l'account utente che utilizzi per accedere alla console Google Cloud richiede:

  • Il ruolo roles/compute.viewer nel progetto target

Per istruzioni su come impostare queste autorizzazioni, consulta Configurazione delle autorizzazioni sull'account di servizio predefinito del progetto host.

Account di servizio predefinito Migrate to Virtual Machines

Quando abiliti l'API Migrate to Virtual Machines, quando abiliti l'API Migrate to Virtual Machines, viene creato un account di servizio predefinito nel progetto host e viene assegnato il ruolo vmmigration.serviceAgent. Migrate to Virtual Machines utilizza questo account di servizio per creare l'istanza di Compute Engine nel progetto di destinazione come parte del clone di test e della migrazione completa.

A seconda dell'ambiente, potrebbe essere necessario modificare le autorizzazioni dell'account di servizio predefinito.

Autorizzazioni quando si utilizza un VPC condiviso nel progetto di destinazione

Per eseguire il deployment di un'istanza Compute Engine in un progetto di destinazione che accede a un VPC condiviso, devi aggiungere il ruolo compute.networkUser all'account di servizio predefinito Migrate to Virtual Machines per consentire l'accesso alle subnet nel progetto host del VPC condiviso.

Consulta Configurazione delle autorizzazioni per un VPC condiviso per istruzioni sull'impostazione di queste autorizzazioni.

Account di servizio del progetto di destinazione

Per impostazione predefinita, quando esegui il deployment della VM migrata in un'istanza Compute Engine di destinazione, all'istanza non viene assegnato alcun account di servizio.

Se l'istanza di Compute Engine richiede l'accesso ai servizi e alle API Google Cloud, crea un account di servizio nel progetto di destinazione con le autorizzazioni necessarie per accedere a quei servizi e API. Poi, collega l'account di servizio all'istanza Compute Engine durante la configurazione dei dettagli della destinazione.

Tuttavia, per collegare l'account di servizio di destinazione all'istanza Compute Engine, l'account di servizio predefinito Migrate to Virtual Machines richiede le autorizzazioni necessarie, come descritto in Configurare le autorizzazioni sull'account di servizio del progetto di destinazione.

Autorizzazioni per configurare AWS come origine

In questa sezione vengono specificati i campi del modello JSON di autorizzazioni. Per i dettagli su come implementare le autorizzazioni di migrazione, consulta la sezione Creare un criterio AWS IAM.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeVolumes",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeSnapshots",
                "ec2:CreateTags",
                "ec2:CreateSnapshots",
                "ec2:StopInstances"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ebs:ListSnapshotBlocks",
                "ebs:ListChangedBlocks",
                "ebs:GetSnapshotBlock",
                "ec2:DeleteSnapshot",
                "ec2:DeleteTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/m2vm-resource": "snapshot"
                }
            }
        }
    ]
}

Per visualizzare l'inventario delle istanze candidate alla migrazione, concedi le autorizzazioni Migrate to Virtual Machines per ec2:DescribeInstances, ec2:DescribeVolumes ed ec2:DescribeInstanceTypes.

Migrate to Virtual Machines richiede le seguenti autorizzazioni per eseguire la migrazione dei volumi EC2 da AWS a Google Cloud:

  1. Per creare uno snapshot dei volumi, concedi le autorizzazioni per ec2:DescribeSnapshots, ec2:CreateSnapshots ed ec2:CreateTag.
  2. Per copiare i dati in Google Cloud, concedi le autorizzazioni per ebs:ListSnapshotBlocks, ebs:ListChangedBlocks ed ebs:GetSnapshotBlock.
  3. Per eliminare gli snapshot precedenti, concedi le autorizzazioni per ec2:DeleteSnapshot ed ec2:DeleteTag.

Per eseguire un cutover, concedi le autorizzazioni di Migrate to Virtual Machines per ec2:StopInstances.

Autorizzazioni per configurare Azure come origine

In questa sezione vengono descritti i campi del modello JSON delle autorizzazioni. Per maggiori dettagli su come implementare le autorizzazioni di migrazione, consulta la sezione Creare un ruolo personalizzato.

Le autorizzazioni seguenti sono necessarie per creare un gruppo di risorse associato all'origine, verificare che esista, elencare le risorse che contiene ed eliminarlo quando l'origine viene eliminata:

"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/delete"

Per ottenere l'elenco dell'inventario e i dettagli delle VM di cui viene eseguita la migrazione è necessaria la seguente autorizzazione:

"Microsoft.Compute/virtualMachines/read"

Per distribuire una VM quando viene eseguita la migrazione a una VM Google Cloud, è necessaria la seguente autorizzazione:

"Microsoft.Compute/virtualMachines/deallocate/action"

Per creare, elencare ed eliminare gli snapshot/ripristinare i punti della VM in fase di migrazione sono necessarie le seguenti autorizzazioni:

"Microsoft.Compute/restorePointCollections/read",
"Microsoft.Compute/restorePointCollections/write",
"Microsoft.Compute/restorePointCollections/delete",
"Microsoft.Compute/restorePointCollections/restorePoints/read",
"Microsoft.Compute/restorePointCollections/restorePoints/write",
"Microsoft.Compute/restorePointCollections/restorePoints/delete",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/read"

Per leggere i dati di snapshot e / o ripristino dei punti sono necessarie le seguenti autorizzazioni:

"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/read",
"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/beginGetAccess/action",
"Microsoft.Compute/restorePointCollections/restorePoints/diskRestorePoints/endGetAccess/action",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action"