Autentikasi dengan perwakilan layanan di ID Microsoft Entra

Selesai

Staf perusahaan Anda menggunakan beberapa aplikasi lokal dalam menjalankan bisnis sehari-hari. Baru-baru ini, perusahaan menyelesaikan audit keamanan di seluruh perusahaan. Audit menyoroti kelemahan desain dalam beberapa aplikasi. Audit menemukan nama pengguna dan sandi yang disimpan dalam kode sumber aplikasi atau file konfigurasi terkait.

Laporan menunjukkan masalah keamanan berikut terkait menyimpan nama pengguna dan kata sandi dalam kode atau dalam file konfigurasi:

  • Kata sandi yang disimpan dalam teks biasa dapat diakses oleh siapa saja.
  • Kredensial pengguna yang disusupi mengancam keamanan jaringan perusahaan.
  • Kredensial pengguna yang disusupi memungkinkan akses ke sumber daya sensitif seperti data penjualan dan pemasaran.
  • Pendekatan penyimpanan kredensial saat ini membuat overhead yang tidak perlu. Aplikasi perlu diperbarui dan digunakan kembali saat kredensial kedaluwarsa.
  • Solusi penyimpanan kredensial saat ini membatasi aplikasi ke lokal. Aplikasi tidak dapat menskalakan ke penggunaan cloud tanpa perubahan signifikan.

Sebagai pengembang, Anda telah diminta untuk memperbaiki masalah ini. Laporan audit menyarankan penggunaan perwakilan layanan Azure untuk meningkatkan keamanan aplikasi.

Di unit ini, Anda akan mempelajari perwakilan layanan Azure secara lebih mendetail. Anda akan mempelajari konsep di belakangnya dan mencari tahu cara menerapkannya untuk mengakses sumber daya Azure.

Apa itu perwakilan layanan Azure?

Anggaplah perwakilan layanan Azure sebagai akun proksi—atau identitas—yang mewakili aplikasi atau layanan Anda. MICROSOFT Entra ID mengelola akun ini. Anda memberikan akses perwakilan layanan ke sumber daya Azure yang Anda butuhkan. Gunakan perwakilan layanan tersebut, bukan menyematkan kredensial atau membuat akun dummy untuk aplikasi Anda.

Perwakilan layanan ada di tingkat penyewa di Azure. Perwakilan layanan digunakan untuk memberikan akses ke sumber daya di penyewa tersebut.

Di portal Azure, Anda dapat membuat aplikasi Microsoft Entra untuk mewakili aplikasi Anda. Anda kemudian dapat mengaitkan objek aplikasi ini dengan perwakilan layanan.

Jika semua sumber daya berada di penyewa yang sama, Anda hanya perlu mengaitkan satu perwakilan layanan. Jika aplikasi Anda memerlukan akses ke sumber daya Azure di penyewa lain, Anda memerlukan perwakilan layanan untuk setiap penyewa.

Diagram showing the relationship between service principals and tenants.

Anda dapat membuat perwakilan layanan menggunakan salah satu opsi berikut:

  • Melalui portal
  • Dengan menggunakan PowerShell
  • Melalui perintah CLI
  • Dengan menggunakan panggilan API

Menggunakan platform identitas Microsoft di aplikasi Anda

platform identitas Microsoft menyederhanakan cara aplikasi Anda mengautentikasi dengan ID Microsoft Entra. Platform tersebut menyediakan cara terpadu untuk mengautentikasi aplikasi Anda. Ketika aplikasi berhasil mengautentikasi dengan MICROSOFT Entra ID, aplikasi menerima token unik. Aplikasi menggunakan token ini setiap kali melakukan panggilan ke API, atau panggilan untuk mengakses layanan. Untuk membuat aplikasi, gunakan Microsoft Authentication Library (MSAL) untuk menyediakan dukungan akses menyeluruh.

Anda dapat menyediakan aplikasi untuk platform identitas Microsoft dalam beberapa cara. Di sini, kita akan menggunakan portal untuk mendaftarkan aplikasi di Azure.

  1. Masuk ke portal Azure dan pilih MICROSOFT Entra ID.

  2. Pilih Pendaftaran aplikasi.

  3. Di sudut kiri atas, pilih Pendaftaran baru.

    Screenshot showing how to add an application to Azure AD.

  4. Masukkan nama tampilan untuk aplikasi.

  5. Tentukan salah satu jenis akun yang didukung. Anda dapat memilih dari:

    • Akun dalam penyewa Microsoft Entra perusahaan Anda.
    • Akun di penyewa Microsoft Entra perusahaan mana pun.
    • Akun organisasi dan akun pribadi apa pun, seperti Microsoft atau Xbox.
  6. (Opsional) Pilih parameter URI pengalihan. Dua jenis yang tersedia adalah Web dan Klien Publik. URI pengalihan berbentuk tautan web (HTTPS). Tautan tidak harus valid kecuali Anda memilih klien publik.

Setelah Anda menyelesaikan langkah-langkahnya, aplikasi terdaftar dengan ID Microsoft Entra. Ini juga terkait dengan perwakilan layanan.

Menetapkan peran aplikasi

Aplikasi Microsoft Entra harus diberi peran untuk bekerja dengan layanan lain. Azure menggunakan kontrol akses berbasis peran (RBAC) untuk mengelola akses ke sumber daya Azure dengan ketat dan mengelola bagaimana sumber daya tersebut digunakan. Peran aplikasi menentukan izin dan cakupannya.

Izin RBAC diwarisi dari tingkat kumpulan cakupan. Misalnya, jika Anda menetapkan peran pembaca ke grup sumber daya, izin baca ditetapkan ke semua sumber daya dalam grup tersebut.

Gunakan portal Microsoft Azure untuk menetapkan peran yang diperlukan aplikasi Anda untuk mengakses brankas kunci:

  1. Di portal, pilih brankas kunci Anda.
  2. Di sebelah kiri, pilih Kontrol Akses (IAM).
  3. Pilih Tambahkan penetapan peran.
  4. Pilih peran yang Anda perlukan.
  5. Pada tab Anggota, terima opsi Tetapkan akses ke default: Pengguna, grup, atau perwakilan layanan.
  6. Pilih + Pilih anggota.
  7. Cari dan pilih aplikasi Anda.
  8. Pilih Tinjau + tetapkan.

Mengelola kunci dan izin

Untuk mengakses sumber daya Azure dengan menggunakan perwakilan layanan, Anda memerlukan dua parameter:

  • ID direktori (penyewa): ID unik yang mengidentifikasi penyewa Microsoft Entra.
  • ID aplikasi (klien): ID unik yang mengidentifikasi aplikasi Microsoft Entra Anda.

Screenshot showing how to add a client secret.

Untuk mengautentikasi permintaan, aplikasi memerlukan kredensial. Kredensial memungkinkan aplikasi mengidentifikasi dirinya sendiri. Anda dapat memilih dari dua bentuk kredensial:

  • Sertifikat: Anda membuat sertifikat secara lokal, lalu mengunggah file .cer, .pem, atau .crt. Sertifikat biasa disebut sebagai kunci publik.
  • Rahasia klien: String rahasia kompleks ini dihasilkan di Azure. Rahasia klien juga disebut sebagai kata sandi aplikasi.

Baik menggunakan rahasia klien atau sertifikat, Anda perlu menentukan kapan kredensial ini akan kedaluwarsa. Kedaluwarsa bervariasi menurut organisasi, tetapi praktik yang baik adalah memilih satu atau dua tahun.

Catatan

Karena sertifikat dapat kedaluwarsa, atur rahasia klien kedaluwarsa untuk keamanan terbaik. Mengelola kredensial ini adalah kelemahan aplikasi yang menggunakan perwakilan layanan untuk mengakses sumber daya Azure.

Waktu tepat untuk menggunakan perwakilan layanan

Kami sekarang telah menjelajahi proses manual untuk membuat aplikasi Microsoft Entra, mengaitkan perwakilan layanan, dan memberikan akses ke sumber daya. Anda menggunakan proses manual ini hanya dalam dua skenario:

  • Aplikasi atau layanan Anda berjalan secara lokal.
  • Sumber daya atau aplikasi yang perlu Anda akses tidak mendukung identitas terkelola.

Cara paling aman dan nyaman untuk menangani autentikasi dalam Azure adalah dengan menggunakan identitas terkelola.

Uji pengetahuan Anda

1.

Tiga item mana yang perlu diautentikasi aplikasi kustom dengan aplikasi Microsoft Entra?

2.

Layanan apa yang dipanggil saat aplikasi Anda meneruskan token ke Azure?