Bagikan melalui


Mengautentikasi aplikasi Python ke layanan Azure selama pengembangan lokal menggunakan akun pengembang

Selama pengembangan lokal, aplikasi perlu mengautentikasi ke Azure untuk menggunakan layanan Azure yang berbeda. Autentikasi secara lokal menggunakan salah satu pendekatan ini:

Artikel ini menjelaskan cara mengautentikasi menggunakan akun pengembang dengan alat yang didukung oleh pustaka Azure Identity. Di bagian depan, Anda mempelajari:

  • Cara menggunakan grup Microsoft Entra untuk mengelola izin secara efisien untuk beberapa akun pengembang.
  • Cara menetapkan peran untuk akun pengembang guna membatasi izin.
  • Cara login ke alat pengembangan lokal yang didukung.
  • Cara mengautentikasi menggunakan akun pengembang dari kode aplikasi Anda.

Alat pengembang yang didukung untuk autentikasi

Agar aplikasi dapat mengautentikasi ke Azure selama pengembangan lokal menggunakan kredensial Azure pengembang, pengembang harus masuk ke Azure dari salah satu alat pengembang berikut:

  • Azure CLI (antarmuka baris perintah Azure)
  • Azure Developer CLI
  • Azure PowerShell
  • Visual Studio Code

Pustaka Azure Identity dapat mendeteksi bahwa pengembang masuk dari salah satu alat ini. Pustaka kemudian dapat memperoleh token akses Microsoft Entra melalui alat untuk mengautentikasi aplikasi ke Azure sebagai pengguna yang masuk.

Pendekatan ini memanfaatkan akun Azure pengembang yang ada untuk menyederhanakan proses autentikasi. Namun, akun pengembang kemungkinan memiliki lebih banyak izin daripada yang diperlukan oleh aplikasi, sehingga melebihi izin yang digunakan oleh aplikasi saat produksi. Sebagai alternatif, Anda dapat membuat prinsipal layanan aplikasi untuk digunakan selama pengembangan lokal, yang dapat dibatasi agar hanya memiliki akses yang diperlukan oleh aplikasi.

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 principal 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.
  1. Navigasi ke halaman gambaran umum ID Microsoft Entra di portal Microsoft Azure.

  2. Pilih Semua grup dari menu sebelah kiri.

  3. Pada halaman Grup , pilih Grup baru.

  4. 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 memperlihatkan cara membuat grup di portal Microsoft Azure.

  5. Pilih link Tidak ada anggota yang dipilih di bawah Anggota untuk menambahkan anggota ke grup.

  6. 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.

  7. 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.

  1. Di portal Microsoft Azure, buka halaman Gambaran Umum grup sumber daya yang berisi aplikasi Anda.

  2. Pilih Kontrol akses (IAM) dari navigasi kiri.

  3. 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.

  4. Pada tab Peran , gunakan kotak pencarian untuk menemukan peran yang ingin Anda tetapkan. Pilih peran, lalu pilih Berikutnya.

  5. 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 memperlihatkan cara menetapkan peran ke grup Microsoft Entra.

  6. Di tab Tinjau & Tetapkan, pilih Tinjau & Tetapkan di bagian bawah halaman.

Masuk ke Azure menggunakan alat pengembang

Untuk mengautentikasi dengan akun Azure Anda, pilih salah satu metode berikut:

Pengembang yang menggunakan Visual Studio Code dapat mengautentikasi dengan akun pengembang mereka langsung melalui editor melalui broker. Aplikasi yang menggunakan DefaultAzureCredential atau VisualStudioCodeCredential kemudian dapat menggunakan akun ini untuk mengautentikasi permintaan aplikasi melalui pengalaman akses menyeluruh yang mulus.

  1. Di Visual Studio Code, buka panel Ekstensi dan instal ekstensi Sumber Daya Azure . Ekstensi ini memungkinkan Anda melihat dan mengelola sumber daya Azure langsung dari Visual Studio Code. Ini juga menggunakan penyedia autentikasi Microsoft Visual Studio Code bawaan untuk mengautentikasi dengan Azure.

    Cuplikan layar memperlihatkan ekstensi Sumber Daya Azure.

  2. Buka Palet Perintah di Visual Studio Code, lalu cari dan pilih Azure: Masuk.

    Cuplikan layar memperlihatkan cara masuk ke Azure di Visual Studio Code.

    Petunjuk / Saran

    Buka Palet Perintah menggunakan Ctrl+Shift+P di Windows/Linux atau Cmd+Shift+P di macOS.

  3. azure-identity-broker Tambahkan paket Python ke aplikasi Anda:

    pip install azure-identity-broker
    

Mengautentikasi ke layanan Azure dari aplikasi Anda

Pustaka Azure Identity menyediakan implementasi TokenCredential yang mendukung berbagai skenario dan alur autentikasi Microsoft Entra. Langkah-langkah di depan menunjukkan cara menggunakan DefaultAzureCredential atau kredensial alat pengembangan tertentu saat bekerja dengan akun pengguna secara lokal.

Menerapkan kode

  1. Tambahkan paket azure-identity ke aplikasi Anda:

    pip install azure-identity
    

    Catatan

    Saat menggunakan VisualStudioCodeCredential, Anda juga harus menginstal azure-identity-broker paket:

    pip install azure-identity-broker
    

    Tambahkan pernyataan import yang diperlukan untuk modul azure.identity dan modul klien layanan Azure yang dibutuhkan oleh aplikasi Anda.

  2. Pilih salah satu implementasi kredensial berdasarkan skenario Anda.

Menggunakan kredensial khusus untuk alat pengembangan Anda

Sediakan instans TokenCredential yang sesuai dengan alat pengembangan tertentu ke konstruktor klien layanan Azure, seperti AzureCliCredential.

from azure.identity import AzureCliCredential
from azure.storage.blob import BlobServiceClient

credential = AzureCliCredential()

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Gunakan kredensial yang tersedia untuk digunakan dalam alat pengembangan apa pun

Gunakan instans yang dioptimalkan DefaultAzureCredential untuk semua alat pengembangan lokal. Contoh ini memerlukan variabel lingkungan AZURE_TOKEN_CREDENTIALS disetel ke dev. Untuk informasi selengkapnya, lihat Mengecualikan kategori jenis kredensial.

from azure.identity import DefaultAzureCredential
from azure.storage.blob import BlobServiceClient

credential = DefaultAzureCredential(require_envvar=True)

blob_service_client = BlobServiceClient(
   account_url="https://<account-name>.blob.core.windows.net",
   credential=credential)

Petunjuk / Saran

Saat tim Anda menggunakan beberapa alat pengembangan untuk mengautentikasi dengan Azure, lebih suka DefaultAzureCredential daripada kredensial khusus alat.