Menangani kasus khusus

Dokumen ini memberikan informasi tentang cara menangani kasus khusus saat memigrasikan project. Saat memigrasikan project, pastikan Anda memiliki izin IAM yang diperlukan yang diberikan pada project, resource induknya, dan resource tujuan.

Memigrasikan project yang tidak terkait dengan resource organisasi

Anda dapat memigrasikan project yang tidak terkait dengan resource organisasi ke resource organisasi. Namun, Anda tidak dapat mengubahnya kembali ke Tidak ada organisasi menggunakan proses ini. Jika Anda memiliki project yang dikaitkan dengan resource organisasi dan ingin mengembalikannya ke Tidak ada organisasi, hubungi perwakilan Dukungan untuk mendapatkan bantuan.

Anda harus memiliki peran roles/resourcemanager.projectCreator yang ditetapkan di resource organisasi tujuan.

Jika Anda tidak memiliki izin resourcemanager.organizations.get di resource organisasi induk project, kemungkinan project Anda tidak ditampilkan seperti yang diharapkan di bawah organisasi sebenarnya di konsolGoogle Cloud . Hal ini dapat membuat project tampak tidak terkait dengan resource organisasi apa pun. Untuk mengetahui informasi selengkapnya, lihat Membatasi visibilitas project untuk pengguna.

Untuk menentukan apakah project terkait dengan resource organisasi, lakukan hal berikut:

gcloud

Jalankan perintah berikut:

gcloud projects describe PROJECT_ID

Ganti PROJECT_ID dengan ID project yang ingin Anda migrasikan.

Jika resource induk tidak ditampilkan dalam output, hal ini mengonfirmasi bahwa project tidak terkait dengan resource organisasi.

Jika resource induk (resource folder atau organisasi) ditampilkan dalam output, hal ini mengonfirmasi bahwa project dikaitkan dengan resource organisasi.

Proses migrasi project yang tidak terkait dengan resource organisasi mirip dengan proses migrasi project di antara resource organisasi, tetapi tidak memerlukan semua langkah yang terlibat dalam rencana migrasi. Untuk memigrasikan project ke resource organisasi, Anda harus mengikuti langkah-langkah berikut:

  1. Verifikasi dampak pada project ini dari kebijakan yang akan diwarisi.

  2. Buat folder impor khusus di resource organisasi tujuan, jika diinginkan.

  3. Tetapkan izin Identity and Access Management untuk resource project dan induk tujuan seperti yang dijelaskan dalam Menetapkan izin.

  4. Tentukan apakah Anda perlu mengubah akun penagihan.

Kemudian, Anda dapat melakukan migrasi.

Konsol

Untuk memigrasikan project ke resource organisasi:

  1. Buka halaman IAM & admin > Settings di konsol Google Cloud .

    Buka halaman Setelan

  2. Pilih Project picker di bagian atas halaman.

  3. Dari Pemilih organisasi, pilih Tidak ada Organisasi. Jika Anda tidak dikaitkan dengan resource organisasi apa pun, pemilih Organisasi tidak akan muncul, dan Anda dapat melewati langkah ini.

  4. Pilih project yang ingin Anda migrasikan.

    Screenshot pemilih project

  5. Di bagian atas halaman, klik Migrasi.

  6. Pada menu drop-down Organization, pilih resource organisasi tempat Anda ingin memigrasikan project.

gcloud

Untuk memigrasikan project ke resource organisasi, jalankan perintah berikut:

gcloud beta projects move PROJECT_ID \
    --organization ORGANIZATION_ID

Dengan keterangan:

  • PROJECT_ID adalah ID project yang ingin Anda migrasikan ke resource organisasi.
  • ORGANIZATION_ID adalah ID resource organisasi tempat Anda ingin memigrasikan project.

API

Dengan menggunakan Resource Manager API, Anda dapat memigrasikan project ke resource organisasi dengan menetapkan kolom parent-nya ke ID resource organisasi dari resource organisasi.

Untuk memigrasikan project ke resource organisasi:

  • Dapatkan objek project menggunakan metode projects.get().
  • Tetapkan kolom parent ke ID resource organisasi dari resource organisasi.
  • Perbarui objek project menggunakan metode projects.update().

Anda tidak dapat mengubah kolom parent setelah menetapkannya.

Cuplikan kode berikut menunjukkan langkah-langkah di atas:

    project = crm.projects().get(projectId=flags.projectId).execute()
    project['parent'] = {
        'type': 'organization',
        'id': flags.organizationId
    }

Jika Login OS diaktifkan di project sumber, Anda harus menetapkan peran roles/compute.osLoginExternalUser kepada akun utama yang memiliki akses ke project tersebut.

VPC Bersama

Project VPC Bersama dapat dimigrasikan dengan mengikuti kondisi tertentu. Pertama, pengguna dengan peran roles/orgpolicy.policyAdmin di resource organisasi sumber harus menetapkan kebijakan organisasi yang berisi batasan constraints/resourcemanager.allowEnabledServicesForExport pada induk project yang akan diekspor. Batasan ini harus mencantumkan SHARED_VPC sebagai allowed_value.

Anda tidak perlu menonaktifkan VPC Bersama sebelum migrasi. Namun, project host VPC Bersama harus dimigrasikan terlebih dahulu, diikuti dengan semua project layanannya. Sebaiknya Anda mencocokkan aturan firewall antara resource organisasi di lokasi sumber dan target, yang akan meminimalkan potensi masalah dan menghindari downtime untuk project dan jaringan selama migrasi. Kami tidak menawarkan jaminan tentang kesehatan jaringan Anda jika Anda membiarkan beberapa project layanan di resource organisasi sumber tanpa batas waktu saat memigrasikan project lainnya.

Jika memigrasikan project host, Anda dapat memindahkannya kembali ke resource organisasi sumber. Tidak ada batas waktu pasti berapa lama project host dan project layanan dapat berada di organisasi yang berbeda. Namun, saat mulai memigrasikan project layanan, Anda harus memigrasikannya semua sebelum dapat memigrasikan project host lagi.

Peran Identity and Access Management kustom

Peran Identity and Access Management kustom dapat dibuat di tingkat resource organisasi untuk memberikan kontrol terperinci atas akses ke resource, tetapi hanya valid di resource organisasi tempat peran tersebut dibuat. Jika Anda mencoba memigrasikan project yang berisi binding kebijakan IAM pengguna ke peran IAM kustom tingkat resource organisasi, migrasi akan gagal dengan error prasyarat yang gagal, yang menjelaskan bahwa peran yang dimaksud tidak ada di resource organisasi tujuan.

Untuk mencantumkan semua peran IAM kustom di tingkat resource organisasi, jalankan perintah Google Cloud CLI berikut:

gcloud iam roles list --organization ORGANIZATION_ID

Dengan ORGANIZATION_ID adalah ID resource organisasi yang ingin Anda cantumkan peran. Untuk mengetahui informasi tentang cara menemukan ID resource organisasi, lihat Membuat dan mengelola resource organisasi.

Untuk mendapatkan informasi tentang peran Identity and Access Management kustom di resource organisasi Anda, jalankan perintah Google Cloud CLI berikut:

gcloud iam roles describe --organization ORGANIZATION_ID \
    ROLE_ID

Dengan keterangan:

  • ORGANIZATION_ID adalah ID resource organisasi dari resource organisasi induk peran.

  • ROLE_ID adalah nama peran yang ingin Anda deskripsikan.

Untuk mengatasi error prasyarat yang gagal, Anda harus membuat peran khusus level project yang setara untuk setiap peran khusus level organisasi yang diwarisi project. Kemudian, hapus binding peran IAM yang mereferensikan peran khusus tingkat organisasi.

Setelah project dimigrasikan, Anda dapat memperbarui kebijakan IAM untuk menggunakan peran kustom level organisasi di resource organisasi tujuan.

Untuk informasi selengkapnya tentang peran khusus, lihat Membuat dan mengelola peran khusus.

Kunci Bucket

Kunci Bucket Cloud Storage memungkinkan Anda mengonfigurasi kebijakan retensi data di bucket Cloud Storage yang mengatur berapa lama objek dalam bucket harus dipertahankan. Kunci bucket dilindungi menggunakan lien untuk mencegah penghapusan project secara tidak sengaja.

Kebijakan retensi dan lien disimpan bersama project selama migrasi, tetapi Anda harus mengetahui jika Anda memigrasikan project dengan kunci bucket yang diterapkan, dan mencegah pemindahan yang tidak disengaja.

Perimeter keamanan Kontrol Layanan VPC

Kontrol Layanan VPC memungkinkan pengguna menyiapkan perimeter keamanan berbasis project di sekitar layanan Google Cloud mereka untuk memitigasi risiko pemindahan data yang tidak sah. Anda tidak dapat memigrasikan project yang dilindungi oleh perimeter keamanan Kontrol Layanan VPC.

Untuk menghapus project dari perimeter keamanan, lihat Mengelola perimeter layanan. Project dalam perimeter Kontrol Layanan VPC tidak boleh diblokir agar tidak dimigrasikan di antara resource organisasi. Pedoman ini berlaku hingga satu hari setelah perimeter dibuat atau diperbarui. Mungkin perlu waktu beberapa jam agar Anda dapat memigrasikan project setelah project tersebut dihapus dari perimeter layanan.

Dedicated Interconnect

Sebaiknya migrasikan project dengan objek Dedicated Interconnect dan project dengan lampiran VLAN secara bersamaan. Project dengan objek Dedicated Interconnect atau lampiran VLAN yang terhubung ke objek ini akan terus berfungsi setelah migrasi antar-resource organisasi. Satu-satunya batasan adalah Anda tidak akan dapat membuat lampiran VLAN baru di antara pemisahan resource organisasi.

Perubahan konfigurasi yang dilakukan pada project di satu resource organisasi yang memiliki objek Dedicated Interconnect yang terpasang atau lampiran VLAN ke objek ini mungkin tidak diterapkan ke resource organisasi lainnya. Sebaiknya jangan biarkan project tersebut terpisah di antara resource organisasi selama mungkin jika memungkinkan.

Partner Interconnect

Tidak ada pertimbangan khusus yang diperlukan saat memigrasikan project dengan Partner Interconnect.

Akun layanan lintas project

Dalam konteks memigrasikan akun layanan lintas project, kasus berikut berlaku:

  • Jika Anda memigrasikan project yang memiliki akun layanan lintas project yang terpasang, akun layanan tersebut akan terus berfungsi di resource organisasi tujuan. Project tersebut akan terus berfungsi dengan akun layanan yang terlampir meskipun ada kebijakan organisasi yang membatasi domain project tersebut.
  • Jika Anda memigrasikan project yang memiliki akun layanan lintas project yang dilampirkan ke project lain di resource organisasi sumber, akun layanan tersebut akan terus berfungsi di resource organisasi tujuan. Namun, Anda tidak akan dapat menggunakan akun layanan tersebut di resource apa pun yang memiliki kebijakan organisasi batasan domain yang diterapkan, yang membatasinya ke domain resource organisasi sumber.

Misalnya, anggap Anda memiliki project-A, di organizations/12345678901. Project ini memiliki serviceAccount-1 yang dilampirkan, yang disiapkan sebagai akun layanan lintas project. project-B dan project-C, juga di organizations/12345678901, juga menggunakan serviceAccount-1.

Anda telah menerapkan kebijakan organisasi dengan batasan pembatasan domain ke project-C, yang hanya mengizinkannya mengakses domain organizations/12345678901.

Jika Anda menambahkan serviceAccount-1 ke binding IAM untuk project-C, lalu memigrasikan project-A ke organizations/45678901234, akun layanan akan berfungsi.

Jika Anda memigrasikan project-A ke organizations/45678901234, lalu mencoba menambahkan serviceAccount-1 ke binding IAM untuk project-C, binding tersebut akan gagal karena melanggar batasan pembatasan domain.

Kasus dukungan

Jika memigrasikan project yang memiliki kasus dukungan yang sedang ditangani, Anda harus menghubungi kontak Dukungan Google untuk memberi tahu mereka bahwa migrasi telah terjadi. Setiap project yang memiliki kasus dukungan terbuka dengan Google tidak akan dapat melihat kasus dukungan tersebut hingga Dukungan Google memperbarui metadata kasus untuk mengarah ke resource organisasi baru.

Jika project Anda dikonfigurasi untuk menggunakan layar izin OAuth Internal dan Anda memigrasikannya ke resource organisasi lain, hanya anggota resource organisasi tujuan yang dapat memberikan otorisasi pada permintaan. Mungkin perlu waktu hingga 24 jam agar perilaku ini diterapkan. Sebelum itu, anggota resource organisasi sumber dapat memberikan otorisasi permintaan.

Langkah-langkah di bawah menjelaskan cara memastikan anggota resource organisasi sumber Anda tidak kehilangan akses selama migrasi. Pertimbangkan untuk membuat pengguna baru di resource organisasi tujuan untuk anggota resource organisasi sehingga Anda tidak perlu mengubah konfigurasi layar izin OAuth.

Untuk menghindari hilangnya akses bagi anggota resource organisasi sumber:

  1. Perbarui layar izin OAuth menjadi eksternal, bukan internal.

  2. Aplikasi yang ditandai sebagai internal dan menggunakan data sensitif tidak perlu mengajukan permohonan verifikasi aplikasi. Jika aplikasi menggunakan data sensitif, saat layar izin diperbarui ke eksternal, pengguna resource organisasi sumber akan melihat layar aplikasi yang tidak diverifikasi sebelum layar otorisasi. Untuk menghindari hal ini, ajukan verifikasi aplikasi untuk penggunaan cakupan sensitif atau terbatas.

Login OS

Jika Login OS diaktifkan di project sumber, Anda harus menetapkan peran roles/compute.osLoginExternalUser kepada akun utama yang memiliki akses ke project tersebut. Hal ini memastikan bahwa akun utama ini tidak kehilangan akses di resource organisasi tujuan.

Pemesanan bersama instance virtual machine (VM)

Dalam pemesanan bersama, project yang membuat pemesanan (project pemilik) atau project apa pun yang menggunakan pemesanan bersama tersebut (project konsumen) dapat menggunakan pemesanan dengan membuat instance VM. Anda hanya dapat membagikan pemesanan ke project dalam organisasi yang sama dengan project pemilik.

Saat Anda memigrasikan project pemilik atau konsumen ke organisasi lain, hal berikut akan terjadi:

  • Jika Anda memigrasikan project pemilik ke organisasi lain, Compute Engine akan menghapus semua pemesanan yang dibuat oleh project pemilik. Instance VM yang berjalan tidak akan terpengaruh.
  • Jika Anda memigrasikan project konsumen ke organisasi lain, project konsumen akan berhenti menggunakan resource dari pemesanan bersama apa pun di organisasi sebelumnya.

Untuk informasi selengkapnya, lihat Cara kerja pemesanan bersama.

Melampirkan akun layanan ke resource

Untuk sebagian besar layanan Google Cloud , pengguna memerlukan izin iam.serviceAccounts.actAs di akun layanan untuk melampirkan akun layanan tersebut ke resource. Namun, sebelumnya, untuk memudahkan aktivasi, layanan tertentu mengizinkan pengguna melampirkan akun layanan ke resource meskipun pengguna tidak memiliki izin untuk meniru identitas akun layanan tersebut. Hal ini didokumentasikan dalam Memerlukan izin untuk melampirkan akun layanan ke resource.

Jika resource organisasi sumber pelanggan memiliki perilaku lama (lampiran akun layanan dapat dilakukan tanpa pemberian peran normal) dan resource organisasi tujuan tidak memilikinya, berikan peran Pengguna Akun Layanan (roles/iam.serviceAccountUser) kepada pengguna yang melampirkan akun layanan ini ke resource. Untuk mengetahui informasi tentang izin yang Anda perlukan untuk melampirkan akun layanan ke resource, lihat Peran untuk autentikasi akun layanan.

Untuk melihat apakah resource organisasi Anda memiliki perilaku lama, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman Kebijakan organisasi.

    Buka halaman Kebijakan organisasi

  2. Dari pemilih project di bagian atas halaman, pilih resource organisasi yang ingin Anda periksa status lamanya.

  3. Di kotak filter di bagian atas daftar kebijakan organisasi, masukkan constraints/appengine.enforceServiceAccountActAsCheck.

  4. Jika kebijakan organisasi appengine.enforceServiceAccountActAsCheck muncul dalam daftar, resource organisasi memiliki perilaku lama.

  5. Ulangi langkah 3 dan 4 untuk setiap batasan kebijakan organisasi berikut:

    • appengine.enforceServiceAccountActAsCheck
    • dataflow.enforceComputeDefaultServiceAccountCheck
    • dataproc.enforceComputeDefaultServiceAccountCheck
    • composer.enforceServiceAccountActAsCheck
  6. Jika salah satu batasan kebijakan organisasi ini muncul, resource organisasi Anda akan menggunakan perilaku lama.

Jika resource organisasi sumber memiliki perilaku lama dan tujuan tidak, berikan peran seperti yang disebutkan di atas. Jika resource organisasi sumber dan tujuan memiliki perilaku lama, tidak perlu tindakan apa pun, tetapi pertimbangkan untuk menerapkan kebijakan guna mencegah peniruan identitas yang tidak disengaja.

Memigrasikan project dengan Analytics Hub

Jika memigrasikan project yang menggunakan Analytics Hub ke resource organisasi yang berbeda, Anda mungkin mengalami beberapa error. Untuk menyelesaikan error, hubungi dukungan.

Jika resource pertukaran data dari organisasi lama tidak terlihat di halaman administrator Analytics Hub di organisasi baru, gunakan Analytics Hub API untuk memperbarui pertukaran data di organisasi baru.

Gunakan metode projects.locations.dataExchanges.patch.

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATA_EXCHANGE_ID?update_mask=UPDATE_DX_FIELD -d { UPDATE_DX_FIELD:UPDATE_DX_VALUE }

Ganti kode berikut:

  • PROJECT_ID adalah ID unik project.
  • LOCATION adalah lokasi pertukaran data.
  • DATA_EXCHANGE_ID adalah ID pertukaran data.
  • UPDATE_DX_FIELD adalah kolom yang akan diperbarui.
  • UPDATE_DX_VALUE adalah nilai kolom yang diperbarui.

Memigrasikan project dengan layanan Pencadangan dan DR

Anda harus menonaktifkan layanan Pencadangan dan DR sebelum memigrasikan project ke resource organisasi yang berbeda. Saat layanan dinonaktifkan, ada risiko gangguan yang perlu Anda pertimbangkan. Anda harus mengaktifkan kembali layanan Pencadangan dan DR setelah migrasi ke resource organisasi baru selesai.

Langkah selanjutnya

Untuk mempelajari cara melakukan migrasi, lihat Melakukan migrasi.