Anda dapat mengonfigurasi akses ke data sumber di Microsoft Azure Storage menggunakan akses bersama tanda tangan (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, Amerika Serikat Bagian Tengah, Amerika Serikat Tengah Utara, Amerika Serikat Tengah Selatan, Amerika Serikat Tengah Barat, Canada Tengah, Canada Timur, Brasil Selatan
- Asia Pasifik: Australia Tengah, Australia Timur, Australia Tenggara, India Tengah, India Selatan, India Barat, Asia Tenggara, Timur Asia, 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 Raya Selatan, Inggris Raya Barat, Qatar Tengah, UEA Utara, Afrika Selatan Utara
Konfigurasi akses
Ikuti langkah-langkah berikut untuk mengonfigurasi akses ke container Microsoft Azure Storage:
Membuat atau menggunakan pengguna Microsoft Azure Storage yang sudah ada untuk mengakses penyimpanan akun untuk container Microsoft Azure Storage Blob Anda.
Buat token SAS di tingkat container. Lihat Memberikan akses terbatas ke resource Azure Storage menggunakan tanda tangan akses bersama untuk melihat petunjuk.
Layanan yang diizinkan harus menyertakan Blob.
Untuk Allowed resource types, pilih Container dan Object.
Izin yang diizinkan harus mencakup Baca dan Daftar. Jika transfer dikonfigurasi untuk menghapus objek dari sumber, Anda juga harus menyertakan izin Hapus.
Waktu habis masa berlaku default untuk token SAS adalah 8 jam. Menetapkan batasan yang wajar waktu habis masa berlaku agar Anda berhasil menyelesaikan transfer.
Jangan tentukan alamat IP apa pun di kolom Alamat IP yang diizinkan. Storage Transfer Service menggunakan berbagai alamat IP dan tidak mendukung IP pembatasan alamat.
Protokol yang diizinkan harus berupa HTTPS saja.
Setelah token dibuat, catat nilai SAS token yang ditampilkan. Anda memerlukan nilai ini saat mengonfigurasi transfer dengan Storage Transfer Service.
Menyimpan kredensial Microsoft di Secret Manager
Secret Manager adalah layanan aman yang menyimpan dan mengelola data sensitif seperti sandi. Cloud SQL menggunakan enkripsi yang kuat, akses berbasis peran kontrol, dan log audit untuk melindungi rahasia Anda.
Storage Transfer Service dapat memanfaatkan Secret Manager untuk melindungi Azure Anda memiliki kredensial yang lengkap. Storage Transfer Service mendukung tanda tangan akses bersama token (SAS) dan Kunci Bersama Azure di Secret Manager.
Saat Anda menentukan Kunci Bersama, Storage Transfer Service menggunakan kunci tersebut untuk membuat layanan SAS yang cakupannya dibatasi ke container Azure yang ditentukan dalam pekerjaan.
Mengaktifkan API
Aktifkan API Secret Manager.
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
Ikuti petunjuk untuk ambil email agen layanan Anda.
Buka halaman IAM di Konsol Google Cloud.
Klik Grant access.
Di kotak teks New principals, masukkan email agen layanan.
Di drop-down Pilih peran, telusuri dan pilih Secret Manager Aksesor Rahasia.
Klik Simpan.
gcloud
Menggunakan perintah gcloud projects add-iam-policy-binding
untuk menambahkan IAM
peran untuk agen layanan Anda.
Ikuti petunjuk untuk ambil email agen layanan Anda.
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
Buka halaman Secret Manager di Konsol Google Cloud.
Klik Create secret.
Masukkan nama.
Di kotak teks Nilai rahasia, masukkan kredensial Anda di salah satu dalam format berikut.
{ "sas_token" : "SAS_TOKEN_VALUE" }
Atau:
{ "access_key" : "ACCESS_KEY" }
Klik Create secret.
Setelah secret dibuat, catat nama resource lengkap rahasia tersebut:
Pilih tab Ringkasan.
Salin nilai ID Resource. Formatnya digunakan sebagai 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 rahasia:
gcloud secrets describe SECRET_NAME
Perhatikan nilai name
dalam respons. Formatnya digunakan sebagai berikut:
projects/1234567890/secrets/SECRET_NAME
Untuk detail selengkapnya tentang cara membuat dan mengelola secret, lihat Dokumentasi Secret Manager.
Teruskan rahasia Anda ke perintah pembuatan tugas
Menggunakan 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 JSON file di alamat permanen:
https://www.gstatic.com/storage-transfer-service/ipranges.json
Saat rentang baru ditambahkan ke file, kita akan menunggu setidaknya 7 hari sebelum menggunakan rentang tersebut untuk permintaan dari Storage Transfer Service.
Sebaiknya ambil data dari dokumen ini minimal seminggu sekali untuk konfigurasi keamanan Anda tetap terbaru. Untuk contoh skrip Python yang mengambil Rentang IP dari file JSON, lihat artikel ini dari Virtual Private Cloud dokumentasi tambahan.
Untuk menambahkan rentang ini sebagai IP yang diizinkan, ikuti petunjuk di Microsoft Artikel Azure, Mengonfigurasi firewall dan jaringan virtual Azure Storage.