Strategie ověřování služby měření na Marketplace
Služba měření na Marketplace podporuje dvě strategie ověřování:
Tento článek vysvětluje, kdy a jak používat různé strategie ověřování k bezpečnému odesílání vlastních měřičů pomocí služby měření marketplace.
Použití tokenu zabezpečení Microsoft Entra
Příslušné typy nabídek jsou transactovatelné SaaS a Aplikace Azure lications s typem plánu spravované aplikace.
K ověření odešlete vlastní měřiče pomocí předdefinovaného pevného ID aplikace Microsoft Entra.
U nabídek SaaS je to jediná dostupná možnost. Jedná se o povinný krok pro publikování jakékoli nabídky SaaS, jak je popsáno v registraci aplikace SaaS.
U aplikací Azure s plánem spravovaných aplikací byste měli zvážit použití této strategie v následujících případech:
- Už máte mechanismus pro komunikaci s back-endovými službami a chcete tento mechanismus rozšířit o generování vlastních měřičů z centrální služby.
- Máte složitou logiku vlastních měřičů. Tuto logiku spusťte v centrálním umístění místo prostředků spravovaných aplikací.
Při registraci aplikace můžete programově požádat o token zabezpečení Microsoft Entra. Očekává se, že vydavatel použije tento token a požádá ho o jeho vyřešení.
Další informace o těchto tokenech najdete v tématu Přístupové tokeny Microsoft Entra.
Získání tokenu na základě aplikace Microsoft Entra
Metoda HTTP
POST
URL požadavku
https://login.microsoftonline.com/*{tenantId}*/oauth2/token
Parametr identifikátoru URI
Název parametru | Povinní účastníci | Popis |
---|---|---|
tenantId |
True | ID tenanta registrované aplikace Microsoft Entra. |
Hlavička požadavku
Název záhlaví | Povinní účastníci | Popis |
---|---|---|
Content-Type |
True | Typ obsahu přidružený k požadavku. Výchozí hodnota je application/x-www-form-urlencoded . |
Text požadavku
Název vlastnosti | Povinní účastníci | Popis |
---|---|---|
Grant_type |
True | Typ udělení. Použijte client_credentials . |
Client_id |
True | Identifikátor klienta nebo aplikace přidružený k aplikaci Microsoft Entra. |
client_secret |
True | Tajný kód přidružený k aplikaci Microsoft Entra. |
Resource |
True | Cílový prostředek, pro který se token požaduje. Použijte 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 . |
Response
Název | Typ | Popis |
---|---|---|
200 OK |
TokenResponse |
Požadavek byl úspěšný. |
TokenResponse
Ukázkový token odpovědi:
{
"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…"
}
Použití tokenu identit spravovaných Azure
Příslušné typy nabídek jsou nabídky aplikací Kubernetes a aplikace Azure s typem plánu spravované aplikace.
Použití tohoto přístupu umožňuje identitě nasazených prostředků ověřit odesílání vlastních událostí využití měřičů. Kód, který generuje využití, můžete vložit do hranic vašeho nasazení.
Poznámka:
Vydavatel by měl zajistit, aby prostředky, které generují využití, byly uzamčeny, takže nebudou manipulovány.
Vaše spravovaná aplikace může obsahovat jiný typ prostředků, od služby Virtual Machines až po Azure Functions. Další informace o ověřování pomocí spravovaných identit pro různé služby najdete v tématu použití spravovaných identit pro prostředky Azure).
K ověření pomocí virtuálního počítače s Windows použijte například následující postup:
Pomocí jedné z metod se ujistěte, že je spravovaná identita nakonfigurovaná:
Získejte přístupový token pro ID aplikace služby měření marketplace (
20e940b3-4c77-4b0b-9a53-9e16a1b010a7
) pomocí systémové identity, protokolu RDP k virtuálnímu počítači, otevřete konzolu PowerShellu a spusťte příkaz:# 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)")
Získejte ID spravované aplikace z aktuální vlastnosti Spravované skupiny prostředků (není potřeba pro nabídky aplikací 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
K generování využití použijte rozhraní API služby měření marketplace.
Pro nabídky aplikací Kubernetes použijte následující postup k získání ověřovacího tokenu z aplikace. Další informace najdete v ukázkovém kódu.
ID klienta identity spravované služby (MSI) aplikace je potřeba použít k vygenerování ověřovacího tokenu pro komunikaci s rozhraním API pro měření na Webu Microsoft Marketplace. Další informace najdete v ukázkovém kódu.
# 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()
Použití rozhraní API služby měření marketplace ke generování využití