Metode tambahan untuk mengautentikasi ke sumber daya Azure dari aplikasi Python

Artikel ini mencantumkan metode tambahan yang dapat digunakan aplikasi untuk mengautentikasi ke sumber daya Azure. Metode dalam artikel ini kurang umum digunakan; jika memungkinkan, kami mendorong Anda untuk menggunakan salah satu metode yang diuraikan dalam mengautentikasi aplikasi Python ke Azure menggunakan gambaran umum Azure SDK.

Autentikasi browser interaktif

Metode ini secara interaktif mengautentikasi aplikasi melalui InteractiveBrowserCredential dengan mengumpulkan kredensial pengguna dalam sistem default.

Autentikasi browser interaktif memungkinkan aplikasi untuk semua operasi yang diizinkan oleh kredensial masuk interaktif. Akibatnya, jika Anda adalah pemilik atau administrator langganan Anda, kode Anda memiliki akses melekat ke sebagian besar sumber daya dalam langganan tersebut tanpa harus menetapkan izin tertentu. Untuk alasan ini, penggunaan autentikasi browser interaktif tidak disarankan untuk apa pun kecuali eksperimen.

Mengaktifkan aplikasi untuk autentikasi browser interaktif

Lakukan langkah-langkah berikut untuk mengaktifkan aplikasi untuk mengautentikasi melalui alur browser interaktif. Langkah-langkah ini juga berfungsi untuk autentikasi kode perangkat yang dijelaskan nanti. Mengikuti proses ini hanya diperlukan jika menggunakan InteractiveBrowserCredential dalam kode Anda.

  1. Di portal Microsoft Azure, navigasikan ke MICROSOFT Entra ID dan pilih Pendaftaran aplikasi di menu sebelah kiri.

  2. Pilih pendaftaran untuk aplikasi Anda, lalu pilih Autentikasi.

  3. Di bawah Pengaturan tingkat lanjut, pilih Ya untuk Izinkan alur klien publik.

  4. Pilih Simpan untuk menerapkan perubahan.

  5. Untuk mengotorisasi aplikasi untuk sumber daya tertentu, navigasikan ke sumber daya yang dimaksud, pilih Izin API, dan aktifkan Microsoft Graph dan sumber daya lain yang ingin Anda akses. Microsoft Graph diaktifkan secara default.

    Penting

    Anda juga harus menjadi admin penyewa untuk memberikan persetujuan ke aplikasi Anda saat masuk untuk pertama kalinya.

Jika Anda tidak dapat mengonfigurasi opsi aliran kode perangkat di Active Directory, aplikasi Anda mungkin harus mendukung banyak penyewa. Untuk membuat perubahan ini, navigasikan ke panel Autentikasi , pilih Akun di direktori organisasi apa pun (di bawah Jenis akun yang didukung), lalu pilih Ya untuk Izinkan alur klien publik.

Contoh menggunakan InteractiveBrowserCredential

Contoh berikut menunjukkan menggunakan InteractiveBrowserCredential untuk mengautentikasi dengan SubscriptionClient:

# Show Azure subscription information

import os
from azure.identity import InteractiveBrowserCredential
from azure.mgmt.resource import SubscriptionClient

credential = InteractiveBrowserCredential()
subscription_client = SubscriptionClient(credential)

subscription = next(subscription_client.subscriptions.list())
print(subscription.subscription_id)

Untuk kontrol yang lebih tepat, seperti mengatur URI pengalihan, Anda dapat menyediakan argumen tertentu seperti InteractiveBrowserCredentialredirect_uri.

Autentikasi kode perangkat

Metode ini secara interaktif mengautentikasi pengguna di perangkat dengan UI terbatas (biasanya perangkat tanpa keyboard):

  1. Saat aplikasi mencoba mengautentikasi, kredensial meminta pengguna dengan URL dan kode autentikasi.
  2. Pengguna mengunjungi URL pada perangkat yang mendukung browser terpisah (komputer, smartphone, dll.) dan memasukkan kode.
  3. Pengguna mengikuti proses autentikasi normal di browser.
  4. Setelah autentikasi berhasil, aplikasi diautentikasi pada perangkat.

Untuk informasi selengkapnya, lihat Platform identitas Microsoft dan alur pemberian otorisasi perangkat OAuth 2.0.

Autentikasi kode perangkat di lingkungan pengembangan memungkinkan aplikasi untuk menjalankan semua operasi yang diizinkan oleh kredensial masuk interaktif. Akibatnya, jika Anda adalah pemilik atau administrator langganan Anda, kode Anda memiliki akses melekat ke sebagian besar sumber daya dalam langganan tersebut tanpa harus menetapkan izin tertentu. Namun, Anda dapat menggunakan metode ini dengan ID klien tertentu, bukan default, yang dapat Anda tetapkan izin tertentu.