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.
Selama pengembangan lokal, aplikasi perlu mengautentikasi ke Azure untuk mengakses berbagai layanan Azure. Artikel ini menjelaskan cara menggunakan prinsipal layanan aplikasi sebagai salah satu dari dua pendekatan umum untuk autentikasi lokal.
- Cara mendaftarkan aplikasi dengan Microsoft Entra untuk membuat perwakilan layanan
- Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien
- Cara mengatur peran pada izin cakupan
- Cara melakukan autentikasi menggunakan perwakilan layanan atau service principal dari kode aplikasi Anda
Menggunakan prinsipal layanan untuk aplikasi khusus memungkinkan Anda mematuhi prinsip hak istimewa minimal saat mengakses sumber daya Azure. Izin terbatas pada persyaratan khusus aplikasi selama pengembangan, mencegah akses yang tidak disengaja ke sumber daya Azure yang ditujukan untuk aplikasi atau layanan lain. Pendekatan ini juga membantu menghindari masalah saat aplikasi dipindahkan ke produksi dengan memastikannya tidak terlalu istimewa di lingkungan pengembangan.
Sebuah diagram memperlihatkan bagaimana aplikasi yang berjalan di pengembang lokal mendapatkan prinsipal layanan aplikasi dari file .env lalu menggunakan identitas tersebut untuk terhubung ke sumber daya Azure.
Saat aplikasi didaftarkan di Azure, sebuah service principal aplikasi dibuat. Untuk pengembangan lokal:
- Buat pendaftaran aplikasi terpisah untuk setiap pengembang yang bekerja di aplikasi untuk memastikan setiap pengembang memiliki perwakilan layanan aplikasi mereka sendiri, menghindari kebutuhan untuk berbagi kredensial.
- Buat pendaftaran aplikasi terpisah untuk setiap aplikasi untuk membatasi izin aplikasi hanya untuk apa yang diperlukan.
Selama pengembangan lokal, variabel lingkungan diatur dengan identitas perwakilan layanan aplikasi. Pustaka identitas Azure membaca variabel lingkungan ini untuk mengautentikasi aplikasi ke sumber daya Azure yang diperlukan.
Mendaftarkan aplikasi di Azure
Objek prinsip layanan aplikasi dibuat melalui pendaftaran aplikasi di platform Azure menggunakan portal Azure atau Azure CLI.
Di portal Azure, gunakan bilah pencarian untuk menavigasi ke halaman App registrations.
Pada halaman App registrations, pilih + Pendaftaran baru.
Pada halaman Daftarkan aplikasi:
- Untuk bidang Nama, masukkan nilai deskriptif yang menyertakan nama aplikasi dan lingkungan target.
- Untuk Jenis akun yang didukung, pilih Akun di direktori organisasi ini saja (Hanya Microsoft Customer Led - Penyewa tunggal), atau opsi mana yang paling sesuai dengan kebutuhan Anda.
Pilih Daftarkan untuk mendaftarkan aplikasi Anda dan buat perwakilan layanan.
cuplikan layar
Pada halaman Pendaftaran aplikasi untuk aplikasi Anda, salin ID Aplikasi (klien) dan ID Direktori (penyewa) dan tempelkan di lokasi sementara untuk digunakan nanti dalam konfigurasi kode aplikasi Anda.
Pilih Tambahkan sertifikat atau rahasia untuk menyiapkan kredensial untuk aplikasi Anda.
Pada halaman Sertifikat & rahasia, pilih + Rahasia klien baru.
Pada panel pop-up Tambahkan rahasia klien yang terbuka:
- Untuk Deskripsi, masukkan nilai Saat Ini.
- Untuk nilai Kedaluwarsa , biarkan nilai yang direkomendasikan secara default, yaitu 180 hari.
- Pilih Tambahkan untuk menambahkan rahasia.
Pada halaman Sertifikat & rahasia, salin properti Nilai rahasia klien untuk digunakan dalam langkah selanjutnya.
Nota
Nilai rahasia klien hanya ditampilkan sekali setelah pendaftaran aplikasi dibuat. Anda dapat menambahkan lebih banyak rahasia klien tanpa membatalkan rahasia klien ini, tetapi tidak ada cara untuk menampilkan nilai ini lagi.
Membuat grup Microsoft Entra untuk pengembangan lokal
Buat grup Microsoft Entra untuk merangkum peran (izin) yang dibutuhkan aplikasi dalam pengembangan lokal daripada menetapkan peran ke objek perwakilan layanan individual. Pendekatan ini menawarkan keuntungan berikut:
- Setiap pengembang memiliki peran yang sama yang ditetapkan di tingkat grup.
- Jika peran baru diperlukan untuk aplikasi, peran tersebut hanya perlu ditambahkan ke grup untuk aplikasi.
- Jika pengembang baru bergabung dengan tim, perwakilan layanan aplikasi baru dibuat untuk pengembang dan ditambahkan ke grup, memastikan pengembang memiliki izin yang tepat untuk mengerjakan aplikasi.
Navigasi ke halaman gambaran umum Microsoft Entra ID di portal Azure.
Pilih Semua grup dari menu sebelah kiri.
Pada halaman Grup , pilih Grup baru.
Pada halaman Grup baru , isi bidang formulir berikut ini:
- Jenis grup: Pilih Keamanan.
- Nama grup: Masukkan nama untuk grup yang menyertakan referensi ke aplikasi atau nama lingkungan.
- Deskripsi grup: Masukkan deskripsi yang menjelaskan tujuan grup.
Cuplikan layar menunjukkan cara membuat grup di portal Azure.
Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.
Di panel pop-up yang terbuka, cari prinsipal layanan yang Anda buat sebelumnya dan pilih dari hasil yang sudah difilter. Pilih tombol Pilih di bagian bawah panel untuk mengonfirmasi pilihan Anda.
Pilih Buat di bagian bawah halaman Grup baru untuk membuat grup dan kembali ke halaman Semua grup . Jika Anda tidak melihat grup baru tercantum, tunggu sebentar dan refresh halaman.
Menetapkan peran ke grup
Selanjutnya, tentukan peran (izin) apa yang dibutuhkan aplikasi Anda pada sumber daya apa dan tetapkan peran tersebut ke grup Microsoft Entra yang Anda buat. Grup dapat diberi peranan di ruang lingkup sumber daya, grup sumber daya, atau langganan. Contoh ini menunjukkan cara menetapkan peran di cakupan grup sumber daya, karena sebagian besar aplikasi mengelompokkan semua sumber daya Azure mereka ke dalam satu grup sumber daya.
Di portal Azure, navigasikan ke halaman Overview grup sumber daya yang berisi aplikasi Anda.
Pilih Kontrol akses (IAM) dari navigasi kiri.
Pada halaman Kontrol akses (IAM), pilih + Tambahkan lalu pilih Tambahkan penetapan peran dari menu drop-down. Halaman Tambahkan penetapan peran menyediakan beberapa tab untuk mengonfigurasi dan menetapkan peran.
Pada tab Peran , gunakan kotak pencarian untuk menemukan peran yang ingin Anda tetapkan. Pilih peran, lalu pilih Berikutnya.
Pada tab Anggota :
- Untuk Menetapkan akses ke nilai, pilih Pengguna, grup, atau perwakilan layanan .
- Untuk nilai Anggota , pilih + Pilih anggota untuk membuka panel flyout Pilih anggota .
- Cari grup Microsoft Entra yang Anda buat sebelumnya dan pilih dari hasil yang difilter. Pilih Pilih untuk memilih grup dan menutup panel flyout.
- Pilih Tinjau + tetapkan di bawah tab Anggota.
Cuplikan layar yang menunjukkan cara menetapkan fungsi ke grup Microsoft Entra.
Di tab
Tinjau & Tetapkan , pilihTinjau & Tetapkan di bagian bawah halaman.
Mengatur variabel lingkungan aplikasi
Selama waktu proses, kredensial tertentu dari pustaka Azure Identity
Terlepas dari pendekatan yang Anda pilih, konfigurasikan variabel lingkungan berikut untuk perwakilan layanan:
-
AZURE_CLIENT_ID: ID aplikasi dari aplikasi yang terdaftar di Azure. -
AZURE_TENANT_ID: ID penyewa Microsoft Entra. -
AZURE_CLIENT_SECRET: Kredensial rahasia klien untuk aplikasi.
Karena sebagian besar pengembang bekerja pada beberapa aplikasi, menggunakan paket seperti python-dotenv disarankan untuk mengakses variabel lingkungan dari file yang .env disimpan di direktori aplikasi selama pengembangan. Pendekatan ini mencakup variabel lingkungan sehingga hanya aplikasi ini yang dapat menggunakannya.
File .env tidak pernah diperiksa ke kontrol sumber karena berisi kunci rahasia aplikasi untuk Azure. File .gitignore standar untuk Python secara otomatis mengecualikan file .env dari check-in.
Untuk menggunakan paket python-dotenv, pertama-tama instal paket tersebut di aplikasi Anda.
pip install python-dotenv
Kemudian, buat .env file di direktori akar aplikasi Anda. Atur nilai variabel lingkungan dengan nilai yang diperoleh dari proses pendaftaran aplikasi:
AZURE_CLIENT_ID=<your-client-id>
AZURE_TENANT_ID=<your-tenant-id>
AZURE_CLIENT_SECRET=<your-client-secret>
Terakhir, dalam kode startup untuk aplikasi Anda, gunakan python-dotenv pustaka untuk membaca variabel lingkungan dari .env file saat startup:
from dotenv import load_dotenv
load_dotenv()
Mengautentikasi ke layanan Azure dari aplikasi Anda
Pustaka azure-identity menyediakan berbagai kredensial—implementasi TokenCredential yang disesuaikan untuk mendukung beragam skenario dan alur autentikasi Microsoft Entra. Langkah-langkah di depan menunjukkan cara menggunakan ClientSecretCredential saat bekerja dengan perwakilan layanan secara lokal dan dalam produksi.
Menerapkan kode
Mulailah dengan menambahkan paket ke aplikasi Anda.
pip install azure-identity
Selanjutnya, untuk kode Python apa pun yang membuat objek klien Azure SDK di aplikasi, Anda harus:
- Impor kelas
ClientSecretCredentialdari modulazure.identity. -
osImpor modul untuk membaca variabel lingkungan. - Baca variabel lingkungan untuk mendapatkan ID klien, ID penyewa, dan rahasia klien.
- Buat objek
ClientSecretCredentialdengan meneruskan ID penyewa, ID klien, dan rahasia klien. - Teruskan objek
ClientSecretCredentialke konstruktor objek klien Azure SDK.
Contoh pendekatan ini ditampilkan di segmen kode berikut.
import os
from azure.identity import ClientSecretCredential
from azure.storage.blob import BlobServiceClient
tenant_id = os.environ.get("AZURE_TENANT_ID")
client_id = os.environ.get("AZURE_CLIENT_ID")
client_secret = os.environ.get("AZURE_CLIENT_SECRET")
credential = ClientSecretCredential(tenant_id, client_id, client_secret)
blob_service_client = BlobServiceClient(
account_url="https://<my_account_name>.blob.core.windows.net",
credential=credential)