Referensi peran dan izin

Dokumen ini berisi referensi untuk berbagai peran dan izin yang diperlukan oleh Migrate to Virtual Machines. Di Google Cloud, peran dan izin biasanya terkait dengan akun layanan atau akun pengguna.

Bagian berikut ini menjelaskan peran dan izin ini yang diatur oleh komponen utama Migrate to Virtual Machines:

Selain itu, Identity and Access Management (IAM) Cloud mencakup dua peran bawaan yang dapat digunakan untuk mengontrol akses bagi pengguna di organisasi Anda.

Peran Judul Deskripsi
roles/vmmigration.admin VM Migration Administrator Mengizinkan pengguna membuat sumber Migrate to Virtual Machines baru dan melakukan semua operasi migrasi lainnya.
roles/vmmigration.viewer VM Migration Viewer Memungkinkan pengguna mengambil informasi tentang Migrate to Virtual Machines di Konsol Google Cloud. Ditujukan bagi pengguna yang memantau migrasi, tetapi tidak melakukannya.

Misalnya, jika Anda ingin mengizinkan pengguna di organisasi Anda dapat melihat informasi tentang migrasi, tetapi tidak dapat melakukan migrasi, tetapkan peran roles/vmmigration.viewer kepadanya.

Akun pengguna Konsol Google Cloud

Project target Migrate to Virtual Machines menentukan project tujuan untuk instance Compute Engine yang menjalankan VM yang dimigrasikan. Project host Migrate to Virtual Machines dapat digunakan sebagai project target. Jika ingin memigrasikan VM ke project tambahan, Anda harus menambahkannya sebagai project target agar dapat melakukan Migrasi ke Mesin Virtual.

Agar dapat menambahkan project target, dan mengonfigurasi detail instance Compute Engine pada project target, pengguna tersebut memerlukan peran dan izin Identity and Access Management (IAM) yang diperlukan.

Karena Anda melakukan tindakan ini di Konsol Google Cloud, akun pengguna yang memerlukan izin ini adalah akun yang Anda gunakan untuk login ke Konsol Google Cloud:

  • Untuk menambahkan project target ke Migrate to Virtual Machines, akun pengguna yang Anda gunakan untuk login ke Konsol Google Cloud memerlukan izin yang dijelaskan dalam Izin untuk menambahkan project target.

  • Untuk mengonfigurasi detail target instance Compute Engine yang berjalan di project target, akun pengguna yang Anda gunakan untuk login ke Google Cloud Console memerlukan izin untuk mengakses data dalam project target, seperti jaringan, jenis instance, dan lainnya. Lihat Izin untuk mengonfigurasi instance target.

Bergantung pada cara mengonfigurasi IAM untuk lingkungan, Anda dapat mengonfigurasi satu pengguna untuk melakukan kedua tindakan tersebut, atau mengonfigurasi dua pengguna terpisah.

Izin untuk menambahkan project target

Untuk menambahkan project target, akun pengguna yang Anda gunakan untuk login ke Konsol Google Cloud memerlukan:

  • Peran vmmigration.admin di project host
  • Peran resourcemanager.projectIamAdmin di project target

Lihat Mengonfigurasi izin pada akun layanan default project host untuk mendapatkan petunjuk tentang cara menetapkan izin ini.

Izin guna mengonfigurasi detail target untuk instance Compute Engine

Untuk mengonfigurasi detail target instance Compute Engine pada project target, akun pengguna yang Anda gunakan untuk login ke Google Cloud Console memerlukan:

  • Peran roles/compute.viewer di project target

Lihat Mengonfigurasi izin pada akun layanan default project host untuk mendapatkan petunjuk tentang cara menetapkan izin ini.

Akun layanan default Migrate to Virtual Machines

Migrate to Virtual Machines membuat akun layanan default di project host saat Anda mengaktifkan Migrate to Virtual Machines API, dan menetapkan peran vmmigration.serviceAgent ke project tersebut. Migrate to Virtual Machines menggunakan akun layanan ini untuk membuat instance Compute Engine pada project target sebagai bagian dari clone pengujian dan penghentian.

Bergantung pada lingkungannya, Anda mungkin harus mengedit izin pada akun layanan default.

Izin saat menggunakan VPC Bersama pada project target

Untuk men-deploy instance Compute Engine ke project target yang mengakses VPC Bersama, Anda harus menambahkan peran compute.networkUser ke akun layanan default Migrate to Virtual Machines untuk mengizinkannya mengakses subnetwork dalam project host VPC Bersama.

Lihat Mengonfigurasi izin untuk VPC Bersama untuk mendapatkan petunjuk tentang cara menetapkan izin ini.

Akun layanan project target

Secara default, saat Anda men-deploy VM yang dimigrasikan ke instance Compute Engine target, tidak ada akun layanan yang ditetapkan ke instance tersebut.

Jika instance Compute Engine memerlukan akses ke layanan dan API Google Cloud, buat akun layanan di project target dengan izin yang diperlukan untuk mengakses layanan dan API tersebut. Kemudian, lampirkan akun layanan ke instance Compute Engine sebagai bagian dari konfigurasi detail target.

Namun, untuk menambahkan akun layanan target ke instance Compute Engine, akun layanan default Migrate to Virtual Machines memerlukan izin yang diperlukan, seperti yang dijelaskan dalam Mengonfigurasi izin pada akun layanan project target.

Izin untuk mengonfigurasi AWS sebagai sumber

Bagian ini menjelaskan kolom template JSON izin. Untuk mengetahui detail cara menerapkan izin migrasi, baca bagian Membuat kebijakan IAM AWS.

{
    "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"
                }
            }
        }
    ]
}

Guna menampilkan inventaris instance kandidat migrasi, berikan izin Migrate to Virtual Machines untuk ec2:DeskripsiInstances, ec2:ExplainVolumes dan ec2:DescriptionInstanceTypes.

Migrate to Virtual Machines memerlukan izin berikut untuk memigrasikan volume EC2 dari AWS ke Google Cloud:

  1. Untuk membuat snapshot volume, berikan izin untuk ec2:DescriptionSnapshots, ec2:CreateSnapshots, dan ec2:CreateTags.
  2. Untuk menyalin data ke Google Cloud, berikan izin bagi ebs:ListSnapshotBlocks, ebs:ListChangedBlocks, dan ebs:GetSnapshotBlock.
  3. Untuk menghapus snapshot lama, berikan izin untuk ec2:DeleteSnapshot dan ec2:DeleteTags.

Untuk melakukan penghentian pemberian izin Migrate to Virtual Machines untuk ec2:StopInstances.

Izin untuk mengonfigurasi Azure sebagai sumber

Bagian ini menjelaskan kolom template JSON izin. Untuk mengetahui detail cara menerapkan izin migrasi, tinjau bagian Membuat peran khusus.

Izin berikut diperlukan untuk membuat grup resource yang terkait dengan sumber, memverifikasi bahwa resource ada, mencantumkan resource yang ada di dalamnya, dan menghapusnya jika sumber dihapus:

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

Izin berikut diperlukan untuk mendapatkan daftar inventaris dan mendapatkan detail VM yang sedang dimigrasikan:

"Microsoft.Compute/virtualMachines/read"

Izin berikut diperlukan untuk membatalkan alokasi VM saat VM tersebut dipotong menjadi VM Google Cloud:

"Microsoft.Compute/virtualMachines/deallocate/action"

Izin berikut diperlukan untuk membuat, mencantumkan, dan menghapus snapshot/memulihkan titik VM yang dimigrasikan:

"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"

Izin berikut diperlukan untuk membaca data snapshot / recovery point:

"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"