Bagikan melalui


Mengamankan aplikasi daemon

Artikel ini menjelaskan cara meng-hosting aplikasi daemon di lingkungan tepercaya dan aman di Microsoft Azure Maps.

Berikut ini adalah contoh aplikasi daemon:

  • Azure Web Job
  • Azure Function App
  • Layanan Windows
  • Layanan latar belakang yang berjalan dan andal

Menampilkan detail autentikasi Azure Maps

Untuk menampilkan detail autentikasi akun Azure Maps di portal Azure:

  1. Masuk ke portal Azure.

  2. Buka menu portal Azure. Pilih Semua sumber daya, lalu pilih akun Azure Maps Anda.

  3. Di bawah Pengaturan di panel kiri, pilih Autentikasi.

    Cuplikan layar memperlihatkan opsi autentikasi Azure Maps Anda di portal Azure.

Tiga nilai dibuat saat akun Azure Maps dibuat. Nilai tersebut digunakan untuk mendukung dua jenis autentikasi di Azure Maps:

  • Autentikasi Microsoft Entra: Client ID mewakili akun yang akan digunakan untuk permintaan REST API. Nilai Client ID harus disimpan dalam konfigurasi aplikasi, dan kemudian harus diambil sebelum membuat permintaan HTTP Azure Maps yang menggunakan autentikasi Microsoft Entra.
  • Autentikasi Kunci Bersama: Primary Key dan Secondary Key digunakan sebagai kunci langganan untuk autentikasi Kunci Bersama. Autentikasi Kunci Bersama bergantung pada penerusan kunci yang dihasilkan oleh akun Azure Maps dengan setiap permintaan ke Azure Maps. Kami menyarankan Anda secara teratur meregenerasi kunci Anda. Untuk mempertahankan koneksi saat ini selama regenerasi, disediakan dua kunci. Satu kunci dapat digunakan, selama regenerasi kunci lain. Ketika Anda meregenerasi kunci Anda, Anda harus memperbarui aplikasi apa pun yang mengakses akun ini untuk menggunakan kunci baru. Untuk informasi selengkapnya, lihat Autentikasi dengan Azure Maps

Penting

Untuk aplikasi produksi, sebaiknya terapkan ID Microsoft Entra dan kontrol akses berbasis peran Azure (Azure RBAC). Untuk gambaran umum konsep Microsoft Entra, lihat Autentikasi dengan Azure Maps.

Skenario: Autentikasi kunci bersama dengan Azure Key Vault

Aplikasi yang menggunakan autentikasi Kunci Bersama, harus menyimpan kunci di penyimpanan yang aman. Skenario ini menjelaskan cara menyimpan kunci aplikasi Anda dengan aman sebagai rahasia di Azure Key Vault. Alih-alih menyimpan kunci bersama dalam konfigurasi aplikasi, aplikasi dapat mengambil kunci bersama sebagai rahasia Azure Key Vault. Untuk menyederhanakan regenerasi kunci, sebaiknya aplikasi menggunakan satu kunci pada satu waktu. Kemudian, aplikasi dapat meregenerasi kunci yang tidak digunakan dan menyebarkan kunci yang diregenerasi ke Azure Key Vault sambil tetap mempertahankan koneksi saat ini dengan satu kunci. Untuk memahami cara mengonfigurasi Azure Key Vault, lihat Panduan pengembang Azure Key Vault.

Penting

Skenario ini secara tidak langsung mengakses ID Microsoft Entra melalui Azure Key Vault. Namun, kami sarankan Anda menggunakan autentikasi Microsoft Entra secara langsung. Menggunakan MICROSOFT Entra ID secara langsung menghindari kompleksitas tambahan dan persyaratan operasional menggunakan autentikasi kunci bersama dan menyiapkan Key Vault.

Langkah-langkah berikut menguraikan proses ini:

  1. Membuat Azure Key Vault.
  2. Buat perwakilan layanan Microsoft Entra dengan membuat pendaftaran Aplikasi atau identitas terkelola. Perwakilan yang dibuat bertanggung jawab untuk mengakses Azure Key Vault.
  3. Tetapkan akses perwakilan layanan ke izin get rahasia Azure Key. Untuk mengetahui detail tentang cara menetapkan izin, lihat Menetapkan kebijakan akses Key Vault menggunakan portal Azure.
  4. Tetapkan sementara akses ke set izin rahasia untuk Anda sebagai pengembang.
  5. Tetapkan kunci bersama di rahasia Key Vault dan rujuk ID rahasia sebagai konfigurasi untuk aplikasi daemon.
  6. Hapus izin set rahasia Anda.
  7. Untuk mengambil rahasia kunci bersama dari Azure Key Vault, terapkan autentikasi Microsoft Entra di aplikasi daemon.
  8. Buat permintaan REST API Azure Maps dengan kunci bersama. Kini, aplikasi daemon dapat mengambil kunci bersama dari Key Vault.

Tip

Jika aplikasi dihosting di lingkungan Azure, sebaiknya Anda menggunakan identitas terkelola untuk mengurangi biaya dan kompleksitas mengelola rahasia untuk autentikasi. Untuk mempelajari cara menyiapkan identitas terkelola, lihat Tutorial: Menggunakan identitas terkelola untuk menyambungkan Key Vault ke aplikasi web Azure di .NET.

Skenario: Kontrol akses berbasis peran Microsoft Entra

Setelah akun Azure Maps dibuat, nilai Azure Maps Client ID berada di halaman detail autentikasi portal Azure. Nilai ini merepresentasikan akun yang akan digunakan untuk permintaan REST API. Nilai ini harus disimpan di konfigurasi aplikasi dan diambil sebelum membuat permintaan. Tujuan dari skenario ini adalah untuk mengaktifkan aplikasi daemon untuk mengautentikasi ke ID Microsoft Entra dan memanggil REST API Azure Maps.

Tip

Untuk mengaktifkan keuntungan komponen identitas terkelola, sebaiknya Anda meng-hosting di Azure Virtual Machines, Virtual Machine Scale Sets, atau App Services.

Meng-hosting daemon di sumber daya Azure

Ketika menjalankan sumber daya Azure, Anda dapat mengonfigurasi identitas terkelola Azure untuk mengaktifkan biaya rendah, upaya pengelolaan informasi masuk minimal.

Untuk mengaktifkan akses aplikasi ke identitas terkelola, lihat Gambaran umum identitas terkelola.

Beberapa keuntungan identitas terkelola adalah:

  • Autentikasi kriptografi kunci publik sertifikat X509 yang dikelola sistem Azure.
  • Keamanan Microsoft Entra dengan sertifikat X509 alih-alih rahasia klien.
  • Azure mengelola dan memperbarui semua sertifikat yang terkait dengan sumber daya Identitas Terkelola.
  • Manajemen operasional informasi masuk disederhanakan karena identitas terkelola menghapus kebutuhan akan layanan penyimpanan rahasia yang aman, seperti Azure Key Vault.

Meng-hosting daemon di sumber daya non-Azure

Identitas terkelola hanya tersedia saat berjalan di lingkungan Azure. Dengan demikian, Anda harus mengonfigurasi perwakilan layanan melalui pendaftaran aplikasi Microsoft Entra untuk aplikasi daemon.

Membuat pendaftaran aplikasi baru

Jika Anda telah membuat pendaftaran aplikasi, buka Menetapkan izin API yang didelegasikan.

Untuk membuat pendaftaran aplikasi baru:

  1. Masuk ke portal Azure.

  2. Pilih Microsoft Entra ID.

  3. Pada Kelola di panel kiri, pilih Pendaftaran aplikasi.

  4. Pilih + Tab pendaftaran baru.

    Cuplikan layar memperlihatkan pendaftaran aplikasi di MICROSOFT Entra ID.

  5. Masukkan Nama, lalu pilih Jenis akun dukungan.

    Buat pendaftaran aplikasi.

  6. Pilih Daftarkan.

Menetapkan izin API yang didelegasikan

Untuk menetapkan izin API yang didelegasikan ke Azure Maps:

  1. Jika Anda belum melakukannya, masuk ke portal Azure.

  2. Pilih Microsoft Entra ID.

  3. Pada Kelola di panel kiri, pilih Pendaftaran aplikasi.

  4. Pilih aplikasi Anda.

    Pilih pendaftaran aplikasi.

  5. Pada Kelola di panel kiri, pilih Izin API.

  6. Pilih Tambahkan izin.

    Tambahkan izin aplikasi.

  7. Pilih tab API yang digunakan organisasi saya.

  8. Di kotak pencarian, masukkan Azure Maps.

  9. Pilih Azure Maps.

    Minta izin aplikasi.

  10. Centang kotak Akses Azure Maps.

  11. Pilih Tambahkan izin.

    Pilih izin API aplikasi.

Membuat rahasia klien atau mengonfigurasikan sertifikat

Untuk menerapkan autentikasi berbasis server atau aplikasi ke dalam aplikasi Anda, Anda dapat memilih salah satu dari dua opsi:

  • Unggah sertifikat kunci umum.
  • Buat rahasia klien.
Mengunggah sertifikat kunci umum

Untuk mengunggah sertifikat kunci umum:

  1. Pada Kelola di panel kiri, pilih Sertifikat & rahasia.

  2. Pilih Unggah sertifikat. Unggah sertifikat.

  3. Di sebelah kanan kotak teks, pilih ikon file.

  4. Pilih file .crt, .cer, atau .pem, lalu pilih Tambahkan.

    Unggah file sertifikat.

Membuat rahasia klien

Untuk membuat rahasia klien:

  1. Pada Kelola di panel kiri, pilih Sertifikat & rahasia.

  2. Pilih + Rahasia klien baru.

    Rahasia klien baru.

  3. Masukkan deskripsi untuk rahasia klien.

  4. Pilih Tambahkan.

    Tambahkan rahasia klien baru.

  5. Salin rahasia dan simpan dengan aman di layanan seperti Azure Key Vault. Selain itu, gunakan rahasia di bagian Minta token dengan Identitas Terkelola di artikel ini.

    Salin rahasia klien.

    Penting

    Untuk menyimpan sertifikat atau rahasia dengan aman, lihat Panduan Pengembang Azure Key Vault. Anda akan menggunakan rahasia ini untuk mendapatkan token dari ID Microsoft Entra.

Memberikan akses berbasis peran bagi pengguna ke Azure Maps

Anda dapat memberikan kontrol akses berbasis peran Azure (Azure RBAC) dengan menetapkan grup Microsoft Entra atau prinsip keamanan ke satu atau beberapa definisi peran Azure Maps.

Untuk melihat definisi peran Azure yang tersedia untuk Azure Peta, buka Melihat definisi peran Azure Maps bawaan.

Untuk langkah-langkah mendetail tentang cara menetapkan peran Azure Maps yang tersedia ke identitas terkelola yang dibuat atau perwakilan layanan, lihat Menetapkan peran Azure menggunakan portal Azure

Untuk mengelola aplikasi Azure Maps dan akses sumber daya secara efisien dari sejumlah besar pengguna, lihat Grup Microsoft Entra.

Penting

Agar pengguna diizinkan untuk mengautentikasi ke aplikasi, pengguna harus terlebih dahulu dibuat di ID Microsoft Entra. Untuk informasi selengkapnya, lihat Menambahkan atau menghapus pengguna menggunakan Microsoft Entra ID.

Untuk mempelajari tentang cara mengelola direktori besar secara efektif untuk pengguna, lihat ID Microsoft Entra.

Peringatan

Definisi peran bawaan Azure Maps menyediakan akses otorisasi yang sangat besar ke banyak REST API Azure Maps. Untuk membatasi akses API ke minimum, lihat membuat definisi peran kustom dan menetapkan identitas yang ditetapkan sistem ke definisi peran kustom. Ini akan mengaktifkan hak istimewa paling sedikit yang diperlukan agar aplikasi dapat mengakses Azure Maps.

Meminta token dengan identitas terkelola

Setelah identitas terkelola dikonfigurasi untuk sumber daya hosting, Anda dapat menggunakan Azure SDK atau REST API guna mendapatkan token untuk Azure Maps. Untuk mempelajari cara mendapatkan token akses, lihat Mendapatkan token akses.

Meminta token dengan pendaftaran aplikasi

Setelah mendaftarkan aplikasi dan mengaitkannya dengan Azure Maps, Anda harus meminta token akses.

Untuk mendapatkan token akses:

  1. Jika Anda belum melakukannya, masuk ke portal Azure.

  2. Pilih Microsoft Entra ID.

  3. Pada Kelola di panel kiri, pilih Pendaftaran aplikasi.

  4. Pilih aplikasi Anda.

  5. Anda akan melihat halaman Gambaran Umum. Salin ID Aplikasi (klien) dan ID Direktori (penyewa).

    Salin parameter token.

Artikel ini menggunakan aplikasi bruno untuk membuat permintaan token, tetapi Anda dapat menggunakan lingkungan pengembangan API yang berbeda.

  1. Buka aplikasi bruno, pilih PERMINTAAN BARU untuk membuat permintaan.

  2. Di jendela PERMINTAAN BARU, atur Jenis ke HTTP. Masukkan Nama untuk permintaan tersebut, seperti Permintaan Token POST.

  3. Pilih metode HTTP GET di daftar drop-down URL, lalu masukkan URL berikut:

    https://login.microsoftonline.com/{Tenant-ID}/oauth2/v2.0/token?response_type=token&grant_type=client_credentials&client_id={Client-ID}&client_secret={Client-Secret}&scope=https://atlas.microsoft.com/.default
    

    Catatan

    Ganti:

    • {Tenant-ID} dengan ID Direktori (Penyewa)
    • {Client-ID} dengan ID Aplikasi (Klien)
    • {Client-Secret} dengan rahasia klien Anda.
  4. Pilih tombol jalankan

Anda akan melihat respons JSON berikut:

{
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFq..."
}

Untuk informasi selengkapnya tentang alur autentikasi, lihat Alur informasi masuk klien OAuth 2.0 di platform identitas Microsoft

Langkah berikutnya

Untuk contoh yang lebih detail:

Temukan metrik penggunaan API untuk akun Azure Maps Anda:

Jelajahi sampel yang menunjukkan cara mengintegrasikan MICROSOFT Entra ID dengan Azure Maps: