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.
Connection string menyertakan informasi otorisasi yang diperlukan aplikasi Anda untuk mengakses data di akun Azure Storage saat runtime menggunakan otorisasi Kunci Bersama. Anda dapat mengonfigurasi string koneksi ke:
- Sambungkan ke emulator penyimpanan Azurite.
- Akses akun penyimpanan di Azure.
- Akses sumber daya yang ditentukan di Azure melalui tanda tangan akses bersama (SAS).
Untuk mempelajari cara melihat kunci akses akun Anda dan menyalin connection string, lihat Manage kunci akses akun penyimpanan.
Penting
Untuk keamanan yang optimal, Microsoft merekomendasikan penggunaan Microsoft Entra ID dengan identitas terkelola untuk mengotorisasi permintaan terhadap data blob, antrean, dan tabel, jika memungkinkan. Otorisasi dengan Microsoft Entra ID dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi Kunci Bersama. Untuk mempelajari selengkapnya tentang identitas terkelola, lihat Apa identitas terkelola untuk sumber daya Azure. Untuk contoh cara mengaktifkan dan menggunakan identitas terkelola untuk aplikasi .NET, lihat Autentikasi aplikasi yang dihosting Azure untuk Azure sumber daya 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 terhubung ke layanan Azure. Untuk mempelajari selengkapnya, lihat Otentikasi untuk sumber daya Azure dengan server Azure Arc-enabled.
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 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 Buat SAS delegasi pengguna untuk blob dengan .NET.
Melindungi kunci akses Anda
Kunci akses akun penyimpanan menyediakan akses penuh ke data akun penyimpanan dan kemampuan untuk menghasilkan token SAS. 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 data akun penyimpanan. 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 Microsoft Entra ID tidak dapat digunakan. Hindari menanamkan secara langsung atau menyimpan kunci akses dalam teks yang tidak terenkripsi 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. Microsoft Entra ID otorisasi berbasis identitas terkelola sebaiknya digunakan untuk skenario yang mendukung OAuth. Kerberos 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 otorisasi Kunci Bersama Prevent untuk akun Azure Storage.
Untuk melindungi akun Azure Storage dengan kebijakan Microsoft Entra Conditional Access, 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 informasi lebih lengkap, lihat Trusted access untuk sumber daya yang terdaftar di penyewa Microsoft Entra Anda.
Menyimpan connection string
Aplikasi Anda perlu mengakses connection string saat runtime untuk mengotorisasi permintaan yang dibuat ke Azure Storage. Anda memiliki beberapa opsi untuk menyimpan kunci akses akun atau connection string:
- Microsoft merekomendasikan penggunaan Microsoft Entra ID untuk mengotorisasi akses ke Azure Storage alih-alih kunci akun. Jika Anda harus menggunakan kunci akun, simpan dengan aman di Azure Key Vault. Untuk informasi selengkapnya, lihat Autorisasi akses ke data di Azure Storage.
- Anda dapat menyimpan connection string Anda dalam variabel lingkungan.
- Aplikasi dapat menyimpan connection string dalam file app.config atau web.config. Tambahkan connection string ke bagian AppSettings di file-file ini.
Peringatan
Menyimpan kunci akses akun Anda atau connection string dalam teks yang jelas memberikan risiko keamanan dan tidak disarankan. Simpan kunci akun Anda dalam format terenkripsi, atau migrasikan aplikasi Anda untuk menggunakan otorisasi Microsoft Entra untuk akses ke akun penyimpanan Anda.
Mengonfigurasi string koneksi untuk Azurite
Emulator mendukung satu akun tetap dan kunci autentikasi terkenal untuk autentikasi Shared Key. Akun dan kunci ini adalah satu-satunya informasi masuk Shared Key yang diizinkan untuk digunakan dengan emulator. Mereka adalah:
Account name: devstoreaccount1
Account key: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
Catatan
Kunci autentikasi yang didukung oleh emulator hanya ditujukan untuk menguji fungsionalitas kode autentikasi klien Anda. Ini tidak melayani tujuan keamanan apapun. Anda tidak dapat menggunakan akun penyimpanan produksi dan kunci dengan emulator. Anda tidak boleh menggunakan akun pengembangan dengan data produksi.
Emulator hanya mendukung koneksi melalui HTTP. Namun, HTTPS adalah protokol yang direkomendasikan untuk mengakses sumber daya dalam akun penyimpanan Azure produksi.
Hubungkan ke akun emulator menggunakan pintasan
Cara term mudah untuk terhubung ke emulator dari aplikasi Anda adalah dengan mengonfigurasi connection string dalam file konfigurasi aplikasi Anda yang mereferensikan pintasan UseDevelopmentStorage=true. Pintasan setara dengan string koneksi lengkap untuk emulator, yang menentukan nama akun, kunci akun, dan titik akhir emulator untuk setiap layanan Azure Storage.
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;
AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;
BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;
QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
TableEndpoint=http://127.0.0.1:10002/devstoreaccount1;
Cuplikan kode .NET berikut menunjukkan bagaimana Anda dapat menggunakan pintasan dari metode yang mengambil connection string. Misalnya, konstruktor BlobContainerClient(String, String) menerima string koneksi.
BlobContainerClient blobContainerClient = new BlobContainerClient("UseDevelopmentStorage=true", "sample-container");
blobContainerClient.CreateIfNotExists();
Pastikan emulator berjalan sebelum memanggil kode di cuplikan.
Untuk informasi selengkapnya tentang Azurite, lihat Gunakan emulator Azurite untuk pengembangan Azure Storage lokal.
Mengonfigurasi connection string untuk akun penyimpanan Azure
Untuk membuat connection string untuk akun penyimpanan Azure Anda, gunakan format berikut. Tunjukkan apakah Anda ingin terhubung ke akun penyimpanan melalui HTTPS (disarankan) atau HTTP, ganti myAccountName dengan nama akun penyimpanan Anda, dan ganti myAccountKey dengan kunci akses akun Anda:
DefaultEndpointsProtocol=[http|https];AccountName=myAccountName;AccountKey=myAccountKey
Misalnya, connection string Anda mungkin terlihat mirip dengan:
DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=<account-key>
Meskipun Azure Storage mendukung HTTP dan HTTPS dalam connection string, HTTPS sangat disarankan.
Petunjuk
Anda dapat menemukan string koneksi akun penyimpanan Anda di portal Azure. Navigasikan keKunci akses> di pengaturan akun penyimpanan Anda untuk melihat string koneksi untuk kunci akses primer dan sekunder.
Membuat connection string menggunakan tanda tangan akses bersama
Jika Anda memiliki URL tanda tangan akses bersama (SAS) yang memberi Anda akses ke sumber daya di akun penyimpanan, Anda dapat menggunakan SAS dalam connection string. Karena SAS berisi informasi yang diperlukan untuk mengautentikasi permintaan, connection string dengan SAS menyediakan protokol, titik akhir layanan, dan kredensial yang diperlukan untuk mengakses sumber daya.
Untuk membuat connection string yang menyertakan tanda tangan akses bersama, tentukan string dalam format berikut:
BlobEndpoint=myBlobEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
FileEndpoint=myFileEndpoint;
SharedAccessSignature=sasToken
Setiap titik akhir layanan bersifat opsional, meskipun connection string harus berisi setidaknya satu.
Catatan
Menggunakan HTTPS dengan SAS disarankan sebagai praktik terbaik.
Jika Anda menentukan SAS dalam connection string dalam file konfigurasi, Anda mungkin perlu mengodekan karakter khusus di URL.
Contoh Layanan SAS
Berikut adalah contoh connection string yang menyertakan LAYANAN SAS untuk penyimpanan Blob:
BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&sr=b&si=tutorial-policy-635959936145100803&sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D
Dan berikut adalah contoh connection string yang sama dengan pengodean URL:
BlobEndpoint=https://storagesample.blob.core.windows.net;
SharedAccessSignature=sv=2015-04-05&sr=b&si=tutorial-policy-635959936145100803&sig=9aCzs76n0E7y5BpEi2GvsSv433BZa22leDOZXX%2BXXIU%3D
Contoh SAS Akun
Berikut adalah contoh string koneksi yang menyertakan SAS akun untuk penyimpanan Blob dan File. Perhatikan bahwa titik akhir untuk kedua layanan ditentukan:
BlobEndpoint=https://storagesample.blob.core.windows.net;
FileEndpoint=https://storagesample.file.core.windows.net;
SharedAccessSignature=sv=2015-07-08&sig=iCvQmdZngZNW%2F4vw43j6%2BVz6fndHF5LI639QJba4r8o%3D&spr=https&st=2016-04-12T03%3A24%3A31Z&se=2016-04-13T03%3A29%3A31Z&srt=s&ss=bf&sp=rwl
Dan berikut adalah contoh connection string yang sama dengan pengodean URL:
BlobEndpoint=https://storagesample.blob.core.windows.net;
FileEndpoint=https://storagesample.file.core.windows.net;
SharedAccessSignature=sv=2015-07-08&sig=iCvQmdZngZNW%2F4vw43j6%2BVz6fndHF5LI639QJba4r8o%3D&spr=https&st=2016-04-12T03%3A24%3A31Z&se=2016-04-13T03%3A29%3A31Z&srt=s&ss=bf&sp=rwl
Membuat connection string untuk titik akhir penyimpanan eksplisit
Anda dapat menentukan titik akhir layanan eksplisit di connection string Anda alih-alih menggunakan titik akhir default. Untuk membuat connection string yang menentukan titik akhir eksplisit, tentukan titik akhir layanan lengkap untuk setiap layanan, termasuk spesifikasi protokol (HTTPS (disarankan) atau HTTP), dalam format berikut:
DefaultEndpointsProtocol=[http|https];
BlobEndpoint=myBlobEndpoint;
FileEndpoint=myFileEndpoint;
QueueEndpoint=myQueueEndpoint;
TableEndpoint=myTableEndpoint;
AccountName=myAccountName;
AccountKey=myAccountKey
Salah satu skenario di mana Anda mungkin ingin menentukan titik akhir eksplisit adalah ketika Anda telah memetakan titik akhir penyimpanan Blob Anda ke domain kustom. Dalam hal ini, Anda dapat menentukan titik akhir kustom untuk penyimpanan Blob di connection string Anda. Anda dapat secara opsional menentukan titik akhir default untuk layanan lain jika aplikasi Anda menggunakannya.
Berikut adalah contoh connection string yang menentukan titik akhir eksplisit untuk layanan Blob:
# Blob endpoint only
DefaultEndpointsProtocol=https;
BlobEndpoint=http://www.mydomain.com;
AccountName=storagesample;
AccountKey=<account-key>
Contoh ini menentukan titik akhir eksplisit untuk semua layanan, termasuk domain kustom untuk layanan Blob:
# All service endpoints
DefaultEndpointsProtocol=https;
BlobEndpoint=http://www.mydomain.com;
FileEndpoint=https://myaccount.file.core.windows.net;
QueueEndpoint=https://myaccount.queue.core.windows.net;
TableEndpoint=https://myaccount.table.core.windows.net;
AccountName=storagesample;
AccountKey=<account-key>
Nilai titik akhir dalam connection string digunakan untuk membuat URI permintaan ke layanan penyimpanan, dan menentukan bentuk URI apa pun yang dikembalikan ke kode Anda.
Jika Anda telah memetakan titik akhir penyimpanan ke domain kustom dan menghilangkan titik akhir tersebut dari connection string, maka Anda tidak akan dapat menggunakan connection string tersebut untuk mengakses data dalam layanan tersebut dari kode Anda.
Untuk informasi selengkapnya tentang mengonfigurasi domain kustom untuk Azure Storage, lihat Map domain kustom ke titik akhir Azure Blob Storage.
Penting
Nilai titik akhir layanan dalam string koneksi Anda harus berupa URI yang terbentuk dengan baik, termasuk https:// (disarankan) atau http://.
Menyusun string koneksi dengan sufiks titik akhir
Untuk membuat connection string untuk layanan penyimpanan di wilayah atau instans dengan akhiran titik akhir yang berbeda, seperti untuk Microsoft Azure yang dioperasikan oleh 21Vianet atau Azure Government, gunakan format connection string berikut. Tunjukkan apakah Anda ingin terhubung ke akun penyimpanan melalui HTTPS (disarankan) atau HTTP, ganti myAccountName dengan nama akun penyimpanan Anda, ganti myAccountKey dengan kunci akses akun Anda, dan ganti mySuffix dengan akhiran URI:
DefaultEndpointsProtocol=[http|https];
AccountName=myAccountName;
AccountKey=myAccountKey;
EndpointSuffix=mySuffix;
Berikut adalah contoh connection string untuk layanan penyimpanan di Azure yang dioperasikan oleh 21Vianet:
DefaultEndpointsProtocol=https;
AccountName=storagesample;
AccountKey=<account-key>;
EndpointSuffix=core.chinacloudapi.cn;
Mengotorisasi akses dengan Kunci Bersama
Untuk mempelajari cara mengotorisasi akses ke Azure Storage dengan kunci akun atau dengan connection string, lihat salah satu artikel berikut ini:
- Mengotorisasi akses dan menghubungkan ke .NET Blob Storage
- Otorisasi akses dan hubungkan ke Blob Storage dengan Java
- Otorisasi akses dan hubungkan dengan Blob Storage menggunakan JavaScript
- Otorisasi akses dan hubungkan ke Blob Storage dengan Python
Langkah selanjutnya
- Berikan akses terbatas ke sumber daya Azure Storage menggunakan tanda tangan akses bersama (SAS)
- Gunakan emulator Azurite untuk pengembangan Azure Storage lokal