Otorisasi akses ke data di Azure Storage

Setiap kali Anda mengakses data di akun penyimpanan Anda, klien Anda membuat permintaan melalui HTTP/HTTPS ke Microsoft Azure Storage. Secara default, setiap sumber daya dalam Azure Storage diamankan, dan setiap permintaan untuk sumber daya yang aman harus diizinkan. Otorisasi memastikan bahwa aplikasi klien memiliki izin yang sesuai untuk mengakses sumber daya tertentu di akun penyimpanan Anda.

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 dengan kredensial Microsoft Entra alih-alih kunci akun. Untuk mempelajari tentang tanda tangan akses bersama, lihat Memberikan akses terbatas ke data dengan tanda tangan akses bersama. Untuk contoh cara membuat dan menggunakan SAS delegasi pengguna dengan .NET, lihat Membuat SAS delegasi pengguna untuk blob dengan .NET.

Otorisasi untuk operasi data

Bagian berikut menjelaskan dukungan dan rekomendasi otorisasi untuk setiap layanan Azure Storage.

Tabel berikut ini menyediakan informasi tentang opsi otorisasi yang didukung untuk blob:

Opsi otorisasi Panduan Rekomendasi
Microsoft Entra ID Mengotorisasi akses ke data Azure Storage dengan ID Microsoft Entra Microsoft merekomendasikan penggunaan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan ke sumber daya blob.
Kunci Bersama (kunci akun penyimpanan) Otorisasi dengan Kunci Bersama Microsoft menyarankan agar Anda melarang otorisasi Kunci Bersama untuk akun penyimpanan Anda.
Tanda Tangan Akses Bersama (SAS) Menggunakan tanda tangan akses bersama (SAS) Ketika otorisasi SAS diperlukan, Microsoft merekomendasikan penggunaan SAS delegasi pengguna untuk akses yang didelegasikan terbatas ke sumber daya blob.
Akses baca anonim Gambaran Umum: Memulihkan akses baca anonim untuk data blob Microsoft menyarankan agar Anda menonaktifkan akses anonim untuk semua akun penyimpanan Anda.
Storage Pengguna Lokal Hanya didukung untuk SFTP. Untuk mempelajari selengkapnya, lihat Mengotorisasi akses ke Blob Storage untuk klien SFTP Lihat panduan untuk opsi.

Bagian berikut ini menjelaskan secara singkat opsi otorisasi untuk Azure Storage:

  • Otorisasi Kunci Bersama: Berlaku untuk blob, file, antrean, dan tabel. Klien yang menggunakan otorisasi Kunci Bersama melewati header dengan setiap permintaan yang ditandatangani menggunakan kunci akses akun penyimpanan. Untuk informasi selengkapnya, lihat Mengotorisasi dengan Kunci Bersama.

    Microsoft menyarankan agar Anda melarang otorisasi Kunci Bersama untuk akun penyimpanan Anda. Saat otorisasi Kunci Bersama tidak diizinkan, klien harus menggunakan ID Microsoft Entra atau SAS delegasi pengguna untuk mengotorisasi permintaan data di akun penyimpanan tersebut. Untuk informasi selengkapnya, lihat Mencegah otorisasi Kunci Bersama untuk akun Azure Storage.

  • Tanda tangan akses bersama untuk blob, file, antrean, dan tabel. Tanda tangan akses bersama (SAS) menyediakan akses delegasi terbatas ke sumber daya di akun penyimpanan melalui URL yang ditandatangani. URL yang ditandatangani menentukan izin yang diberikan ke sumber daya dan interval di mana tanda tangan itu valid. SAS layanan atau AKUN SAS ditandatangani dengan kunci akun, sementara SAS delegasi pengguna ditandatangani dengan kredensial Microsoft Entra dan hanya berlaku untuk blob. Untuk informasi selengkapnya, lihat Menggunakan tanda tangan akses bersama (SAS).

  • Integrasi Microsoft Entra: Berlaku untuk sumber daya blob, antrean, dan tabel. Microsoft merekomendasikan penggunaan kredensial Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan ke data jika memungkinkan untuk keamanan yang optimal dan kemudahan penggunaan. Untuk informasi selengkapnya tentang integrasi Microsoft Entra, lihat artikel untuk sumber daya blob, antrean, atau tabel .

    Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk mengelola izin prinsipal keamanan untuk sumber daya blob, antrean, dan tabel di akun penyimpanan. Anda juga dapat menggunakan kontrol akses berbasis atribut Azure (ABAC) untuk menambahkan kondisi ke penetapan peran Azure untuk sumber daya blob.

    Untuk informasi selengkapnya tentang Azure RBAC, lihat Apa itu kontrol akses berbasis peran Azure (Azure RBAC)?.

    Untuk informasi selengkapnya tentang ABAC, lihat Apa itu kontrol akses berbasis atribut Azure (Azure ABAC)?. Untuk mempelajari tentang status fitur ABAC, lihat Status fitur kondisi ABAC di Azure Storage.

  • Autentikasi Microsoft Entra Domain Services: Berlaku untuk Azure Files. Azure Files mendukung otorisasi berbasis identitas melalui Server Message Block (SMB) melalui Microsoft Entra Domain Services. Anda dapat menggunakan Azure RBAC untuk kontrol terperinci atas akses klien ke sumber daya Azure Files di akun penyimpanan. Untuk informasi selengkapnya tentang autentikasi Azure Files menggunakan layanan domain, lihat Gambaran Umum opsi autentikasi berbasis identitas Azure Files untuk akses SMB.

  • Autentikasi Active Directory Domain Services (AD DS, atau AD DS) lokal lokal: Berlaku untuk Azure Files. Azure Files mendukung otorisasi berbasis identitas melalui SMB hingga AD DS. Lingkungan AD DS Anda dapat dihosting di komputer lokal atau di Azure VM. Akses SMB ke File didukung menggunakan kredensial AD DS dari mesin yang bergabung dengan domain, baik di tempat atau di Azure. Anda dapat menggunakan kombinasi Azure RBAC untuk kontrol akses tingkat berbagi dan DACL NTFS untuk penegakan izin tingkat direktori/file. Untuk informasi selengkapnya tentang autentikasi Azure Files menggunakan layanan domain, lihat gambaran umum.

  • Akses baca anonim: Berlaku untuk sumber daya blob. Opsi ini tidak disarankan. Ketika akses anonim dikonfigurasi, klien dapat membaca data blob tanpa otorisasi. Kami menyarankan agar Anda menonaktifkan akses anonim untuk semua akun penyimpanan Anda. Untuk informasi selengkapnya, lihat Gambaran Umum: Memulihkan akses baca anonim untuk data blob.

  • Pengguna Lokal Penyimpanan: Berlaku untuk blob dengan SFTP atau file dengan SMB. Storage Pengguna Lokal mendukung izin tingkat kontainer untuk otorisasi. Lihat Menyambungkan ke Azure Blob Storage dengan menggunakan Protokol Transfer File SSH (SFTP) untuk informasi selengkapnya tentang cara Storage Pengguna Lokal dapat digunakan dengan SFTP.

Melindungi kunci akses Anda

Kunci akses akun penyimpanan menyediakan akses penuh ke konfigurasi akun penyimpanan, serta data. Selalu berhati-hatilah untuk melindungi kunci akses Anda. Gunakan Azure Key Vault untuk mengelola dan memutar kunci Anda dengan aman. Akses ke kunci bersama memberi pengguna akses penuh ke konfigurasi akun penyimpanan dan datanya. Akses ke kunci bersama harus dibatasi dan dipantau dengan hati-hati. Gunakan token SAS delegasi pengguna dengan cakupan akses terbatas dalam skenario di mana otorisasi berbasis ID Microsoft Entra tidak dapat digunakan. Hindari kunci akses hard-coding atau simpan di mana saja dalam teks biasa yang dapat diakses oleh orang lain. Putar kunci Anda jika Anda yakin kunci tersebut mungkin telah disusupi.

Penting

Untuk mencegah pengguna mengakses data di akun penyimpanan Anda dengan Kunci Bersama, Anda dapat melarang otorisasi Kunci Bersama untuk akun penyimpanan. Akses terperinci ke data dengan hak istimewa paling sedikit diperlukan disarankan sebagai praktik terbaik keamanan. Otorisasi berbasis ID Microsoft Entra menggunakan identitas terkelola harus digunakan untuk skenario yang mendukung OAuth. Kerberos atau SMTP harus digunakan untuk Azure Files melalui SMB. Untuk Azure Files melalui REST, token SAS dapat digunakan. Akses kunci bersama harus dinonaktifkan jika tidak diperlukan untuk mencegah penggunaannya yang tidak disengaja. Untuk informasi selengkapnya, lihat Mencegah otorisasi Kunci Bersama untuk akun Azure Storage.

Untuk melindungi akun Azure Storage dengan kebijakan Akses Bersyarat Microsoft Entra, Anda harus melarang otorisasi Kunci Bersama untuk akun penyimpanan.

Jika Anda telah menonaktifkan akses kunci bersama dan Anda melihat otorisasi Kunci Bersama yang dilaporkan dalam log diagnostik, ini menunjukkan bahwa akses tepercaya sedang digunakan untuk mengakses penyimpanan. Untuk detail selengkapnya, lihat Akses tepercaya untuk sumber daya yang terdaftar di langganan Anda.

Langkah berikutnya