Market ölçüm hizmeti kimlik doğrulama stratejileri
Market ölçüm hizmeti iki kimlik doğrulama stratejisini destekler:
Bu makalede, Market ölçüm hizmetini kullanarak özel ölçümleri güvenli bir şekilde göndermek için farklı kimlik doğrulama stratejilerinin ne zaman ve nasıl kullanılacağı açıklanmaktadır.
Microsoft Entra güvenlik belirtecini kullanma
Geçerli teklif türleri, yönetilen uygulama planı türüne sahip işlem yapılabilir SaaS ve Azure Uygulaması lication'lardır.
Kimlik doğrulaması için önceden tanımlanmış sabit bir Microsoft Entra uygulama kimliği kullanarak özel ölçümler gönderin.
SaaS teklifleri için tek kullanılabilir seçenek budur. SaaS uygulamasını kaydetme bölümünde açıklandığı gibi herhangi bir SaaS teklifini yayımlamak için zorunlu bir adımdır.
Yönetilen uygulama planına sahip Azure uygulamaları için aşağıdaki durumlarda bu stratejiyi kullanmayı düşünmelisiniz:
- Arka uç hizmetlerinizle iletişim kurmak için zaten bir mekanizmanız var ve bu mekanizmayı merkezi bir hizmetten özel ölçümler yayacak şekilde genişletmek istiyorsunuz.
- Karmaşık özel ölçüm mantığınız var. Bu mantığı yönetilen uygulama kaynakları yerine merkezi bir konumda çalıştırın.
Uygulamanızı kaydederken program aracılığıyla bir Microsoft Entra güvenlik belirteci isteyebilirsiniz. Yayımcının bu belirteci kullanması ve çözümlemek için bir istekte bulunması beklenir.
Bu belirteçler hakkında daha fazla bilgi için bkz . Microsoft Entra erişim belirteçleri.
Microsoft Entra uygulamasını temel alan bir belirteç alma
HTTP Yöntemi
POST
İstek URL'si
https://login.microsoftonline.com/*{tenantId}*/oauth2/token
URI parametresi
Parametre adı | Required | Açıklama |
---|---|---|
tenantId |
True | Kayıtlı Microsoft Entra uygulamasının Kiracı Kimliği. |
İstek üst bilgisi
Üst bilgi adı | Required | Açıklama |
---|---|---|
Content-Type |
True | İstekle ilişkili içerik türü. Varsayılan değer şudur: application/x-www-form-urlencoded . |
İstek gövdesi
Özellik adı | Required | Açıklama |
---|---|---|
Grant_type |
True | Verme türü. client_credentials adresini kullanın. |
Client_id |
True | Microsoft Entra uygulamasıyla ilişkili istemci/uygulama tanımlayıcısı. |
client_secret |
True | Microsoft Entra uygulamasıyla ilişkili gizli dizi. |
Resource |
True | Belirtecin istendiği hedef kaynak. 20e940b3-4c77-4b0b-9a53-9e16a1b010a7 adresini kullanın. |
Response
Ad | Tür | Açıklama |
---|---|---|
200 OK |
TokenResponse |
İstek başarılı oldu. |
TokenResponse
Örnek yanıt belirteci:
{
"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…"
}
Azure tarafından yönetilen kimlikler belirtecini kullanma
Geçerli teklif türleri Kubernetes uygulama teklifleri ve yönetilen uygulama planı türüne sahip Azure uygulamalarıdır.
Bu yaklaşımın kullanılması, dağıtılan kaynakların kimliğinin özel ölçüm kullanım olayları göndermek için kimlik doğrulaması yapmasına olanak tanır. Dağıtımınızın sınırları içinde kullanımı yayan kodu ekleyebilirsiniz.
Not
Publisher, kullanımı yayan kaynakların kilitli olduğundan emin olmalıdır, böylece değiştirilmez.
Yönetilen uygulamanız Sanal Makineler ile Azure İşlevleri farklı türde kaynaklar içerebilir. Farklı hizmetler için yönetilen kimlikleri kullanarak kimlik doğrulaması yapma hakkında daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikleri kullanma).
Örneğin, Windows VM kullanarak kimlik doğrulaması yapmak için aşağıdaki adımları kullanın.
Yönetilen Kimliğin aşağıdaki yöntemlerden biri kullanılarak yapılandırıldığından emin olun:
Sistem kimliğini, VM'ye RDP'yi kullanarak Market ölçüm hizmeti uygulama kimliği (
20e940b3-4c77-4b0b-9a53-9e16a1b010a7
) için bir erişim belirteci alın, PowerShell konsolunu açın ve komutunu çalıştırın:# 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)")
Geçerli 'ManagedBy' kaynak gruplarından yönetilen uygulama kimliğini alın (Kubernetes uygulama teklifleri için gerekli değildir).
# 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
Kullanımı yaymak için Market ölçüm hizmeti API'sini kullanın.
Kubernetes uygulama teklifleri için, uygulamadan kimlik doğrulama belirteci almak için aşağıdaki adımları kullanın. Daha fazla bilgi için bkz . örnek kod.
Uygulamanın Yönetilen Hizmet Kimliği (MSI) İstemci Kimliği, Microsoft Market Ölçüm API'si ile iletişim kurmak üzere kimlik doğrulama belirteci oluşturmak için kullanılmalıdır. Daha fazla bilgi için bkz . örnek kod.
# 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()
Kullanımı yaymak için Market ölçüm hizmeti API'sini kullanma