Strategi autentikasi layanan pengukuran Marketplace
Layanan pengukuran marketplace mendukung dua strategi autentikasi:
Artikel ini menjelaskan kapan dan bagaimana menggunakan berbagai strategi autentikasi untuk mengirimkan meteran kustom dengan aman menggunakan layanan pengukuran Marketplace.
Menggunakan token keamanan Microsoft Entra
Jenis penawaran yang berlaku adalah SaaS yang dapat ditransaksikan dan Aplikasi Azure dengan jenis paket aplikasi terkelola.
Kirimkan pengukur kustom dengan menggunakan ID aplikasi Microsoft Entra tetap yang telah ditentukan sebelumnya untuk mengautentikasi.
Untuk penawaran SaaS, ini adalah satu-satunya opsi yang tersedia. Ini adalah langkah wajib untuk menerbitkan penawaran SaaS apa pun seperti yang dijelaskan dalam mendaftarkan aplikasi SaaS.
Untuk aplikasi Azure dengan paket aplikasi terkelola, Anda harus mempertimbangkan untuk menggunakan strategi ini dalam kasus berikut:
- Anda sudah memiliki mekanisme untuk berkomunikasi dengan layanan ujung belakang Anda, dan Anda ingin memperluas mekanisme ini untuk memunculkan pengukuran kustom dari layanan pusat.
- Anda memiliki logika meter kustom yang kompleks. Jalankan logika ini di lokasi pusat, bukan di sumber daya aplikasi terkelola.
Saat mendaftarkan aplikasi, Anda dapat meminta token keamanan Microsoft Entra secara terprogram. Penerbit diharapkan menggunakan token ini dan membuat permintaan untuk menyelesaikannya.
Untuk informasi selengkapnya tentang token ini, lihat Token akses Microsoft Entra.
Mendapatkan token berdasarkan aplikasi Microsoft Entra
Metode HTTP
POST
URL Permintaan
https://login.microsoftonline.com/*{tenantId}*/oauth2/token
Parameter URI
Nama parameter | Diperlukan | Keterangan |
---|---|---|
tenantId |
Benar | ID penyewa aplikasi Microsoft Entra terdaftar. |
Header permintaan
Nama header | Diperlukan | Keterangan |
---|---|---|
Content-Type |
Benar | Jenis konten yang terkait dengan permintaan. Nilai defaultnya adalah application/x-www-form-urlencoded . |
Badan permintaan
Nama properti | Diperlukan | Keterangan |
---|---|---|
Grant_type |
Benar | Jenis hibah. Gunakan client_credentials . |
Client_id |
Benar | Pengidentifikasi klien/aplikasi yang terkait dengan aplikasi Microsoft Entra. |
client_secret |
Benar | Rahasia yang terkait dengan aplikasi Microsoft Entra. |
Resource |
Benar | Sumber daya target yang diminta tokennya. Gunakan 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 . |
Respons
Nama | Jenis | Keterangan |
---|---|---|
200 OK |
TokenResponse |
Permintaan berhasil. |
TokenResponse
Contoh token respons:
{
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "0",
"expires_on": "15251…",
"not_before": "15251…",
"resource": "20e940b3-4c77-4b0b-9a53-9e16a1b010a7",
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9…"
}
Menggunakan token identitas yang dikelola Azure
Jenis penawaran yang berlaku adalah penawaran aplikasi Kubernetes dan aplikasi Azure dengan jenis paket aplikasi terkelola.
Menggunakan pendekatan ini memungkinkan identitas sumber daya yang disebarkan untuk mengautentikasi untuk mengirim peristiwa penggunaan meter kustom. Anda dapat menyematkan kode yang memunculkan penggunaan dalam batas-batas penyebaran Anda.
Catatan
Penerbit harus memastikan bahwa sumber daya yang memunculkan penggunaan dikunci, sehingga sumber daya tidak akan diubah.
Aplikasi terkelola Anda dapat berisi berbagai jenis sumber daya, dari Virtual Machines hingga Azure Functions. Untuk informasi selengkapnya tentang cara mengautentikasi menggunakan identitas terkelola untuk layanan yang berbeda, lihat cara menggunakan identitas terkelola untuk sumber daya Azure).
Misalnya, gunakan langkah-langkah berikut untuk mengautentikasi menggunakan VM Windows,
Pastikan Identitas Terkelola dikonfigurasi menggunakan salah satu metode:
Dapatkan token akses untuk ID aplikasi layanan pengukuran Marketplace (
20e940b3-4c77-4b0b-9a53-9e16a1b010a7
) menggunakan identitas sistem, RDP ke VM, buka konsol PowerShell dan jalankan perintah:# curl is an alias to Web-Invoke PowerShell command # Get system identity access tokenn $MetadataUrl = "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F" $Token = curl -H @{"Metadata" = "true"} $MetadataUrl | Select-Object -Expand Content | ConvertFrom-Json $Headers = @{} $Headers.Add("Authorization","$($Token.token_type) "+ " " + "$($Token.access_token)")
Dapatkan ID aplikasi terkelola dari properti 'ManagedBy' grup sumber daya saat ini (tidak diperlukan untuk penawaran aplikasi Kubernetes).
# Get subscription and resource group $metadata = curl -H @{'Metadata'='true'} http://169.254.169.254/metadata/instance?api-version=2019-06-01 | select -ExpandProperty Content | ConvertFrom-Json # Make sure the system identity has at least reader permission on the resource group $managementUrl = "https://management.azure.com/subscriptions/" + $metadata.compute.subscriptionId + "/resourceGroups/" + $metadata.compute.resourceGroupName + "?api-version=2019-10-01" $resourceGroupInfo = curl -Headers $Headers $managementUrl | select -ExpandProperty Content | ConvertFrom-Json $managedappId = $resourceGroupInfo.managedBy
Gunakan API layanan pengukuran Marketplace untuk memunculkan penggunaan.
Untuk penawaran aplikasi Kubernetes, gunakan mengikuti langkah-langkah untuk mendapatkan token autentikasi dari aplikasi. Untuk informasi selengkapnya, lihat kode sampel.
ID Klien Identitas Layanan Terkelola (MSI) aplikasi perlu digunakan untuk menghasilkan token autentikasi untuk berkomunikasi ke Microsoft Marketplace Metering API. Untuk informasi selengkapnya, lihat kode sampel.
# Audience for the token to be generated resource = '20e940b3-4c77-4b0b-9a53-9e16a1b010a7' clientId = <identity client id> url = "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&clientId={0}&resource={1}".format(clientId,resource) headers = {'Metadata': 'true'} # Need to import requests module response = requests.get(url) response = requests.get(url, headers=headers) authToken = response.json()
Menggunakan API layanan pengukuran Marketplace untuk memancarkan penggunaan
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk