Mengotorisasi akses ke blob menggunakan Azure Active Directory
Azure Storage mendukung penggunaan Azure Active Directory (Azure AD) untuk mengotorisasi permintaan ke data blob. Dengan Azure AD, Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memberikan izin kepada keamanan utama, yang mungkin merupakan pengguna, grup, atau perwakilan layanan aplikasi. Prinsipal keamanan diautentikasi oleh Azure Active Directory untuk mengembalikan token OAuth 2.0. Token kemudian dapat digunakan untuk mengotorisasi permintaan terhadap Blob service.
Mengotorisasi permintaan terhadap Azure Storage dengan Azure AD yang menyediakan keamanan unggul dan kemudahan penggunaan melalui otorisasi Kunci Bersama. Microsoft menyarankan penggunaan otorisasi Azure AD dengan aplikasi blob Anda jika memungkinkan untuk memastikan akses dengan hak istimewa minimum yang diperlukan.
Otorisasi dengan Azure AD tersedia untuk semua akun penyimpanan tujuan umum dan Blob di semua wilayah publik dan awan nasional. Hanya akun penyimpanan yang dibuat dengan model penyebaran Azure Resource Manager yang mendukung otorisasi Azure AD.
Penyimpanan blob juga mendukung pembuatan tanda tangan akses bersama (SAS) yang ditandatangani dengan kredensial Azure AD. Untuk informasi selengkapnya, lihat Memberikan akses terbatas ke data dengan tanda tangan akses bersama.
Ringkasan Azure AD untuk blob
Saat prinsip keamanan (pengguna, grup, atau aplikasi) mencoba mengakses sumber daya blob, permintaan harus diotorisasi, kecuali jika blob tersedia untuk akses anonim. Dengan Azure Active Directory, akses ke sumber daya adalah proses dua langkah. Pertama, identitas prinsipal keamanan diautentikasi, dan token OAuth 2.0 dikembalikan. Selanjutnya, token diteruskan sebagai bagian dari permintaan ke Blob service dan digunakan oleh layanan untuk mengotorisasi akses ke sumber daya yang ditentukan.
Langkah autentikasi mengharuskan permintaan aplikasi berisi 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. Untuk mempelajari cara mengotorisasi permintaan yang dibuat oleh identitas terkelola ke Azure Blob service, lihat Mengotorisasi akses ke data blob dengan identitas terkelola untuk sumber daya Azure.
Langkah otorisasi mengharuskan satu atau beberapa peran RBAC Azure ditetapkan ke perwakilan keamanan yang membuat permintaan. Untuk informasi lebih lanjut, lihat Menetapkan peran Azure untuk hak akses.
Aplikasi asli dan aplikasi web yang membuat permintaan ke Azure Blob service juga dapat mengotorisasi akses dengan Azure AD. Untuk mempelajari cara meminta token akses dan menggunakannya untuk mengotorisasi permintaan data blob, lihat Mengotorisasi akses ke Azure Storage dengan Azure AD dari aplikasi Azure Storage.
Otorisasi operasi data blob dengan Azure AD hanya didukung untuk REST API versi 2017-11-09 dan yang lebih baru. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage.
Menetapkan peran Azure untuk hak akses
Azure Active Directory (Azure AD) mengesahkan 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 Azure AD dapat berupa pengguna, grup, perwakilan layanan aplikasi, atau identitas terkelola untuk sumber daya Azure. Peran yang ditetapkan kepada prinsipal keamanan menentukan izin yang akan dimiliki oleh prinsipal tersebut. Untuk mempelajari lebih lanjut tentang menetapkan peran Azure untuk akses blob, lihat Menetapkan peran Azure untuk akses ke data blob
Dalam beberapa kasus Anda mungkin perlu mengaktifkan akses berbutir halus ke sumber daya blob atau untuk menyederhanakan izin ketika Anda memiliki sejumlah besar penetapan peran untuk sumber daya penyimpanan. Anda dapat menggunakan kontrol akses berbasis atribut Azure (Azure ABAC) untuk mengonfigurasi kondisi di 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).
Cakupan sumber daya
Sebelum Anda menetapkan peran Azure RBAC ke perwakilan keamanan, tentukan cakupan akses yang harus dimiliki perwakilan keamanan. Praktik terbaik memerintahkan bahwa yang terbaik selalu hanya memberikan 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 individu. Pada cakupan ini, penetapan peran berlaku untuk semua blob dalam kontainer, serta properti kontainer dan metadata.
- 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 sejumlah peran bawaan untuk mengotorisasi akses ke data blob menggunakan Azure AD dan OAuth. Beberapa contoh peran yang menyediakan izin ke sumber daya data di Azure Storage meliputi:
- Pemilik Data Blob Penyimpanan: Gunakan untuk mengatur kepemilikan dan mengelola kontrol akses POSIX untuk Azure Data Lake Storage Gen2. Untuk informasi selengkapnya, lihat Kontrol akses di Azure Data Lake Storage Gen2.
- Kontributor Data Blob Penyimpanan: Gunakan untuk memberikan izin baca/tulis/hapus ke sumber daya penyimpanan Blob.
- Pembaca Data Blob Penyimpanan: Gunakan untuk memberikan izin baca-saja ke sumber daya penyimpanan Blob.
- Delegator Blob Penyimpanan: Dapatkan kunci delegasi pengguna yang digunakan untuk membuat tanda tangan akses bersama yang ditandatangani dengan info masuk Azure Active Directory untuk 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 Azure RBAC dan izinnya, lihat Mencantumkan penentuan peran 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 prinsipal keamanan mengelola akun penyimpanan, tetapi tidak memberikan akses ke data blob dalam akun tersebut melalui Azure AD. Namun, jika peran menyertakan Microsoft.Storage/storageAccounts/listKeys/action, pengguna yang perannya ditetapkan dapat mengakses data di akun penyimpanan melalui otorisasi Kunci Bersama dengan 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 pengelolaan, lihat bagian Penyimpanan di Peran bawaan Azure untuk Azure RBAC. Selain itu, untuk informasi tentang berbagai jenis peran yang memberikan izin di Azure, lihat Peran administrator langganan klasik, peran Azure, dan peran Azure AD.
Penting
Penetapan peran Azure mungkin membutuhkan 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.
Akses data dengan akun Azure AD
Akses ke data blob melalui portal Azure, PowerShell, atau Azure CLI dapat diotorisasi baik menggunakan akun Azure AD pengguna maupun menggunakan kunci akses akun (otorisasi Kunci Bersama).
Akses data dari portal Azure
Portal Azure dapat menggunakan akun Azure AD Anda atau kunci akses akun 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 ditetapkan peran Azure dengan Microsoft.Storage/storageAccounts/listkeys/action. Jika Anda telah ditetapkan peran dengan tindakan ini, portal Azure menggunakan kunci akun untuk mengakses data blob melalui otorisasi Kunci Bersama. Jika Anda belum diberi peran dengan tindakan ini, portal akan mencoba mengakses data menggunakan akun Azure AD Anda.
Untuk mengakses data blob dari portal Azure menggunakan akun Azure AD, 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 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 Azure AD, 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 Azure AD. Setelah Anda masuk, sesi Anda berjalan di bawah kredensial tersebut. Untuk mempelajari selengkapnya, lihat salah satu artikel berikut:
- Memilih cara mengotorisasi akses ke data blob dengan Azure CLI
- Jalankan perintah PowerShell dengan kredensial Azure AD 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 Protokol Transfer File SSH (SFTP).
Jika Anda telah mengaktifkan salah satu kemampuan ini, lihat Dukungan fitur Blob Storage di akun Azure Storage untuk menilai dukungan untuk fitur ini.