Udostępnij za pośrednictwem


Przypisanie użycia klienta platformy Azure

Przypisanie zużycia przez klienta przypisuje wykorzystywanie zasobów platformy Azure w subskrypcjach klientów, które zostały utworzone podczas wdrażania Twojej własności intelektualnej, do Ciebie jako partnera. Tworzenie tych skojarzeń w wewnętrznych systemach firmy Microsoft zwiększa wewnętrzną widoczność dotyczące zakresu infrastruktury Azure obsługującej twoje oprogramowanie. W przypadku ofert aplikacji platformy Azure w komercyjnej platformie handlowejta funkcja śledzenia pomaga współpracować z zespołami sprzedaży firmy Microsoft i uzyskać uznanie w programach partnerskich firmy Microsoft. Przypisanie użycia klienta nie ma zastosowania do ofert maszyn wirtualnych platformy Azure na komercyjnym rynku. Nie ma nic, co wydawca platformy handlowej musi wykonać w przypadku ofert maszyn wirtualnych, aby upewnić się, że ich użycie platformy Azure jest śledzone w subskrypcjach klientów końcowych.

Przypisywanie wykorzystania przez klienta obsługuje trzy opcje wdrażania:

  1. Szablony usługi Azure Resource Manager (typowe podstawy aplikacji platformy Azure, nazywane również platformą handlową jako "szablony rozwiązań" lub "aplikacje zarządzane"): partnerzy tworzą szablony usługi Resource Manager, aby zdefiniować infrastrukturę i konfigurację swoich rozwiązań platformy Azure. Szablon Menadżera Zasobów pozwala klientom wdrażać zasoby rozwiązania w sposób spójny i powtarzalny.
  2. Interfejsy API usługi Azure Resource Manager: partnerzy mogą wywoływać interfejsy API usługi Resource Manager, aby wdrożyć szablon usługi Resource Manager lub bezpośrednio aprowizować usługi platformy Azure.
  3. Terraform: partnerzy mogą używać narzędzia Terraform do wdrażania szablonu usługi Resource Manager lub bezpośredniego wdrażania usług platformy Azure.

Zobacz Pomocnicze przypadki użycia w dalszej części tego artykułu, aby uzyskać informacje o przypisaniu użycia przez klientów poza platformą handlową.

Ważny

  • Przypisanie użycia przez klienta nie jest przeznaczone do śledzenia pracy integratorów systemów, dostawców usług zarządzanych ani narzędzi przeznaczonych głównie do wdrażania zasobów platformy Azure i zarządzania nimi.

  • Przypisywanie użycia przez klienta dotyczy nowych wdrożeń i nie wspiera śledzenia zasobów wdrożonych wcześniej.

    • Nie wszystkie usługi platformy Azure są zgodne z przypisywaniem użycia przez klienta. Usługi Azure Kubernetes Services (AKS), VM Scale Sets i Azure Batch mają znane problemy, które powodują niedostateczne raportowanie użycia.
    • Dane dotyczące użycia platformy Azure przez klientów nie są udostępniane partnerom zewnętrznym.

Komercyjne aplikacje Azure

Śledzenie użycia platformy Azure z aplikacji platformy Azure opublikowanych na platformie handlowej jest w dużej mierze automatyczne. Gdy przesyłasz szablon usługi Resource Manager jako część technicznej konfiguracji planu aplikacji Azure w Marketplace, Centrum partnerskie doda identyfikator śledzenia, który Azure Resource Manager może odczytać.

Notatka

Aby upewnić się, że użycie aplikacji jest dokładnie przypisywane w naszych systemach:

  1. Jeśli zdefiniujesz identyfikator śledzenia w typie zasobu Microsoft.Resources/deployment przy użyciu zmiennej, zastąp zmienną identyfikatorem śledzenia widocznym w Centrum partnerskim na stronie konfiguracji technicznej planu (zobacz Dodawanie identyfikatora GUID do szablonu usługi Resource Manager poniżej).
  2. Jeśli szablon usługi Resource Manager używa zasobów typu Microsoft.Resources/deployments do celów innych niż przypisanie użycia przez klienta, firma Microsoft nie będzie mogła dodać identyfikatora śledzenia przypisania użycia w imieniu klienta. Dodaj nowy zasób typu Microsoft.Resources/deployments, a także dodaj identyfikator śledzenia widoczny w Centrum Partnerów na stronie konfiguracji technicznej planu (patrz Dodaj identyfikator GUID do szablonu Resource Manager później).

Jeśli używasz interfejsów API usługi Azure Resource Manager, musisz dodać identyfikator śledzenia zgodnie z instrukcjami poniżej, aby przekazać go do usługi Azure Resource Manager, gdy kod wdraża zasoby. Ten identyfikator jest widoczny w Centrum partnerskim na stronie Konfiguracja techniczna planu aplikacji platformy Azure.

Notatka

W przypadku istniejących aplikacji platformy Azure migracja jednorazowa rozpoczęła się w marcu 2021 r. w celu zaktualizowania identyfikatorów śledzenia w konfiguracji technicznej każdego planu. Użycie z poprzednich wdrożeń tych ofert pozostanie śledzone w systemach firmy Microsoft.

Podczas aktualizowania ofert nie trzeba już dodawać typu zasobu Microsoft.Resources/deployments w głównym pliku szablonu.

Inne przypadki użycia

Możesz użyć przypisania użycia klienta do śledzenia użycia Azure w przypadku rozwiązań, które nie są dostępne na rynku komercyjnym. Te rozwiązania zwykle znajdują się w repozytorium Quickstart, prywatnych repozytoriach GitHub lub pochodzą z indywidualnych interakcji z klientami 1:1, które tworzą trwałą własność intelektualną (taką jak wdrażalna i skalowalna aplikacja).

Wymagane jest kilka ręcznych kroków:

  1. Utwórz jeden lub więcej identyfikatorów GUID, które będą używane jako identyfikatory śledzenia.
  2. Zarejestruj te identyfikatory GUID w Centrum dla Partnerów.
  3. Dodaj zarejestrowane identyfikatory GUID do ciągów znaków aplikacji i/lub agenta użytkownika platformy Azure.

Tworzenie identyfikatorów GUID

W przeciwieństwie do identyfikatorów śledzenia, które Centrum partnerskie tworzy w Twoim imieniu dla aplikacji Azure, w komercyjnych platformach handlowych inne zastosowania przypisywania użycia klienta wymagają, abyś sam utworzył identyfikator GUID, który posłuży jako identyfikator śledzenia. Identyfikator GUID to unikalny identyfikator, który ma 32 cyfry szesnastkowe. Aby utworzyć identyfikatory GUID do śledzenia, należy użyć generatora identyfikatora GUID, na przykład za pomocą programu PowerShell:

[guid]::NewGuid()

Należy utworzyć unikatowy identyfikator GUID dla każdego produktu i kanału dystrybucji. Można użyć jednego identyfikatora GUID dla wielu kanałów dystrybucji produktu, jeśli nie chcesz dzielić raportów. Raportowanie odbywa się na podstawie PartnerID i GUID.

Rejestrowanie identyfikatorów GUID

Identyfikatory GUID muszą być następnie zarejestrowane w Centrum partnerskim, aby można je było skojarzyć z Tobą jako partnerem:

  1. Zaloguj się do centrum partnerskiego .

  2. Zarejestruj się jako wydawca platformy handlowej .

  3. Wybierz pozycję Ustawienia (ikona koła zębatego) w prawym górnym rogu, następnie Ustawienia konta.

  4. Wybierz Profil organizacji>Identyfikatory>Dodaj identyfikator GUID śledzenia.

  5. W polu GUID wprowadź swój GUID śledzenia. Wprowadź tylko identyfikator GUID bez prefiksu pid-. W polu opis wprowadź nazwę rozwiązania lub opis.

  6. Aby zarejestrować więcej niż jeden identyfikator GUID, ponownie wybierz Dodaj identyfikator GUID śledzenia. Dodatkowe pola są wyświetlane na stronie.

  7. Wybierz pozycję Zapisz.

Dodawanie identyfikatora GUID do szablonu Menedżera zasobów

Aby dodać zarejestrowany identyfikator GUID do szablonu usługi Resource Manager, wprowadź jedną modyfikację głównego pliku szablonu:

  1. Otwórz szablon usługi Resource Manager.

  2. Dodaj nowy zasób typu Microsoft.Resources/deployments w głównym pliku szablonu. Zasób musi znajdować się tylko w pliku mainTemplate.json lub azuredeploy.json, a nie w żadnych szablonach zagnieżdżonych ani połączonych.

  3. Wprowadź wartość identyfikatora GUID po prefiksie pid- jako nazwę zasobu. Jeśli na przykład identyfikator GUID to eb7927c8-dd66-43e1-b0cf-c346a422063, nazwa zasobu będzie pid-eb7927c8-dd66-43e1-b0cf-c346a422063. Przykład:

{ // add this resource to the resources section in the mainTemplate.json
    "apiVersion": "2020-06-01",
    "name": "pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", // use your generated GUID here
    "type": "Microsoft.Resources/deployments",
    "properties": {
        "mode": "Incremental",
        "template": {
            "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
            "contentVersion": "1.0.0.0",
            "resources": []
        }
    }
} // remove all comments from the file when complete
  1. Sprawdź szablon pod kątem błędów.

  2. Ponownie opublikuj szablon w odpowiednich repozytoriach.

  3. Zweryfikuj powodzenie identyfikatora GUID podczas wdrażania szablonu.

Napiwek

Aby uzyskać więcej informacji na temat tworzenia i publikowania szablonów usługi Resource Manager, zobacz: utworzyć i wdrożyć pierwszy szablon usługi Resource Manager.

Weryfikowanie wdrożeń śledzonych za pomocą identyfikatora GUID

Po zmodyfikowaniu szablonu i uruchomieniu wdrożenia testowego użyj następującego skryptu programu PowerShell, aby pobrać wdrożone i oznakowane zasoby.

Możesz użyć skryptu, aby sprawdzić, czy identyfikator GUID został pomyślnie dodany do szablonu usługi Resource Manager. Skrypt nie ma zastosowania do wdrożeń interfejsu API usługi Resource Manager ani programu Terraform.

Zaloguj się do platformy Azure. Wybierz subskrypcję z wdrożeniem, które chcesz zweryfikować przed uruchomieniem skryptu. Uruchom skrypt w kontekście subskrypcji wdrożenia.

Wymagane są parametry identyfikatora GUID (poniżej o nazwie "deploymentName") i resourceGroupName nazwa wdrożenia.

Oryginalny skrypt Verify-DeploymentGuid można pobrać w witrynie GitHub.

Param(
    [string][Parameter(Mandatory=$true)]$deploymentName, # the full name of the deployment, e.g. pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    [string][Parameter(Mandatory=$true)]$resourceGroupName
)

# Get the correlationId of the named deployment
$correlationId = (Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -Name "$deploymentName").correlationId

# Find all deployments with that correlationId
$deployments = Get-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName | Where-Object{$_.correlationId -eq $correlationId}

# Find all deploymentOperations in all deployments with that correlationId as PowerShell doesn't surface outputResources on the deployment or correlationId on the deploymentOperation

foreach ($deployment in $deployments){
    # Get deploymentOperations by deploymentName
    # then the resourceIds for each resource
    ($deployment | Get-AzResourceGroupDeploymentOperation | Where-Object{$_.targetResource -notlike "*Microsoft.Resources/deployments*"}).TargetResource
}

Powiadamianie klientów

Partnerzy powinni poinformować swoich klientów o wdrożeniach korzystających z przypisywania użycia przez klientów. Poniższe przykłady obejmują zawartość, której można użyć do powiadamiania klientów o tych wdrożeniach. W przykładach zastąp <PARTNER> nazwą firmy. Partnerzy powinni zapewnić, że powiadomienia są zgodne z zasadami prywatności i zbierania danych, w tym oferować klientom możliwość wykluczenia ze śledzenia.

Powiadomienie dotyczące wdrożeń szablonów usługi Resource Manager

Podczas wdrażania tego szablonu firma Microsoft może zidentyfikować instalację oprogramowania <PARTNER> z wdrożonymi zasobami platformy Azure. Firma Microsoft może skorelować te zasoby używane do obsługi oprogramowania. Firma Microsoft zbiera te informacje w celu zapewnienia najlepszych doświadczeń ze swoimi produktami i prowadzenia działalności. Dane są zbierane i podlegają zasadom ochrony prywatności firmy Microsoft znajdującym się w https://www.microsoft.com/trustcenter.

Powiadomienie dotyczące wdrożeń zestawu SDK lub interfejsu API

Podczas wdrażania oprogramowania <PARTNER> firma Microsoft może zidentyfikować instalację oprogramowania <PARTNER> z wdrożonych zasobów platformy Azure. Firma Microsoft może skorelować te zasoby używane do obsługi oprogramowania. Firma Microsoft zbiera te informacje w celu zapewnienia najlepszych doświadczeń ze swoimi produktami i prowadzenia działalności. Dane są zbierane i podlegają zasadom ochrony prywatności firmy Microsoft znajdującym się w https://www.microsoft.com/trustcenter.

Korzystanie z interfejsów API usługi Resource Manager

W niektórych przypadkach można wykonywać wywołania bezpośrednio względem interfejsów API REST usługi Resource Manager w celu wdrożenia usług platformy Azure. platforma Azure obsługuje wiele zestawów SDK, umożliwiając te wywołania. Możesz użyć jednego z zestawów SDK lub wywołać interfejsy API REST bezpośrednio w celu wdrożenia zasobów.

Aby umożliwić przypisanie użycia klienta, projektując wywołania interfejsu API, dołącz identyfikator śledzenia do nagłówka agenta użytkownika w żądaniu. Sformatuj ciąg przy użyciu prefiksu pid-. Przykłady:

//Commercial Marketplace Azure app
pid-contoso-myoffer-partnercenter //copy the tracking ID exactly as it appears in Partner Center

//Other use cases
pid-b6addd8f-5ff4-4fc0-a2b5-0ec7861106c4 //enter your GUID after "pid-"

Ważny

Jeśli używasz interfejsów API usługi Resource Manager z aplikacją platformy Azure na komercyjnej platformie handlowej, użyj identyfikatora śledzenia podanego w Centrum partnerskim. Nie używaj identyfikatora GUID.

Różne zestawy SDK współdziałają z interfejsami API usługi Resource Manager w inny sposób i będą wymagały pewnych różnic w kodzie. W poniższych przykładach przedstawiono podejście do niekomercyjnego rynku przy użyciu identyfikatora GUID i omówiono bardziej popularne zestawy SDK platformy Azure.

Przykład: zestaw PYTHON SDK

Dla Pythona użyj atrybutu konfiguracji . Atrybut można dodać tylko do agenta UserAgent. Przykład:

client = azure.mgmt.servicebus.ServiceBusManagementClient(**parameters)
client.config.add_user_agent("pid-b6addd8f-5ff4-4fc0-a2b5-0ec7861106c4")

Ważny

Dodaj atrybut dla każdego klienta. Nie ma globalnej konfiguracji statycznej. Możesz oznaczyć fabrykę klienta, aby upewnić się, że każdy klient jest śledzony. Aby uzyskać więcej informacji, sprawdź ten przykład fabryki klientów na GitHubie.

Przykład: zestaw .NET SDK

W przypadku platformy .NET upewnij się, że ustawiono agenta użytkownika. Użyj biblioteki Microsoft.Azure.Management.Fluent, aby ustawić agenta użytkownika przy użyciu następującego kodu (na przykład w języku C#):

var azure = Microsoft.Azure.Management.Fluent.Azure
    .Configure()
    // Add your pid in the user agent header
    .WithUserAgent("pid-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", String.Empty) 
    .Authenticate(/* Credentials created via Microsoft.Azure.Management.ResourceManager.Fluent.SdkContext.AzureCredentialsFactory */)
    .WithSubscription("<subscription ID>");

Ważny

Od czerwca 2023 r. najnowsza wersja zestawu .NET SDK Centrum partnerskiego 3.4.0 jest teraz archiwizowana. Możesz pobrać wersję zestawu SDK z witryny GitHub, wraz z plikiem readme zawierającym przydatne informacje.

Zachęcamy partnerów do dalszego korzystania z interfejsów REST API Centrum Partnerskiego .

Przykład: Azure PowerShell

W przypadku wdrażania zasobów za pomocą Azure PowerShell, dołącz swój identyfikator GUID przy użyciu tej metody:

[Microsoft.Azure.Common.Authentication.AzureSession]::ClientFactory.AddUserAgent("pid-eb7927c8-dd66-43e1-b0cf-c346a422063")

Notatka

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć pracę. Aby dowiedzieć się, jak przeprowadzić migrację Azure PowerShell do modułu Az, zobacz Migrate Azure PowerShell from AzureRM to Az.

Przykład: interfejs wiersza polecenia platformy Azure

Jeśli używasz interfejsu wiersza poleceń platformy Azure, aby dołączyć identyfikator GUID, ustaw zmienną środowiskową AZURE_HTTP_USER_AGENT w zakresie skryptu. Można również ustawić zmienną globalnie dla zakresu powłoki:

export AZURE_HTTP_USER_AGENT='pid-eb7927c8-dd66-43e1-b0cf-c346a422063'

Aby uzyskać więcej informacji, zobacz Azure SDK for Go.

Korzystanie z narzędzia Terraform

Obsługa narzędzia Terraform jest dostępna za pośrednictwem wersji 1.21.0 dostawcy platformy Azure: https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/CHANGELOG.md#1210-january-11-2019. Dotyczy to wszystkich partnerów, którzy wdrażają swoje rozwiązanie za pośrednictwem programu Terraform i wszystkich zasobów wdrożonych i mierzonych przez dostawcę platformy Azure (wersja 1.21.0 lub nowsza).

Dostawca platformy Azure dla narzędzia Terraform dodał nowe pole opcjonalne o nazwie partner_id służące do określania identyfikatora GUID śledzenia używanego dla rozwiązania. Wartość tego pola można również uzyskać ze zmiennej środowiskowej ARM_PARTNER_ID.

provider "azurerm" {
          subscription_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          client_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
          ……
          # new stuff for ISV attribution
          partner_id = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}

Ważny

Jeśli używasz Terraform z aplikacją Azure na rynku komercyjnym, użyj całego identyfikatora śledzenia podanego w Centrum Partnerów. Nie używaj identyfikatora GUID.

Uzyskiwanie pomocy technicznej

Dowiedz się więcej o opcjach wsparcia na rynku komercyjnym w ramach programu Partner Center.

Jak przesłać wniosek o konsultacje techniczne

  1. Odwiedź stronę Partner Technical Services.
  2. Wybierz infrastrukturę chmury i zarządzanie, aby wyświetlić podróż techniczną.
  3. Wybierz Deployment Services>Prześlij żądanie.
  4. Zaloguj się, używając konta MSA (Microsoft AI Cloud Partner Program) lub konta Microsoft Entra ID (Partner Dashboard).
  5. Ukończ/przejrzyj informacje kontaktowe w formularzu, który zostanie otwarty. Szczegóły konsultacji mogą być wstępnie wypełnione lub mogą istnieć opcje listy rozwijanej.
  6. Wprowadź tytuł i szczegółowy opis problemu.
  7. Wybierz pozycję Prześlij.

Wyświetl instrukcje krok po kroku z zrzutami ekranu w sekcji Korzystanie z Technicznych Usług Sprzedaży i Wdrożeń.

Skontaktuje się z Tobą konsultant techniczny partnera firmy Microsoft w celu skonfigurowania połączenia w celu określenia zakresu Twoich potrzeb.

FAQ

Czy po dodaniu identyfikatora śledzenia można go zmienić?

Identyfikatory śledzenia aplikacji Azure na rynku komercyjnym są zarządzane automatycznie przez Centrum partnerskie. Klient może jednak pobrać szablon i zmienić lub usunąć identyfikator śledzenia. Partnerzy powinni aktywnie opisywać rolę identyfikatora śledzenia dla swoich klientów, aby zapobiec usunięciu lub edycji. Zmiana identyfikatora śledzenia dotyczy tylko nowych wdrożeń i zasobów, a nie istniejących.

Czy mogę śledzić szablony wdrożone z repozytorium innego niż Microsoft, takiego jak GitHub?

Tak, o ile identyfikator śledzenia jest obecny podczas wdrażania szablonu, użycie jest śledzone. Aby zachować skojarzenie między tobą jako wydawcą i szablonem wdrożonym z repozytorium innego niż Microsoft, najpierw pobierz kopię opublikowanego szablonu (który będzie zawierać identyfikator śledzenia) z oferty komercyjnej na platformie handlowej w witrynie Azure Portal. Opublikuj wersję w usłudze GitHub lub w innym repozytorium innym niż Microsoft.

Jeśli szablon nie znajduje się na liście na komercyjnej platformie handlowej i zawiera zarejestrowany identyfikator GUID, upewnij się, że identyfikator GUID jest obecny w wersji publikowanej w usłudze GitHub lub w innym repozytorium innym niż Microsoft.

Czy firma Microsoft udostępnia partnerom dane dotyczące przypisywania wykorzystania przez klienta?

Nie. Firma Microsoft nie udostępnia zewnętrznie partnerom danych dotyczących użycia platformy Azure, które są śledzone przez przypisywanie użycia klienta.

Czy klienci otrzymują raporty dotyczące atrybucji użytkowania?

Nie. Klienci mogą śledzić użycie wszystkich zasobów lub grup zasobów w witrynie Azure Portal. Klienci nie widzą podziału użycia według identyfikatora śledzenia przypisania użycia przez klienta.

Przypisanie użycia przez klienta to mechanizm przypisywania użycia platformy Azure do powtarzalnej, wdrażalnej własności intelektualnej partnera, tworząc tę relację w momencie wdrażania. DPOR i PAL mają na celu skojarzenie integratora systemów (Systems Integrator) lub dostawcy zarządzanych usług (Managed Service Provider) z odpowiednim zasobem platformy Azure klienta na czas współpracy partnera z klientem.