Mengonfigurasi izin Google Cloud dan Cloud Storage langkah demi langkah

Dokumen ini menjelaskan cara mengonfigurasi izin Google Cloud dan Cloud Storage langkah demi langkah, termasuk:

  • Menyiapkan bucket Cloud Storage tujuan Anda.
  • Menyiapkan kunci Cloud Key Management Service untuk mengamankan data Anda.
  • Memberikan data konfigurasi bucket Cloud Storage kepada Tim Transfer Appliance.

Sebelum memulai

Pastikan Anda menerima email dari Tim Transfer Appliance yang berjudul Google Transfer Appliance Menyiapkan Izin dan Penyimpanan. Email ini berisi:

  • Nama akun layanan yang diperlukan untuk transfer Anda.

  • ID sesi yang diperlukan untuk mengonfigurasi peralatan Anda.

  • Formulir yang akan Anda isi setelah mengonfigurasi akun.

Menyiapkan bucket Cloud Storage tujuan

Untuk menyimpan data di Cloud Storage, Anda harus menyiapkan bucket. Bucket adalah container dasar yang menyimpan data Anda dalam Cloud Storage.

Kami menggunakan dua akun layanan untuk memindahkan data Anda dari Transfer Appliance ke bucket Cloud Storage tujuan yang Anda siapkan. Akun layanan adalah akun khusus yang digunakan oleh aplikasi, bukan orang, untuk melakukan pekerjaan. Dalam hal ini, akun layanan memungkinkan Transfer Appliance untuk menggunakan resource Cloud Storage atas nama Anda untuk menyalin data dari perangkat ke bucket Cloud Storage Anda. Anda memberi akun ini peran yang diperlukan untuk menyalin data dari peralatan ke bucket Cloud Storage Anda.

Untuk menyiapkan bucket Cloud Storage tujuan, ikuti langkah-langkah berikut:

  1. Dalam email berjudul Google Transfer Appliance Prepare Destination Bucket, Tim Transfer Appliance memberikan akun layanan berikut:

    • Akun layanan sesi yang terkait dengan transfer khusus ini. Tampilannya seperti contoh berikut:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      Dalam contoh ini, SESSION_ID adalah ID sesi untuk transfer khusus ini.

    • Agen layanan yang terkait dengan Layanan transfer untuk layanan data lokal, yang kami gunakan untuk mentransfer data dari perangkat ke bucket Cloud Storage Anda. Tampilannya mirip dengan contoh berikut:

      project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

      Dalam contoh ini, TENANT_IDENTIFIER adalah angka yang dihasilkan khusus untuk project ini.

    Perhatikan akun layanan untuk langkah berikutnya.

    Akun layanan memungkinkan Transfer Appliance untuk memanipulasi resource Google Cloud atas nama Anda, yaitu untuk menyalin data dari alat ke Cloud Storage. Anda memberi akun ini peran yang diperlukan untuk menyalin data dari peralatan ke bucket Cloud Storage.

  2. Bucket Cloud Storage terikat dengan project Google Cloud. Bucket yang Anda pilih harus berada dalam project yang sama dengan yang digunakan untuk memesan peralatan.

    Jika Anda tidak memiliki bucket Cloud Storage, buat bucket:

    Google Cloud Console

    1. Buka halaman Cloud Storage Buckets di Konsol Google Cloud.

      Buka halaman Bucket Cloud Storage

    2. Klik Create bucket untuk membuka formulir pembuatan bucket.

    3. Masukkan informasi bucket Anda, lalu klik Continue untuk menyelesaikan setiap langkah:

      • Tentukan Name, sesuai dengan persyaratan penamaan bucket.

      • Pilih Default storage class untuk bucket. Kelas penyimpanan default ditetapkan secara default ke semua objek yang diupload ke bucket. Selanjutnya, pilih Location untuk data bucket.

      • Pilih model Access control untuk menentukan cara Anda mengontrol akses ke objek bucket.

      • Secara opsional, Anda dapat menambahkan label bucket dan memilih metode enkripsi.

      • Jangan menetapkan kebijakan retensi pada bucket.

    4. Klik Done.

    Command line

    Gunakan perintah gsutil mb:

    gsutil mb -b on -l LOCATION -p PROJECT_ID gs://BUCKET_NAME
    

    Dalam contoh ini:

    Jangan menetapkan kebijakan retensi pada bucket.

  3. Untuk memberikan izin kepada akun layanan Transfer Appliance agar dapat menggunakan bucket Cloud Storage Anda, lakukan hal berikut:

    Google Cloud Console

    1. Di Konsol Google Cloud, buka halaman Bucket Cloud Storage.

      Buka Buckets

    2. Klik menu Bucket overflow () yang terkait dengan bucket tempat Anda memberikan peran kepada utama.

    3. Pilih Edit izin bucket.

    4. Klik tombol + Add principals.

    5. Di kolom Akun utama baru, masukkan identitas berikut:

      • Akun layanan sesi. Tampilannya seperti contoh berikut:

        ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

        Dalam contoh ini, SESSION_ID adalah ID sesi untuk transfer khusus ini.

      • Layanan Transfer untuk agen layanan data lokal. Tampilannya mirip dengan contoh berikut:

        project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com

        Dalam contoh ini, TENANT_IDENTIFIER adalah angka yang dihasilkan khusus untuk project khusus ini.

    6. Dari menu drop-down Select a role, pilih peran Storage Admin.

      Peran yang Anda pilih akan muncul di panel dengan deskripsi singkat tentang izin yang diberikan.

    7. Klik Simpan.

    Command line

    Gunakan perintah gsutil iam ch:

    gsutil iam ch \
    serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com:roles/storage.admin \
    serviceAccount:project-TENANT_IDENTIFIER@storage-transfer-service.iam.gserviceaccount.com:roles/storage.admin \
    gs://BUCKET_NAME
    

    Dalam contoh ini:

    • SESSION_ID: ID sesi untuk transfer khusus ini.
    • TENANT_IDENTIFIER: Angka yang dihasilkan khusus untuk project khusus ini.
    • BUCKET_NAME: Nama bucket yang Anda buat.

Menyiapkan kunci Cloud KMS

Transfer Appliance mengamankan data Anda pada perangkat dengan mengenkripsi data sebelum Anda mengirimkan perangkat kembali kepada kami. Kunci publik Cloud Key Management Service (Cloud KMS) digunakan untuk mengenkripsi data Anda di Transfer Appliance, dan kunci pribadi digunakan untuk mendekripsi data Anda.

Kami menggunakan akun layanan sesi dari Menyiapkan bucket Cloud Storage tujuan untuk mengupload data dari perangkat ke bucket Cloud Storage Anda.

Anda memiliki opsi berikut untuk mengelola kunci enkripsi:

  • Kunci enkripsi yang dikelola Google. Anda dapat meminta kami untuk membuat dan mengelola kunci Cloud KMS untuk Anda. Jika ingin menggunakan metode ini, Anda telah selesai mengonfigurasi project Google Cloud dan dapat melanjutkan dengan langkah-langkah yang dijelaskan dalam Menerima perangkat Anda.

  • Membuat dan mengelola kunci enkripsi sendiri. Anda membuat dan mengelola kunci enkripsi yang digunakan untuk transfer, dengan mengikuti petunjuk di bawah. Anda menyiapkan kunci dekripsi asimetris Cloud KMS dan menambahkan akun layanan sesi ke kunci tersebut. Akun layanan sesi menggunakan kunci dekripsi asimetris untuk mendekripsi dan menyalin data Anda ke Cloud Storage.

Untuk menyiapkan kunci Cloud KMS, lakukan hal berikut:

  1. Jika Anda tidak memiliki key ring Cloud Key Management Service, lakukan langkah berikut untuk membuatnya:

    Google Cloud Console

    1. Buka halaman Cryptographic Keys di Konsol Google Cloud.

      Buka halaman Cryptographic Keys

    2. Klik Create key ring.

    3. Di kolom Key ring name, masukkan nama yang diinginkan untuk key ring Anda.

    4. Dari dropdown Key ring location, pilih lokasi seperti "us-east1".

    5. Klik Create.

    Command line

    gcloud kms keyrings create KEY_RING --location=LOCATION --project=PROJECT_ID
    

    Dalam contoh ini:

    • LOCATION: Lokasi Cloud Key Management Service untuk key ring. Contoh, global.
    • KEY_RING: Nama key ring.
    • PROJECT_ID: Project ID Google Cloud tempat bucket penyimpanan Anda berada.
  2. Buat kunci dekripsi asimetris dengan melakukan hal berikut:

    Google Cloud Console

    1. Buka halaman Cryptographic Keys di Konsol Google Cloud.

      Buka halaman Cryptographic Keys

    2. Klik nama key ring yang ingin Anda buatkan kunci.

    3. Klik Create key.

    4. Di bagian What type of key do you want to create?, pilih Generated key.

    5. Di kolom Key name, masukkan nama untuk kunci Anda.

    6. Klik dropdown Tingkat perlindungan, lalu pilih Software.

    7. Klik dropdown Destination, lalu pilih Asymmetric decrypt.

    8. Klik dropdown Algorithm dan pilih 4096-bit RSA - OAEP Padding - SHA256 Digest

    9. Klik Create.

    Command line

    Jalankan perintah berikut untuk membuat kunci dekripsi asimetris:

    gcloud kms keys create KEY --keyring=KEY_RING \
    --location=LOCATION --purpose=asymmetric-encryption \
    --default-algorithm=rsa-decrypt-oaep-4096-sha256 \
    --project=PROJECT_ID
    

    Dalam contoh ini:

    • KEY: Nama kunci Cloud Key Management Service. Contoh, ta-key.
    • KEY_RING: Nama key ring.
    • LOCATION: Lokasi Cloud Key Management Service untuk key ring. Contoh, global.
    • PROJECT_ID: Project ID Google Cloud tempat bucket penyimpanan Anda berada.
  3. Tambahkan akun layanan sesi sebagai akun utama ke kunci asimetris dengan melakukan hal berikut:

    Google Cloud Console

    1. Buka halaman Cryptographic Keys di Konsol Google Cloud.

      Buka halaman Cryptographic Keys

    2. Klik key ring yang berisi kunci asimetris Anda.

    3. Centang kotak untuk kunci asimetris.

    4. Di Panel info, klik Tambahkan akun utama.

      Tambahkan akun utama akan ditampilkan.

    5. Di kolom New principals, masukkan akun layanan sesi yang disediakan oleh Tim Transfer Appliance. Tampilannya seperti contoh berikut:

      ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com

      Dalam contoh ini, SESSION_ID adalah ID sesi untuk transfer khusus ini.

    6. Di kolom Select a role, tambahkan peran Cloud KMS Bigtable Public Key Viewer.

    7. Klik Add another role.

    8. Di kolom Select a role, tambahkan peran Cloud KMS Bigtable Decrypter.

    9. Klik Simpan.

    Command line

    1. Jalankan perintah berikut untuk memberikan peran roles/cloudkms.cryptoKeyDecrypter kepada akun layanan sesi:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.cryptoKeyDecrypter
      

      Dalam contoh ini:

      • KEY: Nama kunci Cloud Key Management Service. Contoh, ta-key.
      • KEY_RING: Nama key ring.
      • LOCATION: Lokasi Cloud Key Management Service untuk key ring. Contoh, global.
      • SESSION_ID: ID sesi untuk transfer khusus ini.
    2. Jalankan perintah berikut untuk memberikan peran roles/cloudkms.publicKeyViewer kepada akun layanan sesi:

      gcloud kms keys add-iam-policy-binding KEY \
      --keyring=KEY_RING --location=LOCATION \
      --member=serviceAccount:ta-SESSION_ID@transfer-appliance-zimbru.iam.gserviceaccount.com \
      --role=roles/cloudkms.publicKeyViewer
      

      Dalam contoh ini:

      • KEY: Nama kunci Cloud Key Management Service. Contoh, ta-key.
      • KEY_RING: Nama key ring.
      • LOCATION: Lokasi Cloud Key Management Service untuk key ring. Contoh, global.
      • SESSION_ID: ID sesi untuk transfer khusus ini.
  4. Dapatkan jalur kunci asimetris Anda dengan melakukan hal berikut:

    Google Cloud Console

    1. Buka halaman Cryptographic Keys di Konsol Google Cloud.

      Buka halaman Cryptographic Keys

    2. Klik key ring yang berisi kunci dekripsi asimetris Anda.

    3. Klik nama kunci dekripsi asimetris.

    4. Pilih versi kunci yang Anda inginkan, lalu klik More .

    5. Klik Salin Nama Resource.

      Contoh format kuncinya adalah:

      projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER

      Dalam contoh ini:

      • PROJECT_ID: Project ID Google Cloud tempat bucket penyimpanan Anda berada.
      • LOCATION: Lokasi Cloud Key Management Service untuk key ring.
      • KEY_RING: Nama key ring.
      • KEY: Nama kunci Cloud Key Management Service.
      • VERSION_NUMBER: Nomor versi kunci.

      Tim Transfer Appliance memerlukan seluruh jalur kunci, termasuk nomor versi, sehingga mereka dapat menerapkan kunci yang benar ke data Anda.

    Command line

    Jalankan perintah berikut untuk mencantumkan jalur lengkap kunci asimetris Anda, termasuk nomor versinya:

    gcloud kms keys versions list --keyring=KEY_RING \
    --key=KEY --location=LOCATION \
    --project=PROJECT_ID
    

    Dalam contoh ini:

    • KEY_RING: Nama key ring Anda.
    • KEY: Nama kunci asimetris Anda.
    • LOCATION: Lokasi Google Cloud key ring.
    • PROJECT_ID: Project ID Google Cloud tempat bucket penyimpanan Anda berada.

    Contoh respons berikut menyerupai output yang ditampilkan:

    NAME STATE
    projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY/cryptoKeyVersions/VERSION_NUMBER
    ENABLED
    

    Dalam contoh ini:

    • PROJECT_ID: Project ID Google Cloud tempat bucket penyimpanan Anda berada.
    • LOCATION: Lokasi Cloud Key Management Service untuk key ring.
    • KEY_RING: Nama key ring.
    • KEY: Nama kunci Cloud Key Management Service.
    • VERSION_NUMBER: Nomor versi kunci.

    Tim Transfer Appliance memerlukan string dalam NAME yang diakhiri dengan /cryptoKeyVersions/VERSION_NUMBER, dengan VERSION_NUMBER adalah nomor versi kunci Anda.

Berikan data konfigurasi bucket kepada Tim Transfer Appliance

Kami mengirimkan email berjudul Siapkan Izin dan Penyimpanan Google Transfer Appliance untuk mengumpulkan informasi tentang bucket Cloud Storage Anda. Kami menggunakan informasi yang Anda berikan untuk mengonfigurasi transfer dari Transfer Appliance ke Cloud Storage.

Dalam formulir yang ditautkan dari email tersebut, masukkan informasi berikut:

  • ID project Google Cloud.
  • Pilih pilihan Anda untuk Enkripsi:
    • Kunci enkripsi yang dikelola Google, jika Anda memilih agar Google mengelola kunci enkripsi Anda.
    • Kunci enkripsi yang dikelola pelanggan, jika Anda memilih untuk mengelola kunci enkripsi Anda sendiri. Pilih kunci enkripsi yang diinginkan dari menu drop-down Select a customer-managed encryption-key.
  • Nama bucket tujuan Google Cloud Storage yang digunakan untuk transfer ini.
  • Opsional: Awalan objek. Tanpa awalan objek, objek akan ditransfer ke Cloud Storage dengan jalur sumber, tidak termasuk jalur root, sebelum nama file pada sistem file. Misalnya, jika Anda memiliki file berikut:
    • /source_root_path/file1.txt
    • /source_root_path/dirA/file2.txt
    • /source_root_path/dirA/dirB/file3.txt
    maka nama objek di Cloud Storage adalah:
    • file1.txt
    • dirA/file2.txt
    • dirA/dirB/file3.txt
    Awalan objek ditambahkan ke nama tujuan objek di Cloud Storage, setelah karakter / dari nama bucket tujuan dan sebelum nama jalur tempat objek ditransfer, tidak termasuk jalur root sumber. Hal ini dapat membantu Anda membedakan antara objek yang ditransfer dari tugas transfer lainnya.

    Tabel berikut menunjukkan beberapa contoh awalan objek dan nama objek yang dihasilkan di Cloud Storage, jika jalur objek sumber adalah /source_root_path/sub_folder_name/object_name:
    Awalan Nama objek tujuan
    Tidak ada /destination_bucket/sub_folder_name/object_name
    prefix/ /destination_bucket/prefix/sub_folder_name/object_name

Apa langkah selanjutnya?

Konfigurasikan port jaringan IP agar Transfer Appliance berfungsi di jaringan Anda.