Dokumen ini berisi referensi untuk berbagai peran dan izin yang diperlukan oleh Migrate to Virtual Machines. Di Google Cloud, peran dan izin biasanya dikaitkan dengan akun layanan atau akun pengguna.
Bagian berikut menjelaskan peran dan izin ini yang diatur oleh komponen utama Migrasi ke Virtual Machine:
- Akun pengguna konsol Google Cloud
- Migrate to Virtual Machines default service account
- Akun layanan project target
Selain itu, Identity and Access Management (IAM) Cloud menyertakan dua peran standar yang dapat Anda gunakan 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 Migrasi ke Virtual Machine di konsol Google Cloud. Diperuntukkan bagi pengguna yang memantau migrasi, tetapi tidak melakukannya. |
Misalnya, jika Anda ingin mengizinkan pengguna di organisasi untuk dapat melihat
informasi tentang migrasi, tetapi tidak dapat melakukan migrasi, tetapkan
peran roles/vmmigration.viewer
kepada mereka.
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 ke Migrate to Virtual Machines.
Agar pengguna dapat menambahkan project target, dan mengonfigurasi detail instance Compute Engine di 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 Migrasi ke Virtual Machine, 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 konsol Google Cloud memerlukan izin untuk mengakses data di project target, seperti jaringan, jenis instance, dan lainnya. Lihat Izin untuk mengonfigurasi instance target.
Bergantung pada cara Anda mengonfigurasi IAM untuk lingkungan, Anda dapat mengonfigurasi satu pengguna untuk melakukan kedua tindakan, 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
pada project host Peran
resourcemanager.projectIamAdmin
pada project target
Lihat Mengonfigurasi izin di akun layanan default project host untuk mengetahui petunjuk tentang cara menetapkan izin ini.
Izin untuk mengonfigurasi detail target untuk instance Compute Engine
Untuk mengonfigurasi detail target instance Compute Engine di project target, akun pengguna yang Anda gunakan untuk login di konsol Google Cloud memerlukan:
Peran
roles/compute.viewer
pada project target
Lihat Mengonfigurasi izin di akun layanan default project host untuk mengetahui 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 akun layanan tersebut. Migrate to Virtual Machines menggunakan akun layanan ini untuk membuat instance Compute Engine di project target sebagai bagian dari pengujian clone dan peralihan.
Bergantung pada lingkungan Anda, Anda mungkin harus mengedit izin di akun layanan default.
Izin saat menggunakan VPC Bersama di 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 Migrasi ke Virtual Machine agar dapat mengakses subnet di 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 mengonfigurasi detail target.
Namun, untuk melampirkan akun layanan target ke instance Compute Engine, akun layanan default Migrasi ke Virtual Machine memerlukan izin yang diperlukan, seperti yang dijelaskan dalam Mengonfigurasi izin di akun layanan project target.
Izin untuk mengonfigurasi AWS sebagai sumber
Bagian ini menjelaskan kolom template JSON izin. Untuk mengetahui detail tentang cara menerapkan izin migrasi, tinjau 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"
}
}
}
]
}
Untuk menampilkan inventaris instance kandidat migrasi, berikan izin Migrate to Virtual Machines untuk ec2:DescribeInstances, ec2:DescribeVolumes, dan ec2:DescribeInstanceTypes.
Migrate to Virtual Machines memerlukan izin berikut untuk memigrasikan volume EC2 dari AWS ke Google Cloud:
- Untuk membuat snapshot volume, berikan izin untuk ec2:DescribeSnapshots, ec2:CreateSnapshots, dan ec2:CreateTags.
- Untuk menyalin data ke Google Cloud , berikan izin untuk ebs:ListSnapshotBlocks, ebs:ListChangedBlocks, dan ebs:GetSnapshotBlock.
- Untuk menghapus snapshot lama, berikan izin untuk ec2:DeleteSnapshot dan ec2:DeleteTags.
Untuk melakukan pengalihan, berikan 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 kustom.
Izin berikut diperlukan untuk membuat grup resource yang terkait dengan sumber, memverifikasi bahwa grup tersebut ada, mencantumkan resource yang dikandungnya, dan menghapusnya saat 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 mengalokasikan ulang VM saat dipotong ke VM Google Cloud :
"Microsoft.Compute/virtualMachines/deallocate/action"
Izin berikut diperlukan untuk membuat, mencantumkan, dan menghapus snapshot/titik pemulihan 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 / titik pemulihan:
"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"