Bagikan melalui


Mengotorisasi akses ke blob dan file dengan AzCopy dan ID Microsoft Entra

Anda dapat memberikan kredensial otorisasi kepada AzCopy dengan menggunakan ID Microsoft Entra. Dengan demikian, Anda tidak perlu menambahkan token tanda tangan akses bersama (SAS) ke setiap perintah.

Mulailah dengan memverifikasi tugas peran Anda. Kemudian, pilih jenis prinsip keamanan apa yang ingin Anda otorisasi. Identitas pengguna,identitas terkelola,dan perwakilan layanan merupakan masing-masing jenis prinsip keamanan.

Untuk mengotorisasi akses, Anda akan mengatur variabel lingkungan dalam memori. Kemudian jalankan perintah AzCopy apa pun. AzCopy akan mengambil token Auth yang diperlukan untuk menyelesaikan operasi. Setelah operasi selesai, token akan menghilang dari memori.

AzCopy mengambil token OAuth dengan menggunakan kredensial yang Anda berikan. Atau, AzCopy dapat menggunakan token OAuth dari sesi Azure CLI atau Azure PowerShell aktif.

Untuk informasi selengkapnya, lihat Mulai menggunakan AzCopy.

Verifikasi penetapan peran

Tingkat otorisasi yang Anda butuhkan didasarkan pada rencana Anda untuk mengunggah file atau hanya mengunduhnya.

Jika Anda hanya ingin mengunduh file, verifikasi bahwa peran Pembaca Data Blob Penyimpanan (Azure Blob Storage) atau peran Storage File Data Privileged Reader (Azure Files) telah ditetapkan ke identitas pengguna, identitas terkelola, atau perwakilan layanan Anda.

Jika Anda ingin mengunggah file ke Azure Blob Storage, verifikasi bahwa salah satu peran ini telah ditetapkan ke prinsip keamanan Anda.

Jika Anda ingin mengunggah file ke berbagi file Azure, verifikasi bahwa Storage File Data Privileged Reader telah ditetapkan ke prinsip keamanan Anda.

Peran ini dapat ditetapkan ke prinsip keamanan Anda di salah satu lingkup ini:

  • Kontainer (sistem file) atau berbagi file
  • Akun Penyimpanan
  • Grup sumber daya
  • Langganan

Untuk mempelajari cara memverifikasi dan menetapkan peran, lihat Menetapkan peran Azure untuk akses ke data blob (Blob Storage) atau Memilih cara mengotorisasi akses ke data file di portal Azure (Azure Files).

Catatan

Selalu ingat bahwa penetapan peran Azure mungkin membutuhkan waktu hingga lima menit untuk disebarluaskan.

Anda tidak perlu memiliki salah satu peran yang ditetapkan ini untuk prinsip keamanan Anda jika prinsip keamanan Anda ditambahkan ke daftar kontrol akses (ACL) kontainer atau direktori target. Dalam ACL, prinsip keamanan Anda memerlukan izin tulis pada direktori target dan menjalankan izin pada kontainer dan setiap direktori induk.

Untuk mempelajari ACL lebih lanjut, lihat Model kontrol akses di Azure Data Lake Storage Gen2.

Otorisasi dengan AzCopy

AzCopy menggunakan kredensial yang Anda berikan untuk mengotorisasi perwakilan keamanan.

Mengotorisasi identitas pengguna

Setelah Anda memverifikasi bahwa identitas pengguna Anda telah diberi tingkat otorisasi yang diperlukan, ketik perintah berikut ini lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=DEVICE

Kemudian, jalankan perintah azcopy apa pun (Misalnya: azcopy list https://contoso.blob.core.windows.net).

Perintah ini mengembalikan kode autentikasi dan URL situs web. Buka situs web, berikan kode, lalu pilih tombol Berikutnya.

Membuat kontainer

Jendela masuk akan muncul. Di jendela tersebut, masuk ke akun Azure menggunakan kredensial akun Azure Anda. Setelah berhasil masuk, operasi bisa selesai.

Mengotorisasi identitas terkelola

Ini adalah opsi yang bagus jika Anda berencana untuk menggunakan AzCopy di dalam skrip yang berjalan tanpa interaksi pengguna dan skrip berjalan dari Komputer Virtual Azure (VM). Saat menggunakan opsi ini, Anda tidak perlu menyimpan kredensial apa pun di komputer virtual.

Anda dapat masuk ke akun Anda dengan menggunakan identitas terkelola di seluruh sistem yang telah Anda aktifkan di komputer virtual Anda, atau dengan menggunakan ID klien, ID Objek, atau ID Sumber Daya identitas terkelola pengguna yang telah Anda tetapkan ke komputer virtual Anda.

Untuk mempelajari selengkapnya tentang cara mengaktifkan identitas terkelola di seluruh sistem atau membuat identitas terkelola yang ditetapkan pengguna, lihat Mengonfigurasi identitas terkelola untuk sumber daya Azure pada Komputer Virtual menggunakan portal Microsoft Azure.

Otorisasi dengan menggunakan identitas yang dikelola di seluruh sistem

Pertama, pastikan Anda telah mengaktifkan identitas terkelola di seluruh sistem pada Komputer Virtual Anda. Lihat Identitas Terkelola yang Ditetapkan Sistem.

Ketik perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Kemudian, jalankan perintah azcopy apa pun (Misalnya: azcopy list https://contoso.blob.core.windows.net).

Izinkan dengan menggunakan Identitas Terkelola yang Ditetapkan Pengguna

Pertama, pastikan Anda telah mengaktifkan identitas terkelola yang ditetapkan pengguna pada Komputer Virtual Anda. Lihat Identitas terkelola yang ditetapkan pengguna.

Ketik perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=MSI

Kemudian, ketik salah satu perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_MSI_CLIENT_ID=<client-id>

Ganti <client-id>tempat penampung dengan ID klien dari identitas terkelola yang ditetapkan pengguna.

export AZCOPY_MSI_OBJECT_ID=<object-id>

Ganti <object-id>tempat penampung dengan ID objek dari identitas terkelola yang ditetapkan pengguna.

export AZCOPY_MSI_RESOURCE_STRING=<resource-id>

Ganti <resource-id>tempat penampung dengan ID sumber daya dari identitas terkelola yang ditetapkan pengguna.

Setelah Anda mengatur variabel ini, Anda dapat menjalankan perintah azcopy apa pun (Misalnya: azcopy list https://contoso.blob.core.windows.net).

Mengotorisasi perwakilan layanan

Ini adalah pilihan yang bagus jika Anda berencana untuk menggunakan AzCopy di dalam skrip yang berjalan tanpa interaksi pengguna, terutama ketika berjalan di lokal. Jika Anda berencana menjalankan AzCopy pada Komputer Virtual yang berjalan di Azure, identitas layanan terkelola lebih mudah dikelola. Untuk mempelajari selengkapnya, lihat bagian Otorisasi identitas terkelola di artikel ini.

Anda dapat masuk ke akun Anda dengan menggunakan rahasia klien atau dengan menggunakan kata sandi sertifikat yang terkait dengan pendaftaran aplikasi perwakilan layanan Anda.

Untuk mempelajari selengkapnya tentang membuat perwakilan layanan, lihat Cara: Menggunakan portal untuk membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya.

Untuk mempelajari selengkapnya tentang perwakilan layanan secara umum, lihat Objek perwakilan aplikasi dan layanan di ID Microsoft Entra

Mengotorisasi perwakilan layanan dengan menggunakan rahasia klien

Ketik perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=SPN
export AZCOPY_SPA_APPLICATION_ID=<application-id>
export AZCOPY_SPA_CLIENT_SECRET=<client-secret>
export AZCOPY_TENANT_ID=<tenant-id>

Ganti <application-id> tempat penampung dengan ID aplikasi pendaftaran aplikasi perwakilan layanan Anda. Ganti <client-secret> tempat penampung dengan rahasia klien. Ganti <tenant-id> tempat penampung dengan ID penyewa organisasi tempat akun penyimpanan berada. Untuk menemukan ID penyewa, pilih ID Penyewa properti > Penyewa di portal Azure.

Catatan

Pertimbangkan menggunakan perintah untuk mengumpulkan kata sandi dari pengguna. Dengan demikian, kata sandi Anda tidak akan muncul di riwayat perintah Anda.

Kemudian, jalankan perintah azcopy apa pun (Misalnya: azcopy list https://contoso.blob.core.windows.net).

Mengotorisasi perwakilan layanan dengan menggunakan sertifikat

Jika Anda lebih suka menggunakan kredensial Anda sendiri untuk otorisasi, Anda dapat mengunggah sertifikat ke pendaftaran aplikasi Anda, lalu menggunakan sertifikat tersebut untuk masuk.

Selain mengunggah sertifikat ke pendaftaran aplikasi, Anda juga harus menyimpan salinan sertifikat ke mesin atau komputer virtual tempat AzCopy akan berjalan. Salinan sertifikat ini harus berformat .PFX atau .PEM, dan harus menyertakan kunci privat. Kunci privat harus dilindungi kata sandi. Jika Anda menggunakan Windows, dan sertifikat Anda hanya ada di penyimpanan sertifikat, pastikan untuk mengekspor sertifikat tersebut ke file PFX (termasuk kunci privat). Untuk panduan, lihat Export-PfxCertificate

Ketik perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=SPN
export AZCOPY_SPA_APPLICATION_ID=<application-id>
export AZCOPY_SPA_CERT_PATH=<path-to-certificate-file>
export AZCOPY_SPA_CERT_PASSWORD=<certificate-password>
export AZCOPY_TENANT_ID=<tenant-id>

Ganti <application-id> tempat penampung dengan ID aplikasi pendaftaran aplikasi perwakilan layanan Anda. Ganti <path-to-certificate-file>tempat penampung dengan jalur yang relatif atau sepenuhnya memenuhi syarat ke file sertifikat. AzCopy menyimpan jalur ke sertifikat ini tetapi tidak menyimpan salinan sertifikat, jadi pastikan untuk menyimpan sendiri sertifikat tersebut. Ganti <certificate-password>tempat penampung dengan kata sandi sertifikat. Ganti <tenant-id> tempat penampung dengan ID penyewa organisasi tempat akun penyimpanan berada. Untuk menemukan ID penyewa, pilih ID Penyewa properti > Penyewa di portal Azure.

Catatan

Pertimbangkan menggunakan perintah untuk mengumpulkan kata sandi dari pengguna. Dengan demikian, kata sandi Anda tidak akan muncul di riwayat perintah Anda.

Kemudian, jalankan perintah azcopy apa pun (Misalnya: azcopy list https://contoso.blob.core.windows.net).

Otorisasi dengan menggunakan perintah masuk AzCopy

Sebagai alternatif untuk menggunakan variabel dalam memori, Anda mengotorisasi akses dengan menggunakan perintah masuk azcopy.

Perintah azcopy login mengambil token OAuth dan kemudian menempatkan token tersebut ke penyimpanan rahasia pada sistem Anda. Jika sistem operasi Anda tidak memiliki penyimpanan rahasia seperti keyring Linux, perintah masuk azcopy tidak akan berfungsi karena tidak ada tempat untuk menempatkan token.

Mengotorisasi identitas pengguna (perintah masuk azcopy)

Setelah Anda memverifikasi bahwa identitas pengguna Anda telah diberi tingkat otorisasi yang diperlukan, buka perintah, ketik perintah berikut ini, lalu tekan tombol ENTER.

azcopy login

Jika Anda menemukan kesalahan, coba menyertakan ID penyewa organisasi tempat akun penyimpanan berada.

azcopy login --tenant-id=<tenant-id>

Ganti <tenant-id> tempat penampung dengan ID penyewa organisasi tempat akun penyimpanan berada. Untuk menemukan ID penyewa, pilih ID Penyewa properti > Penyewa di portal Azure.

Perintah ini mengembalikan kode autentikasi dan URL situs web. Buka situs web, berikan kode, lalu pilih tombol Berikutnya.

Membuat kontainer

Jendela masuk akan muncul. Di jendela tersebut, masuk ke akun Azure menggunakan kredensial akun Azure Anda. Setelah berhasil masuk, Anda dapat menutup jendela browser dan mulai menggunakan AzCopy.

Otorisasi dengan menggunakan identitas terkelola di seluruh sistem (perintah masuk azcopy)

Pertama, pastikan Anda telah mengaktifkan identitas terkelola di seluruh sistem pada Komputer Virtual Anda. Lihat Identitas Terkelola yang Ditetapkan Sistem.

Kemudian, di konsol perintah Anda, ketik perintah berikut, lalu tekan tombol ENTER.

azcopy login --identity

Otorisasi dengan menggunakan identitas terkelola yang ditetapkan pengguna (perintah masuk azcopy)

Pertama, pastikan Anda telah mengaktifkan identitas terkelola yang ditetapkan pengguna pada Komputer Virtual Anda. Lihat Identitas terkelola yang ditetapkan pengguna.

Kemudian, di konsol perintah Anda, ketik perintah berikut, lalu tekan tombol ENTER.

azcopy login --identity --identity-client-id "<client-id>"

Ganti <client-id>tempat penampung dengan ID klien dari identitas terkelola yang ditetapkan pengguna.

azcopy login --identity --identity-object-id "<object-id>"

Ganti <object-id>tempat penampung dengan ID objek dari identitas terkelola yang ditetapkan pengguna.

azcopy login --identity --identity-resource-id "<resource-id>"

Ganti <resource-id>tempat penampung dengan ID sumber daya dari identitas terkelola yang ditetapkan pengguna.

Mengotorisasi perwakilan layanan (perintah masuk azcopy)

Sebelum menjalankan skrip, Anda harus masuk secara interaktif setidaknya satu kali sehingga Anda dapat memberikan AzCopy kredensial perwakilan layanan Anda. Kredensial tersebut disimpan dalam file yang aman dan terenkripsi sehingga skrip Anda tidak harus memberikan informasi sensitif itu.

Anda dapat masuk ke akun Anda dengan menggunakan rahasia klien atau dengan menggunakan kata sandi sertifikat yang terkait dengan pendaftaran aplikasi perwakilan layanan Anda.

Untuk mempelajari selengkapnya tentang membuat perwakilan layanan, lihat Cara: Menggunakan portal untuk membuat aplikasi Microsoft Entra dan perwakilan layanan yang dapat mengakses sumber daya.

Mengotorisasi perwakilan layanan dengan menggunakan rahasia klien (perintah masuk azcopy)

Mulailah dengan mengatur AZCOPY_SPA_CLIENT_SECRET variabel lingkungan ke rahasia klien pendaftaran aplikasi perwakilan layanan Anda.

Catatan

Pastikan untuk mengatur nilai ini dari prompt perintah Anda dan bukan di pengaturan variabel lingkungan sistem operasi Anda. Dengan begitu, nilai hanya tersedia untuk sesi saat ini.

Contoh ini menunjukkan bagaimana Anda bisa melakukan ini di PowerShell.

$env:AZCOPY_SPA_CLIENT_SECRET="$(Read-Host -prompt "Enter key")"

Catatan

Pertimbangkan untuk menggunakan perintah seperti yang ditunjukkan dalam contoh ini. Dengan demikian, kata sandi Anda tidak akan muncul di riwayat perintah konsol Anda.

Berikutnya, ketik perintah berikut, lalu tekan tombol ENTER.

azcopy login --service-principal  --application-id application-id --tenant-id=tenant-id

Ganti <application-id> tempat penampung dengan ID aplikasi pendaftaran aplikasi perwakilan layanan Anda. Ganti <tenant-id> tempat penampung dengan ID penyewa organisasi tempat akun penyimpanan berada. Untuk menemukan ID penyewa, pilih ID Penyewa properti > Penyewa di portal Azure.

Mengotorisasi perwakilan layanan dengan menggunakan sertifikat (perintah masuk azcopy)

Jika Anda lebih suka menggunakan kredensial Anda sendiri untuk otorisasi, Anda dapat mengunggah sertifikat ke pendaftaran aplikasi Anda, lalu menggunakan sertifikat tersebut untuk masuk.

Selain mengunggah sertifikat ke pendaftaran aplikasi, Anda juga harus menyimpan salinan sertifikat ke mesin atau komputer virtual tempat AzCopy akan berjalan. Salinan sertifikat ini harus berformat .PFX atau .PEM, dan harus menyertakan kunci privat. Kunci privat harus dilindungi kata sandi. Jika Anda menggunakan Windows, dan sertifikat Anda hanya ada di penyimpanan sertifikat, pastikan untuk mengekspor sertifikat tersebut ke file PFX (termasuk kunci privat). Untuk panduan, lihat Export-PfxCertificate

Selanjutnya, atur AZCOPY_SPA_CERT_PASSWORD variabel lingkungan ke kata sandi sertifikat.

Catatan

Pastikan untuk mengatur nilai ini dari prompt perintah Anda dan bukan di pengaturan variabel lingkungan sistem operasi Anda. Dengan begitu, nilai hanya tersedia untuk sesi saat ini.

Contoh ini menunjukkan bagaimana Anda bisa melakukan tugas ini di PowerShell.

$env:AZCOPY_SPA_CERT_PASSWORD="$(Read-Host -prompt "Enter key")"

Berikutnya, ketik perintah berikut, lalu tekan tombol ENTER.

azcopy login --service-principal --application-id application-id --certificate-path <path-to-certificate-file> --tenant-id=<tenant-id>

Ganti <application-id> tempat penampung dengan ID aplikasi pendaftaran aplikasi perwakilan layanan Anda. Ganti <path-to-certificate-file>tempat penampung dengan jalur yang relatif atau sepenuhnya memenuhi syarat ke file sertifikat. AzCopy menyimpan jalur ke sertifikat ini tetapi tidak menyimpan salinan sertifikat, jadi pastikan untuk menyimpan sendiri sertifikat tersebut. Ganti <tenant-id> tempat penampung dengan ID penyewa organisasi tempat akun penyimpanan berada. Untuk menemukan ID penyewa, pilih ID Penyewa properti > Penyewa di portal Azure.

Catatan

Pertimbangkan untuk menggunakan perintah seperti yang ditunjukkan dalam contoh ini. Dengan demikian, kata sandi Anda tidak akan muncul di riwayat perintah konsol Anda.

Mengotorisasi dengan Azure CLI

Jika Anda masuk dengan menggunakan Azure CLI, Maka Azure CLI mendapatkan token OAuth yang dapat digunakan AzCopy untuk mengotorisasi operasi.

Untuk mengaktifkan AzCopy untuk menggunakan token tersebut, ketik perintah berikut, lalu tekan tombol ENTER.

export AZCOPY_AUTO_LOGIN_TYPE=AZCLI

Untuk informasi selengkapnya tentang cara masuk dengan Azure CLI, lihat Masuk dengan Azure CLI.

Mengotorisasi dengan Azure PowerShell

Jika Anda masuk dengan menggunakan Azure PowerShell, Maka Azure PowerShell mendapatkan token OAuth yang dapat digunakan AzCopy untuk mengotorisasi operasi.

Untuk mengaktifkan AzCopy untuk menggunakan token tersebut, ketik perintah berikut, lalu tekan tombol ENTER.

$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"

Untuk informasi selengkapnya tentang cara masuk dengan Azure PowerShell, lihat Masuk dengan Azure PowerShell.

Langkah berikutnya

  • Untuk informasi selengkapnya tentang AzCopy, lihat Mulai menggunakan AzCopy

  • Jika Anda memiliki pertanyaan, masalah, atau umpan balik umum, silahkan laporkan di halaman GitHub.