Autentikasi dengan perwakilan layanan di Azure AD

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 menciptakan 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. 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. Akun ini dikelola oleh Azure Active Directory (Azure AD). 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 Microsoft Azure, Anda membuat aplikasi Azure AD untuk mewakili aplikasi Anda. Kemudian, Anda 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 yang menunjukkan hubungan antara perwakilan layanan dan penyewa.

Anda dapat membuat perwakilan layanan menggunakan salah satu opsi di bawah ini:

  • 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 Azure AD. Platform tersebut menyediakan cara terpadu untuk mengautentikasi aplikasi Anda. Saat aplikasi berhasil mengautentikasi dengan Azure AD, aplikasi akan 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 Microsoft Azure, lalu pilih Azure Active Directory.

  2. Pilih Pendaftaran aplikasi.

  3. Di sudut kiri atas, pilih Pendaftaran baru.

    Cuplikan layar yang menunjukkan cara menambahkan aplikasi ke Azure AD.

  4. Masukkan nama tampilan untuk aplikasi.

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

    • Akun di penyewa Azure AD perusahaan Anda.
    • Akun di penyewa Azure AD 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.

Saat Anda menyelesaikan langkahnya, aplikasi terdaftar di Azure AD. Ini juga terkait dengan perwakilan layanan.

Menetapkan peran aplikasi

Aplikasi Azure AD 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 cara 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 prinsip layanan Azure AD.
  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 Azure AD.
  • ID aplikasi (klien),ID unik yang mengidentifikasi aplikasi Azure AD Anda.

Cuplikan layar yang menunjukkan cara menambahkan rahasia klien.

Untuk mengautentikasi permintaan, aplikasi memerlukan kredensial. Kredensial memungkinkan aplikasi mengidentifikasi dirinya sendiri. Pilih 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, untuk keamanan terbaik, atur rahasia klien untuk kedaluwarsa. Mengelola kredensial ini adalah kelemahan aplikasi yang menggunakan perwakilan layanan untuk mengakses sumber daya Azure.

Waktu tepat untuk menggunakan perwakilan layanan

Sekarang, kita telah mempelajari proses manual untuk membuat aplikasi Azure AD, 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 oleh aplikasi kustom dengan aplikasi Azure AD?

2.

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