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:
- Akun pengguna konsol Google Cloud
- Bermigrasi ke akun layanan default Mesin Virtual
- Akun layanan project target
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:
- Untuk membuat snapshot volume, berikan izin untuk ec2:DescriptionSnapshots, ec2:CreateSnapshots, dan ec2:CreateTags.
- Untuk menyalin data ke Google Cloud, berikan izin bagi ebs:ListSnapshotBlocks, ebs:ListChangedBlocks, dan ebs:GetSnapshotBlock.
- 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"