Mengonfigurasi akses ke sumber: Microsoft Azure Storage

Anda dapat mengonfigurasi akses ke data sumber di Microsoft Azure Storage menggunakan tanda tangan akses bersama (SAS).

Region yang didukung

Storage Transfer Service dapat mentransfer data dari region Microsoft Azure Storage berikut:
  • Amerika: East US, East US 2, West US, West US 2, West US 3, Central US, North Central US, South Central US, West Central US, Canada Tengah, Canada East, Brasil South
  • Asia Pasifik: Australia Tengah, Australia Timur, Australia Tenggara, India Tengah, India Selatan, India Barat, Asia Tenggara, Asia Timur, Jepang Timur, Jepang Barat, Korea Selatan, Korea Tengah
  • Eropa, Timur Tengah, Afrika (EMEA): Prancis Tengah, Jerman Barat Tengah, Norwegia Timur, Swedia Tengah, Swiss Utara, Eropa Utara, Eropa Barat, Inggris Selatan, Inggris Barat, Qatar Tengah, UEA Utara, Afrika Selatan Afrika Utara

Konfigurasi akses

Ikuti langkah-langkah berikut untuk mengonfigurasi akses ke container Microsoft Azure Storage:

  1. Buat atau gunakan pengguna Microsoft Azure Storage yang sudah ada untuk mengakses akun penyimpanan untuk container Microsoft Azure Storage Blob.

  2. Buat token SAS di level container. Lihat Memberikan akses terbatas ke resource Azure Storage menggunakan tanda tangan akses bersama untuk mengetahui petunjuknya.

    1. Layanan yang diizinkan harus mencakup Blob.

    2. Untuk Allowed resource types, pilih Container dan Object.

    3. Izin yang diizinkan harus mencakup Baca dan Daftar. Jika transfer dikonfigurasi untuk menghapus objek dari sumber, Anda juga harus menyertakan izin Hapus.

    4. Waktu habis masa berlaku default untuk token SAS adalah 8 jam. Tetapkan waktu habis masa berlaku yang wajar agar transfer Anda berhasil diselesaikan.

    5. Jangan tentukan alamat IP apa pun di kolom Alamat IP yang diizinkan. Storage Transfer Service menggunakan berbagai alamat IP dan tidak mendukung pembatasan alamat IP.

    6. Protokol yang diizinkan harus hanya HTTPS.

  3. Setelah token dibuat, catat nilai token SAS yang ditampilkan. Anda memerlukan nilai ini saat mengonfigurasi transfer dengan Storage Transfer Service.

Menyimpan kredensial Microsoft Anda di Secret Manager

Secret Manager adalah layanan aman yang menyimpan dan mengelola data sensitif seperti sandi. Layanan ini menggunakan enkripsi yang kuat, kontrol akses berbasis peran, dan logging audit untuk melindungi rahasia Anda.

Storage Transfer Service dapat memanfaatkan Secret Manager untuk melindungi kredensial Azure Anda. Storage Transfer Service mendukung token tanda tangan akses bersama (SAS) dan Azure Shared Keys di Secret Manager.

Saat Anda menentukan Kunci Bersama, Storage Transfer Service menggunakan kunci tersebut untuk membuat SAS layanan yang dibatasi cakupannya ke container Azure yang ditentukan dalam tugas transfer.

Mengaktifkan API

Enable the Secret Manager API.

Enable the API

Mengonfigurasi izin tambahan

Izin pengguna

Pengguna yang membuat rahasia memerlukan peran berikut:

  • Secret Manager Admin (roles/secretmanager.admin)

Pelajari cara memberikan peran.

Izin agen layanan

Agen layanan Storage Transfer Service memerlukan peran IAM berikut:

  • Aksesor Rahasia Secret Manager (roles/secretmanager.secretAccessor)

Untuk memberikan peran kepada agen layanan Anda:

Cloud Console

  1. Ikuti petunjuk untuk mengambil email agen layanan.

  2. Buka halaman IAM di Konsol Google Cloud.

    Buka IAM

  3. Klik Grant access.

  4. Di kotak teks New principals, masukkan email agen layanan.

  5. Di drop-down Select a role, telusuri dan pilih Secret Manager Secret Accessor.

  6. Klik Save.

gcloud

Gunakan perintah gcloud projects add-iam-policy-binding untuk menambahkan peran IAM ke agen layanan Anda.

  1. Ikuti petunjuk untuk mengambil email agen layanan.

  2. Dari command line, masukkan perintah berikut:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:SERVICE_AGENT_EMAIL' \
      --role='roles/secretmanager.secretAccessor'
    

Membuat secret

Buat secret dengan Secret Manager:

Cloud Console

  1. Buka halaman Secret Manager di Konsol Google Cloud.

    Buka Secret Manager

  2. Klik Create secret.

  3. Masukkan nama.

  4. Di kotak teks Secret value, masukkan kredensial Anda dalam salah satu format berikut.

    {
      "sas_token" : "SAS_TOKEN_VALUE"
    }
    

    Atau:

    {
      "access_key" : "ACCESS_KEY"
    }
    
  5. Klik Create secret.

  6. Setelah secret berhasil dibuat, catat nama resource lengkap secret:

    1. Pilih tab Ringkasan.

    2. Salin nilai Resource ID. Performance Planner menggunakan format berikut:

      projects/1234567890/secrets/SECRET_NAME

gcloud

Untuk membuat secret baru menggunakan alat command line gcloud, teruskan kredensial berformat JSON ke perintah gcloud secrets create:

printf '{
  "sas_token" : "SAS_TOKEN_VALUE"
}' | gcloud secrets create SECRET_NAME --data-file=-

Atau:

printf '{
  "access_key" : "ACCESS_KEY"
}' | gcloud secrets create SECRET_NAME --data-file=-

Ambil nama resource lengkap secret:

gcloud secrets describe SECRET_NAME

Catat nilai name dalam respons. Performance Planner menggunakan format berikut:

projects/1234567890/secrets/SECRET_NAME

Untuk mengetahui detail selengkapnya tentang cara membuat dan mengelola secret, lihat dokumentasi Secret Manager.

Teruskan rahasia Anda ke perintah pembuatan tugas

Penggunaan Secret Manager dengan Storage Transfer Service memerlukan penggunaan REST API untuk membuat tugas transfer.

Teruskan nama resource Secret Manager sebagai nilai kolom transferSpec.azureBlobStorageDataSource.credentialsSecret:

POST https://storagetransfer.googleapis.com/v1/transferJobs

{
  "description": "Transfer with Secret Manager",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
    "azureBlobStorageDataSource": {
      "storageAccount": "AZURE_SOURCE_NAME",
      "container": "AZURE_CONTAINER",
      "credentialsSecret": "SECRET_RESOURCE_ID",
    },
    "gcsDataSink": {
      "bucketName": "CLOUD_STORAGE_BUCKET_NAME"
    }
  }
}

Pembatasan IP

Jika Anda membatasi akses ke resource Azure menggunakan firewall Azure Storage, Anda harus menambahkan rentang IP yang digunakan oleh pekerja Storage Transfer Service ke daftar IP yang diizinkan.

Karena rentang IP ini dapat berubah, kami memublikasikan nilai saat ini sebagai file JSON di alamat permanen:

https://www.gstatic.com/storage-transfer-service/ipranges.json

Saat rentang baru ditambahkan ke file, kami akan menunggu minimal 7 hari sebelum menggunakan rentang tersebut untuk permintaan dari Storage Transfer Service.

Sebaiknya ambil data dari dokumen ini minimal setiap minggu untuk memastikan konfigurasi keamanan Anda sudah yang terbaru. Untuk mengetahui contoh skrip Python yang mengambil rentang IP dari file JSON, lihat artikel ini dari dokumentasi Virtual Private Cloud.

Untuk menambahkan rentang ini sebagai IP yang diizinkan, ikuti petunjuk dalam artikel Microsoft Azure, Mengonfigurasi firewall dan jaringan virtual Azure Storage.