Menangani kasus khusus

Pelajari cara menangani kasus khusus saat Anda memigrasikan project. Sebelum memigrasikan project, pastikan Anda memiliki izin Identity and Access Management (IAM) yang diperlukan pada project, resource induknya, dan resource tujuan.

Memigrasikan project yang tidak terkait dengan resource organisasi

Anda dapat memigrasikan project yang dibuat tanpa resource organisasi terkait ke dalam hierarki resource organisasi. Namun, Anda tidak dapat membatalkan proses ini. Untuk mengembalikan project ke Tidak ada organisasi, hubungi Cloud Customer Care untuk mendapatkan bantuan.

Untuk memigrasikan project yang tidak terkait dengan resource organisasi, Anda harus memiliki peran roles/resourcemanager.projectIamAdmin pada project tersebut. Anda juga harus memiliki peran roles/resourcemanager.projectCreator pada resource organisasi tujuan.

Jika Anda tidak memiliki izin resourcemanager.organizations.get pada resource organisasi induk, project Anda mungkin tidak muncul seperti yang diharapkan di bagian organisasi di Google Cloud konsol. Hal ini dapat membuat project tampak tidak terkait dengan resource organisasi. 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 parent tidak ditampilkan dalam output, hal ini mengonfirmasi bahwa project tidak terkait dengan resource organisasi.

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

Proses memigrasikan project yang tidak terkait dengan resource organisasi mirip dengan proses memigrasikan project antar-resource organisasi, tetapi tidak memerlukan semua langkah dalam rencana migrasi. Untuk memigrasikan project ke resource organisasi, ikuti langkah-langkah berikut:

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

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

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

  4. Tentukan apakah Anda perlu mengubah akun penagihan.

Kemudian, Anda dapat melakukan migrasi menggunakan salah satu metode berikut:

Konsol

  1. Buka halaman IAM & Admin > Setelan di Google Cloud konsol.

    Buka halaman Setelan

  2. Pilih project Anda (yang memiliki Tidak ada organisasi) menggunakan pemilih project.

  3. Di bagian atas halaman Setelan, klik Migrasikan.

  4. Dalam dialog yang muncul, pilih resource organisasi yang ingin Anda migrasikan project-nya, lalu klik Migrasikan.

gcloud

Untuk memigrasikan project ke resource organisasi, jalankan perintah berikut:

gcloud beta projects move PROJECT_ID \
    --organization ORGANIZATION_ID

Ganti kode berikut:

  • PROJECT_ID: ID project yang akan dimigrasikan
  • ORGANIZATION_ID: ID resource organisasi tujuan

API

Dengan Resource Manager API, Anda dapat memigrasikan project ke resource organisasi dengan menetapkan kolom parent 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 tersebut:

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

Jika Cloud OS Login API di aktifkan di project sumber, tetapkan roles/compute.osLoginExternalUser peran ke akun utama mana pun yang memiliki akses ke project tersebut.

VPC Bersama

Anda dapat memigrasikan project VPC Bersama dalam 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, Anda harus memigrasikan project host VPC Bersama terlebih dahulu, diikuti oleh semua project layanannya. Sebaiknya cocokkan aturan firewall antara resource organisasi sumber dan target untuk meminimalkan potensi masalah dan menghindari waktu henti. Kami tidak menjamin kesehatan jaringan Anda jika Anda membiarkan project layanan di resource organisasi sumber saat memigrasikan project lainnya.

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

Peran IAM kustom

Peran Identity and Access Management kustom memberikan kontrol akses yang mendetail ke resource di tingkat resource organisasi, tetapi hanya valid di resource organisasi tempat peran tersebut dibuat. Jika Anda memigrasikan project yang berisi binding kebijakan izinkan ke peran IAM kustom tingkat organisasi, migrasi akan gagal. Error tersebut menjelaskan bahwa peran tersebut tidak ada di resource organisasi tujuan.

Untuk mencantumkan semua peran IAM kustom di resource organisasi Anda, jalankan perintah berikut:

gcloud iam roles list --organization ORGANIZATION_ID

Ganti ORGANIZATION_ID dengan ID resource organisasi. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan ID resource organisasi.

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

gcloud iam roles describe --organization ORGANIZATION_ID \
    ROLE_ID

Ganti kode berikut:

  • ORGANIZATION_ID: ID resource organisasi
  • ROLE_ID: nama peran yang akan dideskripsikan

Untuk mengatasi error ini, buat peran kustom level project yang setara untuk setiap peran kustom tingkat organisasi yang diwarisi. Kemudian, hapus binding peran IAM yang mereferensikan peran kustom tingkat organisasi.

Setelah memigrasikan project, Anda dapat memperbarui kebijakan izinkan untuk menggunakan peran kustom tingkat organisasi di resource organisasi tujuan.

Untuk mengetahui informasi selengkapnya, lihat Membuat dan mengelola peran kustom.

Kunci Bucket

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

Kebijakan retensi dan lien disimpan bersama project selama migrasi. Lien tidak mencegah Anda memigrasikan project.

Perimeter keamanan Kontrol Layanan VPC

Kontrol Layanan VPC mengurangi risiko pemindahan data yang tidak sah dengan menyiapkan perimeter keamanan berbasis project di sekitar Google Cloud layanan. Anda tidak dapat memigrasikan project yang dilindungi oleh perimeter keamanan Kontrol Layanan VPC.

Untuk menghapus project dari perimeter keamanan, lihat Mengelola perimeter layanan. Anda mungkin memerlukan waktu beberapa jam atau hingga satu hari untuk memigrasikan project setelah menghapusnya dari perimeter layanan.

Kebijakan Akses Kontekstual untuk akun layanan

Akses Kontekstual memungkinkan pengguna menentukan kebijakan akses di Google Cloud resource untuk akun layanan berdasarkan atribut konteks seperti jaringan, lokasi, dan waktu. Anda tidak dapat memigrasikan project yang memiliki setidaknya satu kebijakan Akses Kontekstual untuk akun layanan.

Untuk menghapus kebijakan Akses Kontekstual untuk akun layanan, lihat Mengelola binding akses.

Perhatikan pertimbangan waktu berikut saat membuat atau menghapus kebijakan:

  • Pembuatan kebijakan: Kebijakan Akses Kontekstual yang baru dibuat mungkin tidak langsung memblokir migrasi. Penundaan propagasi ini dapat berlangsung hingga 24 jam setelah kebijakan dibuat.
  • Penghapusan kebijakan: Setelah semua kebijakan Akses Kontekstual dihapus dari project, Anda mungkin memerlukan waktu beberapa jam sebelum dapat memigrasikan project.

Dedicated Interconnect

Sebaiknya migrasikan project dengan objek Dedicated Interconnect dan project dengan lampiran VLAN secara bersamaan. Project dengan objek ini akan terus berfungsi setelah migrasi antar-resource organisasi. Namun, Anda tidak dapat membuat lampiran VLAN baru antar-resource organisasi saat keduanya dipisahkan.

Perubahan konfigurasi yang dilakukan pada project yang dipisahkan mungkin tidak dipropagasi di seluruh resource organisasi. Sebaiknya jangan biarkan project dipisahkan dalam waktu lama.

Partner Interconnect

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

Project Pengelolaan

Project pengelolaan adalah Google Cloud project di folder yang mendukung aplikasi yang bertindak sebagai repositori pusat untuk semua metadata yang berpusat pada aplikasi Anda. Setiap folder yang mendukung aplikasi hanya berisi satu project pengelolaan. Project pengelolaan menyediakan infrastruktur untuk library dan API aplikasi, termasuk penagihan, kuota, dan kontrol akses. Anda tidak dapat memigrasikan Project Pengelolaan.

Akun layanan lintas project

Saat Anda memigrasikan akun layanan lintas project, kasus berikut akan berlaku:

  • Jika Anda memigrasikan project dengan akun layanan lintas project terlampir, akun layanan akan terus berfungsi di resource organisasi tujuan. Hal ini berlaku meskipun kebijakan organisasi membatasi domain.
  • Jika Anda memigrasikan project yang memiliki akun layanan lintas project yang digunakan oleh project lain, akun layanan akan terus berfungsi. Namun, Anda tidak dapat menggunakannya di resource yang memiliki kebijakan organisasi pembatasan domain yang diterapkan yang membatasinya ke domain resource organisasi sumber.

Misalnya, asumsikan project-A di organizations/12345678901 memiliki serviceAccount-1 terlampir. project-B dan project-C di organisasi yang sama juga menggunakan serviceAccount-1.

project-C memiliki kebijakan organisasi yang hanya mengizinkan domain organizations/12345678901.

Jika Anda menambahkan serviceAccount-1 ke binding IAM untuk project-C sebelum 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 akan gagal karena melanggar pembatasan domain.

Kasus dukungan

Jika Anda memigrasikan project dengan kasus dukungan yang sedang ditangani, beri tahu Cloud Customer Care setelah migrasi. Anda tidak dapat melihat kasus dukungan tersebut hingga Cloud Customer Care memperbarui metadata ke resource organisasi baru.

Jika project Anda menggunakan layar izin OAuth Internal screen, hanya anggota resource organisasi tujuan yang dapat mengotorisasi permintaan setelah migrasi. Perubahan ini dapat memerlukan waktu hingga 24 jam agar berlaku. Hingga saat itu, anggota resource organisasi sumber masih dapat mengotorisasi permintaan.

Untuk memastikan anggota sumber tidak kehilangan akses, pertimbangkan untuk membuat pengguna baru di resource organisasi tujuan atau memperbarui konfigurasi layar izin OAuth:

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

  2. Jika aplikasi menggunakan data sensitif, ajukan verifikasi aplikasi untuk cakupan sensitif atau terbatas. Jika tidak, pengguna akan melihat layar aplikasi yang belum diverifikasi.

Cloud OS Login API

Jika Cloud OS Login API di aktifkan di project sumber, tetapkan roles/compute.osLoginExternalUser peran ke akun utama mana pun 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 mana pun yang digunakan bersama (project konsumen) dapat menggunakan pemesanan dengan membuat instance VM. Anda hanya dapat membagikan pemesanan ke project yang berada dalam organisasi yang sama dengan project pemilik.

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

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

Untuk mengetahui informasi selengkapnya, lihat Cara kerja pemesanan bersama.

Melampirkan akun layanan ke resource

Untuk sebagian besar Google Cloud layanan, Anda memerlukan iam.serviceAccounts.actAs izin untuk melampirkan akun layanan ke resource. Namun, beberapa layanan sebelumnya mengizinkan hal ini tanpa izin peniruan identitas eksplisit. Hal ini didokumentasikan dalam Mewajibkan izin untuk melampirkan akun layanan ke resource.

Jika resource organisasi sumber Anda memiliki perilaku lama ini, tetapi resource organisasi tujuan tidak, berikan peran roles/iam.serviceAccountUser kepada pengguna yang melampirkan akun layanan ini. Untuk mengetahui informasi selengkapnya tentang izin, lihat Peran untuk autentikasi akun layanan.

Untuk memeriksa apakah resource organisasi Anda memiliki perilaku lama:

  1. Di Google Cloud konsol, buka halaman Organization policies:

    Buka halaman Kebijakan organisasi

  2. Di pemilih resource, pilih resource organisasi yang ingin Anda periksa.

  3. Di kotak filter, masukkan constraints/appengine.enforceServiceAccountActAsCheck.

  4. Jika kebijakan muncul, resource organisasi memiliki perilaku lama.

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

    • appengine.enforceServiceAccountActAsCheck
    • dataflow.enforceComputeDefaultServiceAccountCheck
    • dataproc.enforceComputeDefaultServiceAccountCheck
    • composer.enforceServiceAccountActAsCheck

Jika salah satu batasan ini muncul, resource organisasi Anda menggunakan perilaku lama. Jika kedua resource organisasi menggunakan perilaku lama, tidak ada tindakan yang diperlukan, tetapi pertimbangkan untuk menerapkan kebijakan guna mencegah peniruan identitas yang tidak diinginkan.

Memigrasikan project dengan BigQuery sharing

Jika Anda memigrasikan project yang menggunakan BigQuery sharing ke resource organisasi lain, Anda mungkin mengalami error. Untuk mengatasinya, hubungi Cloud Customer Care.

Jika resource pertukaran data dari organisasi sebelumnya tidak terlihat di halaman administrator Berbagi organisasi baru, gunakan BigQuery sharing API untuk memperbarui kolom (misalnya, description) guna memicu refresh cache.

Gunakan metode projects.locations.dataExchanges.patch method.

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: ID unik project
  • LOCATION: lokasi pertukaran data
  • DATA_EXCHANGE_ID: ID pertukaran data
  • UPDATE_DX_FIELD: kolom yang akan diperbarui, seperti description
  • UPDATE_DX_VALUE: nilai yang diperbarui

Backup and DR Service

Nonaktifkan Backup and DR sebelum Anda memigrasikan project ke resource organisasi lain. Perhatikan risiko gangguan saat layanan dinonaktifkan. Aktifkan kembali Backup and DR setelah migrasi selesai.

Workload Identity Federation

Workload Identity Federation memungkinkan Anda memberikan akses beban kerja lokal atau multi-cloud ke Google Cloud resource. Workload Identity Federation pool adalah resource yang memiliki cakupan project.

Saat Anda memigrasikan project, workload identity pool dan penyedianya yang dikonfigurasi dalam project tersebut akan dimigrasikan bersama project. Tidak ada tindakan tambahan yang diperlukan untuk mempertahankan akses bagi beban kerja yang menggunakan pool ini.

Tag

Tag adalah key-value pair yang dilampirkan ke resource. Tag yang dibuat di tingkat organisasi tidak dimigrasikan.

Jika project Anda menggunakan tag tingkat organisasi untuk binding atau batasan kebijakan, Anda harus membuat ulang kunci dan nilai tag di resource organisasi tujuan dan melampirkannya kembali ke project yang dimigrasikan.

Memigrasikan project dengan pemberian Privileged Access Manager yang diwarisi

Sebelum memigrasikan project, sebaiknya batalkan pemberian cakupan aktif pada project tersebut. Pemberian cakupan dibuat pada hak yang diwarisi dari folder atau organisasi, lalu dicakupkan ke project turunan.

Saat Anda memigrasikan project dengan pemberian cakupan aktif, kebijakan IAM akan dipindahkan ke organisasi baru, tetapi pemberian yang mengelolanya tetap berada di organisasi sebelumnya. Agen layanan Privileged Access Manager akan kehilangan izin untuk mengubah kebijakan IAM di organisasi baru. Akibatnya, operasi pembatalan atau penarikan apa pun pada pemberian tersebut akan gagal, dan pemohon akan mempertahankan akses hingga pemberian berakhir.

Langkah berikutnya