A piactér mérési szolgáltatásának hitelesítési stratégiái
A Marketplace mérési szolgáltatás két hitelesítési stratégiát támogat:
Ez a cikk bemutatja, hogy mikor és hogyan használhatja a különböző hitelesítési stratégiákat az egyéni fogyasztásmérők biztonságos beküldéséhez a Marketplace mérési szolgáltatással.
A Microsoft Entra biztonsági jogkivonat használata
Az alkalmazható ajánlattípusok felügyelt alkalmazáscsomag-típussal rendelkező átvehető SaaS- és Azure-alkalmazás.
Egyéni mérőszámok elküldése előre meghatározott rögzített Microsoft Entra-alkalmazásazonosítóval a hitelesítéshez.
SaaS-ajánlatok esetén ez az egyetlen elérhető lehetőség. Ez egy kötelező lépés az SaaS-ajánlatok közzétételéhez az SaaS-alkalmazások regisztrálásában leírtak szerint.
Felügyelt alkalmazáscsomaggal rendelkező Azure-alkalmazások esetén a következő esetekben érdemes megfontolni ezt a stratégiát:
- Már rendelkezik egy olyan mechanizmussal, amellyel kommunikálhat a háttérszolgáltatásokkal, és ki szeretné terjeszteni ezt a mechanizmust az egyéni mérők központi szolgáltatásból való kibocsátására.
- Összetett egyéni fogyasztásmérő-logikával rendelkezik. Futtassa ezt a logikát központi helyen a felügyelt alkalmazáserőforrások helyett.
Az alkalmazás regisztrálása után programozott módon igényelhet Microsoft Entra biztonsági jogkivonatot. A közzétevőnek várhatóan ezt a jogkivonatot kell használnia, és kérnie kell a megoldását.
További információ ezekről a jogkivonatokról: Microsoft Entra hozzáférési jogkivonatok.
Jogkivonat lekérése a Microsoft Entra alkalmazás alapján
HTTP-metódus
POST
Kérés URL-címe
https://login.microsoftonline.com/*{tenantId}*/oauth2/token
URI-paraméter
Paraméter neve | Szükséges | Leírás |
---|---|---|
tenantId |
Igaz | A regisztrált Microsoft Entra-alkalmazás bérlőazonosítója. |
Kérelem fejléce
Fejléc neve | Szükséges | Leírás |
---|---|---|
Content-Type |
Igaz | A kérelemhez társított tartalomtípus. Az alapértelmezett érték application/x-www-form-urlencoded . |
Kérelem törzse
Tulajdonság neve | Szükséges | Leírás |
---|---|---|
Grant_type |
Igaz | Megadás típusa. Használja az client_credentials parancsot. |
Client_id |
Igaz | A Microsoft Entra alkalmazáshoz társított ügyfél-/alkalmazásazonosító. |
client_secret |
Igaz | A Microsoft Entra alkalmazáshoz társított titkos kód. |
Resource |
Igaz | Célerőforrás, amelyhez a jogkivonatot kérik. Használja az 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 parancsot. |
Válasz
Név | Típus | Leírás |
---|---|---|
200 OK |
TokenResponse |
A kérés sikeres volt. |
TokenResponse
Minta válasz jogkivonata:
{
"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…"
}
Az Azure által felügyelt identitások jogkivonatának használata
Az alkalmazható ajánlattípusok a Kubernetes-alkalmazásajánlatok és a felügyelt alkalmazáscsomag típusú Azure-alkalmazások.
Ezzel a módszerrel az üzembe helyezett erőforrások identitása hitelesíthető az egyéni mérőszámok használati eseményeinek küldéséhez. Beágyazhatja a használatot kibocsátó kódot az üzembe helyezés határain belül.
Feljegyzés
A Publishernek biztosítania kell, hogy a használatot kibocsátó erőforrások zárolva legyenek, így azok nem lesznek illetéktelenek.
A felügyelt alkalmazás különböző típusú erőforrásokat tartalmazhat a virtuális gépektől az Azure Functionsig. A felügyelt identitások különböző szolgáltatásokhoz való hitelesítéséről további információt a felügyelt identitások Azure-erőforrásokhoz való használatával kapcsolatban talál.
Például a következő lépésekkel hitelesítheti magát Egy Windows rendszerű virtuális géppel,
Győződjön meg arról, hogy a felügyelt identitás az alábbi módszerek egyikével van konfigurálva:
Szerezze be a Marketplace mérési szolgáltatásalkalmazás-azonosítójának (
20e940b3-4c77-4b0b-9a53-9e16a1b010a7
) hozzáférési jogkivonatát a rendszeradentitás használatával, RDP-t a virtuális géphez, nyissa meg a PowerShell-konzolt, és futtassa a parancsot:# 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)")
Kérje le a felügyelt alkalmazás azonosítóját az aktuális erőforráscsoportok "ManagedBy" tulajdonságából (a Kubernetes-alkalmazásajánlatokhoz nem szükséges).
# 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
Használja a Marketplace metering service API-t a használat kibocsátásához.
A Kubernetes-alkalmazásajánlatok esetében az alábbi lépésekkel kérhet le egy hitelesítési jogkivonatot az alkalmazásból. További információ: mintakód.
Az alkalmazás felügyeltszolgáltatás-identitás (MSI) ügyfélazonosítóját kell használni a Microsoft Marketplace Metering API-val való kommunikációhoz szükséges hitelesítési jogkivonat létrehozásához. További információ: mintakód.
# 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()
Használat kibocsátásához használja a Marketplace metering service API-t