identity Paket

Kredensial untuk klien Azure SDK.

Paket

aio

Kredensial untuk klien Azure SDK asinkron.

Kelas

AuthenticationRecord

Informasi akun non-rahasia untuk pengguna yang diautentikasi

Kelas ini memungkinkan DeviceCodeCredential dan InteractiveBrowserCredential mengakses data autentikasi yang sebelumnya di-cache. Aplikasi tidak boleh membuat instans kelas ini. Mereka seharusnya memperolehnya dari metode autentikasi kredensial, seperti authenticate. Lihat sampel user_authentication untuk detail selengkapnya.

AuthenticationRequiredError

Autentikasi interaktif diperlukan untuk memperoleh token.

Kesalahan ini hanya dimunculkan oleh kredensial pengguna interaktif yang dikonfigurasi untuk tidak secara otomatis meminta interaksi pengguna sesuai kebutuhan. Propertinya menyediakan informasi tambahan yang mungkin diperlukan untuk mengautentikasi. Sampel control_interactive_prompts menunjukkan penanganan kesalahan ini dengan memanggil metode "autentikasi" kredensial.

AuthorizationCodeCredential

Mengautentikasi dengan menukarkan kode otorisasi yang sebelumnya diperoleh dari Azure Active Directory.

Lihat Dokumentasi Azure Active Directory untuk informasi selengkapnya tentang alur autentikasi.

AzureAuthorityHosts

Kredensial untuk klien Azure SDK.

AzureCliCredential

Mengautentikasi dengan meminta token dari Azure CLI.

Ini mengharuskan sebelumnya masuk ke Azure melalui "az login", dan akan menggunakan identitas CLI yang saat ini masuk.

AzureDeveloperCliCredential

Mengautentikasi dengan meminta token dari Azure Developer CLI.

Azure Developer CLI adalah alat antarmuka baris perintah yang memungkinkan pengembang membuat, mengelola, dan menyebarkan sumber daya di Azure. Ini dibangun di atas Azure CLI dan menyediakan fungsionalitas tambahan khusus untuk pengembang Azure. Ini memungkinkan pengguna untuk mengautentikasi sebagai pengguna dan/atau perwakilan layanan terhadap Azure Active Directory (Azure AD). AzureDeveloperCliCredential mengautentikasi di lingkungan pengembangan dan memperoleh token atas nama pengguna atau perwakilan layanan yang masuk di Azure Developer CLI. Ini bertindak sebagai pengguna atau perwakilan layanan yang masuk Azure Developer CLI dan menjalankan perintah Azure CLI di bawahnya untuk mengautentikasi aplikasi terhadap Azure Active Directory.

Untuk menggunakan kredensial ini, pengembang perlu mengautentikasi secara lokal dalam Azure Developer CLI menggunakan salah satu perintah di bawah ini:

  • Jalankan "azd auth login" di Azure Developer CLI untuk mengautentikasi secara interaktif sebagai pengguna.

  • Jalankan "azd auth login –client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id'" untuk mengautentikasi sebagai perwakilan layanan.

Anda mungkin perlu mengulangi proses ini setelah jangka waktu tertentu, tergantung pada validitas token refresh di organisasi Anda. Umumnya, masa berlaku token refresh adalah beberapa minggu hingga beberapa bulan. AzureDeveloperCliCredential akan meminta Anda untuk masuk lagi.

AzurePowerShellCredential

Mengautentikasi dengan meminta token dari Azure PowerShell.

Ini mengharuskan sebelumnya masuk ke Azure melalui "Connect-AzAccount", dan akan menggunakan identitas yang saat ini masuk.

CertificateCredential

Mengautentikasi sebagai perwakilan layanan menggunakan sertifikat.

Sertifikat harus memiliki kunci privat RSA, karena kredensial ini menandatangani pernyataan menggunakan RS256. Lihat Dokumentasi Azure Active Directory untuk informasi selengkapnya tentang mengonfigurasi autentikasi sertifikat.

ChainedTokenCredential

Urutan kredensial yang merupakan kredensial itu sendiri.

Metodenya get_token memanggil get_token pada setiap kredensial secara berurutan, secara berurutan, mengembalikan token valid pertama yang diterima.

ClientAssertionCredential

Mengautentikasi perwakilan layanan dengan pernyataan JWT.

Kredensial ini untuk skenario tingkat lanjut. CertificateCredential memiliki API yang lebih nyaman untuk skenario pernyataan yang paling umum, mengautentikasi perwakilan layanan dengan sertifikat.

ClientSecretCredential

Mengautentikasi sebagai perwakilan layanan menggunakan rahasia klien.

CredentialUnavailableError

Kredensial tidak mencoba mengautentikasi karena data atau status yang diperlukan tidak tersedia.

DefaultAzureCredential

Kredensial default yang mampu menangani sebagian besar skenario autentikasi Azure SDK.

Identitas yang digunakannya tergantung pada lingkungan. Ketika token akses diperlukan, token tersebut memintanya menggunakan identitas ini secara bergiliran, berhenti ketika seseorang menyediakan token:

  1. Perwakilan layanan yang dikonfigurasi oleh variabel lingkungan. Lihat EnvironmentCredential untuk detail selengkapnya.

  2. WorkloadIdentityCredential jika konfigurasi variabel lingkungan diatur oleh webhook identitas beban kerja Azure.

  3. Identitas terkelola Azure. Lihat ManagedIdentityCredential untuk detail selengkapnya.

  4. Hanya di Windows: pengguna yang telah masuk dengan aplikasi Microsoft, seperti Visual Studio. Jika beberapa identitas berada dalam cache, maka nilai variabel AZURE_USERNAME lingkungan digunakan untuk memilih identitas mana yang akan digunakan. Lihat SharedTokenCacheCredential untuk detail selengkapnya.

  5. Identitas saat ini masuk ke Azure CLI.

  6. Identitas saat ini masuk ke Azure PowerShell.

  7. Identitas saat ini masuk ke Azure Developer CLI.

Perilaku default ini dapat dikonfigurasi dengan argumen kata kunci.

DeviceCodeCredential

Mengautentikasi pengguna melalui alur kode perangkat.

Ketika get_token dipanggil, kredensial ini memperoleh URL verifikasi dan kode dari Azure Active Directory. Pengguna harus menelusuri ke URL, memasukkan kode, dan mengautentikasi dengan Azure Active Directory. Jika pengguna berhasil mengautentikasi, kredensial akan menerima token akses.

Kredensial ini terutama berguna untuk mengautentikasi pengguna di lingkungan tanpa browser web, seperti sesi SSH. Jika browser web tersedia, InteractiveBrowserCredential lebih nyaman karena secara otomatis membuka browser ke halaman masuk.

EnvironmentCredential

Kredensial yang dikonfigurasi oleh variabel lingkungan.

Kredensial ini mampu mengautentikasi sebagai perwakilan layanan menggunakan rahasia klien atau sertifikat, atau sebagai pengguna dengan nama pengguna dan kata sandi. Konfigurasi dicoba dalam urutan ini, menggunakan variabel lingkungan ini:

Perwakilan layanan dengan rahasia:

  • AZURE_TENANT_ID: ID penyewa perwakilan layanan. Juga disebut ID 'direktori'.

  • AZURE_CLIENT_ID: ID klien perwakilan layanan

  • AZURE_CLIENT_SECRET: salah satu rahasia klien perwakilan layanan

  • AZURE_AUTHORITY_HOST: otoritas titik akhir Azure Active Directory, misalnya "login.microsoftonline.com", otoritas untuk Azure Public Cloud, yang merupakan default ketika tidak ada nilai yang diberikan.

Perwakilan layanan dengan sertifikat:

  • AZURE_TENANT_ID: ID penyewa perwakilan layanan. Juga disebut ID 'direktori'.

  • AZURE_CLIENT_ID: ID klien perwakilan layanan

  • AZURE_CLIENT_CERTIFICATE_PATH: jalur ke file sertifikat PEM atau PKCS12 termasuk kunci privat.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (opsional) kata sandi file sertifikat, jika ada.

  • AZURE_AUTHORITY_HOST: otoritas titik akhir Azure Active Directory, misalnya "login.microsoftonline.com", otoritas untuk Azure Public Cloud, yang merupakan default ketika tidak ada nilai yang diberikan.

Pengguna dengan nama pengguna dan kata sandi:

  • AZURE_CLIENT_ID: ID klien aplikasi

  • AZURE_USERNAME: nama pengguna (biasanya alamat email)

  • AZURE_PASSWORD: kata sandi pengguna tersebut

  • AZURE_TENANT_ID: (opsional) ID penyewa perwakilan layanan. Juga disebut ID 'direktori'. Jika tidak disediakan, default ke penyewa 'organisasi', yang hanya mendukung akun kerja atau sekolah Azure Active Directory.

  • AZURE_AUTHORITY_HOST: otoritas titik akhir Azure Active Directory, misalnya "login.microsoftonline.com", otoritas untuk Azure Public Cloud, yang merupakan default ketika tidak ada nilai yang diberikan.

InteractiveBrowserCredential

Membuka browser untuk mengautentikasi pengguna secara interaktif.

get_token membuka browser ke URL masuk yang disediakan oleh Azure Active Directory dan mengautentikasi pengguna di sana dengan alur kode otorisasi, menggunakan PKCE (Proof Key for Code Exchange) secara internal untuk melindungi kode.

KnownAuthorities

Alias dari AzureAuthorityHosts

ManagedIdentityCredential

Mengautentikasi dengan identitas terkelola Azure di lingkungan hosting apa pun yang mendukung identitas terkelola.

Kredensial ini default untuk menggunakan identitas yang ditetapkan sistem. Untuk mengonfigurasi identitas yang ditetapkan pengguna, gunakan salah satu argumen kata kunci. Lihat Dokumentasi Azure Active Directory untuk informasi selengkapnya tentang mengonfigurasi identitas terkelola untuk aplikasi.

OnBehalfOfCredential

Mengautentikasi perwakilan layanan melalui alur atas nama.

Alur ini biasanya digunakan oleh layanan tingkat menengah yang mengotorisasi permintaan ke layanan lain dengan identitas pengguna yang didelegasikan. Karena ini bukan alur autentikasi interaktif, aplikasi yang menggunakannya harus memiliki persetujuan admin untuk setiap izin yang didelegasikan sebelum meminta token untuk mereka. Lihat Dokumentasi Azure Active Directory untuk deskripsi lebih rinci tentang alur atas nama.

SharedTokenCacheCredential

Mengautentikasi menggunakan token di cache lokal yang dibagikan antara aplikasi Microsoft.

TokenCachePersistenceOptions

Opsi untuk penembolokan token persisten.

Sebagian besar kredensial menerima instans kelas ini untuk mengonfigurasi penembolokan token persisten. Nilai default mengonfigurasi kredensial untuk menggunakan cache yang dibagikan dengan alat pengembang Microsoft dan SharedTokenCacheCredential. Untuk mengisolasi data kredensial dari aplikasi lain, tentukan nama untuk cache.

Secara default, cache dienkripsi dengan API perlindungan data pengguna platform saat ini, dan akan menimbulkan kesalahan ketika ini tidak tersedia. Untuk mengonfigurasi cache agar kembali ke file yang tidak terenkripsi alih-alih menimbulkan kesalahan, tentukan allow_unencrypted_storage=True.

Peringatan

Cache berisi rahasia autentikasi. Jika cache tidak dienkripsi, melindunginya adalah

tanggung jawab aplikasi. Pelanggaran kontennya akan sepenuhnya membahayakan akun.

UsernamePasswordCredential

Mengautentikasi pengguna dengan nama pengguna dan kata sandi.

Secara umum, Microsoft tidak merekomendasikan autentikasi semacam ini, karena kurang aman daripada alur autentikasi lainnya.

Autentikasi dengan kredensial ini tidak interaktif, sehingga tidak kompatibel dengan bentuk autentikasi multifaktor atau permintaan persetujuan apa pun. Aplikasi harus sudah memiliki persetujuan dari pengguna atau admin direktori.

Kredensial ini hanya dapat mengautentikasi akun kerja dan sekolah; Akun Microsoft tidak didukung. Lihat Dokumentasi Azure Active Directory untuk informasi selengkapnya tentang jenis akun.

VisualStudioCodeCredential

Mengautentikasi saat pengguna Azure masuk ke Visual Studio Code melalui ekstensi 'Akun Azure'.

Ini adalah masalah yang diketahui bahwa kredensial ini tidak berfungsi dengan versi ekstensi Akun Azure yang lebih baru dari 0.9.11. Perbaikan jangka panjang untuk masalah ini sedang berlangsung. Sementara itu, pertimbangkan untuk mengautentikasi dengan AzureCliCredential.

WorkloadIdentityCredential

Mengautentikasi menggunakan identitas beban kerja Azure Active Directory.

Autentikasi identitas beban kerja adalah fitur di Azure yang memungkinkan aplikasi yang berjalan pada komputer virtual (VM) untuk mengakses sumber daya Azure lainnya tanpa memerlukan perwakilan layanan atau identitas terkelola. Dengan autentikasi identitas beban kerja, aplikasi mengautentikasi diri mereka sendiri menggunakan identitas mereka sendiri, daripada menggunakan perwakilan layanan bersama atau identitas terkelola. Di bawah tenda, autentikasi identitas beban kerja menggunakan konsep Kredensial Akun Layanan (SAC), yang secara otomatis dibuat oleh Azure dan disimpan dengan aman di VM. Dengan menggunakan autentikasi identitas beban kerja, Anda dapat menghindari kebutuhan untuk mengelola dan memutar perwakilan layanan atau identitas terkelola untuk setiap aplikasi pada setiap VM. Selain itu, karena SAC dibuat secara otomatis dan dikelola oleh Azure, Anda tidak perlu khawatir tentang menyimpan dan mengamankan kredensial sensitif itu sendiri.

WorkloadIdentityCredential mendukung autentikasi identitas beban kerja Azure di Azure Kubernetes dan memperoleh token menggunakan kredensial akun layanan yang tersedia di lingkungan Azure Kubernetes. Lihat ringkasan identitas beban kerja ini untuk informasi selengkapnya.