Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Storage mendukung penggunaan ID Microsoft Entra untuk mengotorisasi permintaan ke data blob. Dengan menggunakan Microsoft Entra ID, Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada prinsip keamanan, yang dapat menjadi pengguna, grup, atau perwakilan layanan aplikasi. MICROSOFT Entra ID mengautentikasi prinsip keamanan dan mengembalikan token OAuth 2.0. Gunakan token untuk mengotorisasi permintaan terhadap layanan Blob.
Anda dapat menggunakan otorisasi Microsoft Entra ID dengan semua akun penyimpanan tujuan umum dan Blob di semua wilayah publik dan cloud nasional. Hanya akun penyimpanan yang dibuat dengan menggunakan model penyebaran Azure Resource Manager yang mendukung otorisasi Microsoft Entra.
Penting
Untuk keamanan yang optimal, Microsoft merekomendasikan penggunaan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap data blob, antrean, dan tabel, jika memungkinkan. Otorisasi dengan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi Kunci Bersama. Untuk mempelajari selengkapnya tentang identitas terkelola, lihat Apa itu identitas terkelola untuk sumber daya Azure. Untuk contoh cara mengaktifkan dan menggunakan identitas terkelola untuk aplikasi .NET, lihat Mengautentikasi aplikasi yang dihosting Azure ke sumber daya Azure dengan .NET.
Untuk sumber daya yang dihosting di luar Azure, seperti aplikasi lokal, Anda dapat menggunakan identitas terkelola melalui Azure Arc. Misalnya, aplikasi yang berjalan di server dengan dukungan Azure Arc dapat menggunakan identitas terkelola untuk menyambungkan ke layanan Azure. Untuk mempelajari selengkapnya, lihat Mengautentikasi terhadap sumber daya Azure dengan server dengan dukungan Azure Arc.
Untuk skenario di mana tanda tangan akses bersama (SAS) digunakan, Microsoft merekomendasikan penggunaan SAS delegasi pengguna. SAS delegasi pengguna diamankan menggunakan kredensial Microsoft Entra, bukan kunci akun. Untuk mempelajari tentang signature akses bersama, lihat Memberikan akses terbatas ke data dengan signature akses bersama. Untuk contoh cara membuat dan menggunakan SAS delegasi pengguna dengan .NET, lihat Membuat SAS delegasi pengguna untuk blob dengan .NET.
Gambaran umum ID Microsoft Entra untuk blob
Ketika prinsip keamanan (pengguna, grup, atau aplikasi) mencoba mengakses sumber daya blob, permintaan harus diotorisasi, kecuali blob tersedia untuk akses anonim. Dengan menggunakan Microsoft Entra ID, akses ke sumber daya adalah proses dua langkah:
Pertama, identitas prinsipal keamanan diautentikasi, dan token OAuth 2.0 dikembalikan.
Langkah autentikasi mengharuskan aplikasi untuk meminta token akses OAuth 2.0 pada saat runtime. Jika aplikasi dijalankan dari dalam entitas Azure seperti Azure VM, sekumpulan skala mesin virtual, atau aplikasi Azure Functions, aplikasi dapat menggunakan identitas terkelola untuk mengakses data blob.
Selanjutnya, token diteruskan sebagai bagian dari permintaan ke layanan Blob dan layanan menggunakannya untuk mengotorisasi akses ke sumber daya yang ditentukan.
Langkah otorisasi mengharuskan satu atau beberapa peran RBAC Azure ditetapkan ke prinsipal keamanan yang mengajukan permintaan. Untuk informasi lebih lanjut, lihat Menetapkan peran Azure untuk hak akses.
Menggunakan akun Microsoft Entra dengan portal, PowerShell, atau Azure CLI
Untuk mempelajari tentang cara mengakses data di portal Azure dengan menggunakan akun Microsoft Entra, lihat akses Data dari portal Azure. Untuk mempelajari cara memanggil perintah Azure PowerShell atau Azure CLI dengan menggunakan akun Microsoft Entra, lihat akses Data dari PowerShell atau Azure CLI.
Menggunakan ID Microsoft Entra untuk mengotorisasi akses dalam kode aplikasi
Untuk mengotorisasi akses ke Azure Storage dengan menggunakan Microsoft Entra ID, gunakan salah satu pustaka klien berikut untuk memperoleh token OAuth 2.0:
- Pustaka klien Azure Identity direkomendasikan untuk sebagian besar skenario pengembangan.
- Pustaka Autentikasi Microsoft (MSAL) mungkin cocok untuk skenario lanjutan tertentu.
Pustaka klien Azure Identity
Pustaka klien Azure Identity menyederhanakan proses mendapatkan token akses OAuth 2.0 untuk otorisasi dengan menggunakan Microsoft Entra ID melalui Azure SDK. Versi terbaru pustaka klien Azure Storage untuk .NET, Java, Python, JavaScript, dan Go terintegrasi dengan pustaka identitas Azure untuk setiap bahasa tersebut untuk menyediakan cara yang sederhana dan aman untuk memperoleh token akses untuk otorisasi permintaan Azure Storage.
Keuntungan dari pustaka klien Azure Identity adalah memungkinkan Anda menggunakan kode yang sama untuk memperoleh token akses apakah aplikasi Anda berjalan di lingkungan pengembangan atau di Azure. Pustaka klien Azure Identity menghasilkan token akses untuk prinsipal keamanan. Saat kode Anda berjalan di Azure, prinsip keamanan dapat menjadi identitas terkelola untuk sumber daya Azure, perwakilan layanan, atau pengguna atau grup. Dalam lingkungan pengembangan, pustaka klien menyediakan token akses untuk pengguna atau prinsipal layanan untuk tujuan pengujian.
Token akses yang dikembalikan oleh pustaka klien Azure Identity dibungkus dalam kredensial token. Anda kemudian dapat menggunakan kredensial token untuk mendapatkan objek klien layanan yang digunakan dalam melakukan operasi terautentikasi pada Azure Storage. Cara sederhana untuk mendapatkan token akses dan kredensial token adalah dengan menggunakan kelas DefaultAzureCredential yang disediakan pustaka klien Azure Identity. DefaultAzureCredential mencoba mendapatkan kredensial token dengan secara berurutan mencoba beberapa jenis kredensial yang berbeda. DefaultAzureCredential berfungsi di lingkungan pengembangan dan di Azure.
Tabel berikut menunjuk ke informasi tambahan untuk mengotorisasi akses ke data dalam berbagai skenario:
Pustaka Autentikasi Microsoft (MSAL)
Meskipun Microsoft merekomendasikan penggunaan pustaka klien Azure Identity jika memungkinkan, pustaka MSAL mungkin sesuai untuk digunakan dalam skenario lanjutan tertentu. Untuk informasi selengkapnya, lihat Pelajari tentang MSAL.
Saat Anda menggunakan MSAL untuk memperoleh token OAuth untuk akses ke Azure Storage, Anda perlu memberikan ID sumber daya Microsoft Entra. ID sumber daya Microsoft Entra menunjukkan audiens yang tokennya dikeluarkan dapat digunakan untuk menyediakan akses ke sumber daya Azure. Dalam kasus Azure Storage, ID sumber daya mungkin khusus untuk satu akun penyimpanan, atau mungkin berlaku untuk akun penyimpanan apa pun.
Saat Anda memberikan ID sumber daya yang khusus untuk satu akun penyimpanan dan layanan, ID sumber daya digunakan untuk memperoleh token untuk mengotorisasi permintaan ke akun dan layanan yang ditentukan saja. Tabel berikut mencantumkan nilai yang akan digunakan untuk ID sumber daya, berdasarkan cloud yang sedang Anda kerjakan. Ganti <account-name> dengan nama akun penyimpanan Anda.
| Awan | ID Sumber Daya |
|---|---|
| Azure Global | https://<account-name>.blob.core.windows.net |
| Azure Government | https://<account-name>.blob.core.usgovcloudapi.net |
| Azure Tiongkok 21Vianet | https://<account-name>.blob.core.chinacloudapi.cn |
Anda juga dapat memberikan ID sumber daya yang berlaku untuk akun penyimpanan apa pun, seperti yang ditunjukkan dalam tabel berikut. ID sumber daya ini sama untuk semua cloud publik dan berdaulat, dan digunakan untuk memperoleh token untuk mengotorisasi permintaan ke akun penyimpanan apa pun.
| Awan | ID Sumber Daya |
|---|---|
| Azure Global Azure Government Azure Tiongkok 21Vianet |
https://storage.azure.com/ |
Menetapkan peran Azure untuk hak akses
Microsoft Entra mengotorisasi hak akses ke sumber daya aman melalui Azure RBAC. Azure Storage mendefinisikan set peran RBAC bawaan yang mencakup set izin umum yang digunakan untuk mengakses data blob. Anda juga dapat menentukan peran khusus untuk akses ke data blob. Untuk mempelajari selengkapnya tentang menetapkan peran Azure untuk akses blob, lihat Menetapkan peran Azure untuk akses ke data blob.
Perwakilan keamanan Microsoft Entra dapat berupa pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola untuk sumber daya Azure. Peran RBAC yang Anda tetapkan ke entitas keamanan menentukan izin yang dimiliki entitas tersebut untuk sumber daya yang ditentukan.
Untuk mempelajari tentang cara menetapkan peran Azure untuk akses blob, lihat Tugaskan peran Azure untuk akses ke data blob.
Dalam beberapa kasus, Anda mungkin perlu mengaktifkan akses yang lebih rinci ke sumber daya blob atau menyederhanakan izin ketika Anda memiliki banyak penetapan peran untuk sumber daya penyimpanan. Gunakan kontrol akses berbasis atribut Azure (Azure ABAC) untuk mengonfigurasi kondisi pada penetapan peran. Anda dapat menggunakan ketentuan dengan peran kustom atau memilih peran bawaan. Untuk informasi lebih lanjut tentang mengonfigurasi kondisi untuk sumber daya penyimpanan Azure dengan ABAC, lihat Mengotorisasi akses ke blob menggunakan kondisi penetapan peran Azure (pratinjau). Untuk detail tentang kondisi yang didukung untuk operasi data blob, lihat Tindakan dan atribut untuk kondisi penetapan peran Azure di Azure Storage (pratinjau).
Catatan
Saat membuat akun Azure Storage, Anda tidak secara otomatis diberi izin untuk mengakses data melalui Microsoft Entra ID. Anda harus secara eksplisit menetapkan sendiri peran Azure untuk akses ke Blob Storage. Anda dapat menetapkannya di tingkat langganan, grup sumber daya, akun penyimpanan, atau kontainer.
Cakupan sumber daya
Sebelum Anda menetapkan peran Azure RBAC ke perwakilan keamanan, tentukan cakupan akses yang harus dimiliki perwakilan keamanan. Selalu berikan hanya cakupan sesempit mungkin. Peran Azure RBAC yang ditentukan pada cakupan yang lebih luas diwariskan oleh sumber daya di bawahnya.
Anda dapat menjangkau akses ke sumber daya blob Azure di tingkat berikut, dimulai dengan cakupan tersempit:
- Kontainer tunggal. Pada cakupan ini, penetapan peran berlaku untuk semua blob dalam kontainer, serta properti dan metadata kontainer.
- Akun penyimpanan. Pada cakupan ini, penetapan peran berlaku untuk semua kontainer dan blobnya.
- Grup sumber daya. Pada cakupan ini, penetapan peran berlaku untuk semua kontainer di semua akun penyimpanan di grup sumber daya.
- Langganan. Pada cakupan ini, penetapan peran berlaku untuk semua kontainer di semua akun penyimpanan pada semua grup sumber daya dalam langganan.
- Grup manajemen. Pada cakupan ini, penetapan peran berlaku untuk semua kontainer di semua akun penyimpanan di semua grup sumber daya pada semua langganan di grup manajemen.
Untuk informasi selengkapnya tentang cakupan penetapan peran Azure RBAC, lihat Memahami cakupan untuk Azure RBAC.
Peran bawaan Azure untuk blob
Azure RBAC menyediakan beberapa peran bawaan untuk mengotorisasi akses ke data blob dengan menggunakan Microsoft Entra ID dan OAuth. Beberapa contoh peran yang menyediakan izin ke sumber daya data di Azure Storage meliputi:
- Pemilik Data Azure Storage Blob: Digunakan untuk menetapkan kepemilikan dan mengelola kontrol akses POSIX pada Azure Data Lake Storage. Untuk informasi selengkapnya, lihat Kontrol akses di Azure Data Lake Storage.
- Kontributor Data Blob Penyimpanan: Gunakan untuk memberikan izin baca, tulis, dan hapus pada sumber daya penyimpanan Blob.
- Pembaca Data Blob Penyimpanan: Gunakan untuk memberikan izin baca-saja ke sumber daya Blob Penyimpanan.
- Storage Blob Delegator: Dapatkan kunci delegasi pengguna untuk digunakan dalam membuat signature akses bersama yang ditandatangani oleh kredensial Microsoft Entra pada kontainer atau blob.
Untuk mempelajari cara menetapkan peran bawaan Azure ke prinsip keamanan, lihat Menetapkan peran Azure untuk akses ke data blob. Untuk mempelajari cara mencantumkan peran RBAC Azure dan izinnya, lihat Definisi peran List Azure.
Untuk informasi selengkapnya tentang penentuan peran bawaan Azure Storage, lihat Memahami definisi peran. Untuk informasi tentang membuat peran kustom Azure, lihat Peran kustom Azure.
Hanya peran yang secara eksplisit ditentukan untuk akses data yang mengizinkan prinsipal keamanan mengakses data blob. Peran bawaan seperti Pemilik, Kontributor, dan Kontributor Akun Penyimpanan mengizinkan prinsip keamanan untuk mengelola akun penyimpanan, tetapi tidak menyediakan akses ke data blob dalam akun tersebut melalui ID Microsoft Entra. Namun, jika peran menyertakan Microsoft. Storage/storageAccounts/listKeys/action, lalu pengguna yang perannya ditetapkan dapat mengakses data di akun penyimpanan melalui otorisasi Kunci Bersama dengan menggunakan kunci akses akun. Untuk informasi selengkapnya, lihat Memilih cara memberi otorisasi akses ke data blob di portal Microsoft Azure.
Untuk informasi terperinci tentang peran bawaan Azure untuk Azure Storage untuk layanan data dan layanan manajemen, lihat bagian Penyimpanan di peran bawaan Azure untuk Azure RBAC. Selain itu, untuk informasi tentang berbagai jenis peran yang menyediakan izin di Azure, lihat Peran Azure, peran Microsoft Entra, dan peran administrator langganan klasik.
Penting
Azure penetapan peran dapat memakan waktu hingga 30 menit untuk disebarluaskan.
Izin akses untuk operasi data
Untuk detail tentang izin yang diperlukan untuk memanggil operasi Blob service tertentu, lihat Izin untuk memanggil operasi data.
Penundaan propagasi penugasan peran untuk akses data blob
Saat Anda menetapkan peran atau menghapus penetapan peran, diperlukan waktu hingga 10 menit agar perubahan diterapkan. Jika Anda menetapkan peran di cakupan grup manajemen, itu bisa memakan waktu lebih lama.
Anda dapat menetapkan peran bawaan dengan tindakan data di cakupan grup manajemen. Namun, dalam skenario yang jarang terjadi, mungkin ada penundaan yang signifikan (hingga 12 jam) sebelum izin tindakan data efektif untuk jenis sumber daya tertentu. Izin akhirnya diterapkan. Untuk peran bawaan dengan tindakan data, menambahkan atau menghapus penetapan peran di cakupan grup manajemen tidak dianjurkan untuk skenario yang memerlukan aktivasi atau pencabutan izin secara tepat waktu, seperti pada Microsoft Entra Privileged Identity Management (PIM).
Jika Anda mengatur izin yang sesuai untuk mengakses data melalui Microsoft Entra ID tetapi tidak dapat mengakses data tersebut, misalnya Anda mendapatkan kesalahan "AuthorizationPermissionMismatch", pastikan Anda memberikan cukup waktu agar perubahan izin yang Anda buat di Microsoft Entra ID dapat direplikasi. Selain itu, pastikan Anda tidak memiliki tugas penolakan yang memblokir akses Anda. Untuk informasi selengkapnya, lihat Memahami penetapan penolakan Azure.
Mengakses data dengan akun Microsoft Entra
Anda dapat mengotorisasi akses ke data blob melalui portal Azure, PowerShell, atau Azure CLI baik dengan menggunakan akun Microsoft Entra Anda atau dengan menggunakan kunci akses akun (otorisasi Kunci Bersama).
Perhatian
Otorisasi dengan Kunci Bersama tidak disarankan karena mungkin kurang aman. Untuk keamanan optimal, nonaktifkan otorisasi melalui Kunci Bersama untuk akun penyimpanan Anda, seperti yang dijelaskan dalam Mencegah otorisasi Kunci Bersama untuk akun Azure Storage.
Penggunaan kunci akses dan string koneksi harus dibatasi pada bukti awal aplikasi konsep atau prototipe pengembangan yang tidak mengakses data produksi atau sensitif. Jika tidak, kelas autentikasi berbasis token yang tersedia di Azure SDK harus selalu disukai saat mengautentikasi ke sumber daya Azure.
Microsoft menyarankan agar klien menggunakan ID Microsoft Entra atau tanda tangan akses bersama (SAS) untuk mengotorisasi akses ke data di Azure Storage. Untuk informasi selengkapnya, lihat Mengotorisasi operasi untuk akses data.
Akses data dari portal Azure
portal Azure dapat menggunakan akun Microsoft Entra atau kunci akses akun Anda untuk mengakses data blob di akun penyimpanan Azure. Skema otorisasi yang digunakan portal Azure bergantung pada peran Azure yang ditetapkan untuk Anda.
Saat Anda mencoba mengakses data blob, portal Azure terlebih dahulu memeriksa apakah Anda telah diberi peran Azure dengan Microsoft. Storage/storageAccounts/listkeys/action. Jika Anda telah diberi peran dengan tindakan ini, portal Azure menggunakan kunci akun untuk mengakses data blob melalui otorisasi Kunci Bersama. Jika Anda tidak diberi peran dengan tindakan ini, portal Azure mencoba mengakses data dengan menggunakan akun Microsoft Entra Anda.
Untuk mengakses data blob dari portal Azure dengan menggunakan akun Microsoft Entra, Anda memerlukan izin untuk mengakses data blob, dan Anda juga memerlukan izin untuk menavigasi melalui sumber daya akun penyimpanan di portal Azure. Peran bawaan yang disediakan oleh Azure Storage memberikan akses ke sumber daya blob, tetapi tidak memberikan izin ke sumber daya akun penyimpanan. Untuk alasan ini, akses ke portal juga memerlukan penugasan peran Azure Resource Manager seperti peran Reader (Pembaca) yang tercakup ke tingkat akun penyimpanan atau yang lebih tinggi. Peran Pembaca memberi izin yang paling terbatas, tetapi peran Azure Resource Manager lain yang memberi akses ke sumber daya manajemen akun penyimpanan juga dapat diterima. Untuk mempelajari selengkapnya tentang cara menetapkan izin kepada pengguna untuk akses data di portal Azure dengan akun Microsoft Entra, lihat Menetapkan peran Azure untuk akses ke data blob.
Portal Azure menunjukkan skema otorisasi yang digunakan saat Anda membuka kontainer. Untuk informasi selengkapnya tentang akses data di portal, lihat Memilih cara mengotorisasi akses ke data blob di portal Azure.
Akses data dari PowerShell atau Azure CLI
Azure CLI dan PowerShell mendukung masuk dengan kredensial Microsoft Entra. Setelah Anda masuk, sesi Anda berjalan di bawah kredensial tersebut. Untuk mempelajari lebih lanjut, lihat salah satu artikel berikut:
- Memilih cara mengotorisasi akses ke data blob dengan Azure CLI
- Menjalankan perintah PowerShell dengan informasi masuk Microsoft Entra untuk mengakses data blob
Dukungan fitur
Dukungan untuk fitur ini mungkin terpengaruh dengan mengaktifkan Data Lake Storage Gen2, protokol Network File System (NFS) 3.0, atau SSH File Transfer Protocol (SFTP). Jika Anda telah mengaktifkan salah satu kemampuan ini, lihat Dukungan fitur Blob Storage di akun Azure Storage untuk menilai dukungan untuk fitur ini.
Mengotorisasi operasi data blob dengan MICROSOFT Entra ID hanya didukung untuk REST API versi 2017-11-09 dan yang lebih baru. Untuk informasi selengkapnya, lihat Pengelolaan versi untuk layanan Azure Storage.