Condividi tramite


Attribuzione dell'utilizzo dei clienti di Azure

L'attribuzione dell'utilizzo da parte dei clienti associa l'utilizzo delle risorse di Azure nelle sottoscrizioni dei clienti create durante la distribuzione della tua proprietà intellettuale con te come partner. La formazione di queste associazioni nei sistemi interni di Microsoft offre una maggiore visibilità al footprint di Azure che esegue il tuo software. Per offerte di applicazioni Azure nel marketplace commerciale, questa funzionalità di rilevamento consente di allinearsi ai team di vendita Microsoft e di ottenere il credito per i programmi dei partner Microsoft. L'attribuzione dell'utilizzo dei clienti non è applicabile a offerte di macchine virtuali di Azure nel marketplace commerciale. Non è necessario eseguire alcuna operazione da parte di un editore del Marketplace per garantire che il consumo di Azure venga monitorato nelle sottoscrizioni dei clienti finali.

L'attribuzione dell'utilizzo da parte dei clienti supporta tre opzioni di distribuzione.

  1. Modelli di Azure Resource Manager (le basi comuni delle app di Azure, dette anche "modelli di soluzione" o "app gestite"): i partner creano modelli di Resource Manager per definire l'infrastruttura e la configurazione delle soluzioni Di Azure. Un modello di Resource Manager consente ai clienti di distribuire le risorse della soluzione in uno stato coerente e ripetibile.
  2. API di Azure Resource Manager: i partner possono chiamare le API di Resource Manager per distribuire un modello di Resource Manager o effettuare direttamente il provisioning dei servizi di Azure.
  3. Terraform: i partner possono usare Terraform per distribuire un modello di Resource Manager o distribuire direttamente i servizi di Azure.

Vedere Casi d'uso secondari più avanti in questo articolo per l'attribuzione dell'uso da parte dei clienti all'esterno del marketplace commerciale.

Importante

  • L'attribuzione dell'utilizzo dei clienti non è progettata per tenere traccia del lavoro di integratori di sistemi, provider di servizi gestiti o strumenti progettati principalmente per distribuire e gestire le risorse di Azure.

  • L'attribuzione dell'utilizzo dei clienti riguarda le nuove distribuzioni e non supporta il rilevamento delle risorse già distribuite.

    • Non tutti i servizi di Azure sono compatibili con l'attribuzione dell'utilizzo dei clienti. I servizi Azure Kubernetes, i set di scalabilità di macchine virtuali e Azure Batch presentano problemi noti che causano la creazione di report di utilizzo non aggiornati.
    • I dati di attribuzione dell'utilizzo dei clienti di Azure non sono condivisi esternamente con i partner.

App di Azure del marketplace commerciale

Tenere traccia dell'utilizzo di Azure dalle app di Azure pubblicate nel marketplace commerciale è in gran parte automatico. Quando si carica un modello di Azure Resource Manager come parte della configurazione tecnica dell'app Azure del piano del marketplace, il Centro per i partner aggiungerà un ID di tracciamento leggibile da Azure Resource Manager.

Nota

Per assicurarsi che l'utilizzo dell'applicazione sia attribuito in modo accurato nei sistemi:

  1. Se si definisce l'ID di rilevamento nel tipo di risorsa Microsoft.Resources/deployment con una variabile, sostituire la variabile con l'ID di rilevamento visibile nel Centro per i partner nella pagina Configurazione tecnica del piano (vedere Aggiungere un GUID a un modello di Resource Manager di seguito).
  2. Se il modello di Resource Manager usa risorse di tipo Microsoft.Resources/deployments per scopi diversi dall'attribuzione dell'utilizzo dei clienti, Microsoft non sarà in grado di aggiungere un ID di rilevamento dell'attribuzione dell'utilizzo dei clienti per conto dell'utente. Aggiungere una nuova risorsa di tipo Microsoft.Resources/deployments e aggiungere l'ID di tracciamento visibile nel Centro per i partner nella pagina di configurazione tecnica del piano (vedere più avanti Aggiungere un GUID a un modello di Resource Manager).

Se si usano le API di Azure Resource Manager, è necessario aggiungere l'ID di rilevamento in base alle istruzioni seguenti per passarlo ad Azure Resource Manager quando il codice distribuisce le risorse. Questo ID è visibile nel Centro per i partner nella pagina Configurazione tecnica del piano di applicazioni di Azure.

Nota

Per le app di Azure esistenti, è iniziata una migrazione una tantum a marzo 2021 per aggiornare gli ID di rilevamento nella configurazione tecnica di ogni piano. L'utilizzo delle distribuzioni precedenti di tali offerte rimarrà monitorato nei sistemi Microsoft.

Quando si aggiornano le offerte, non è più necessario aggiungere il Microsoft.Resources/deployments tipo di risorsa nel file modello principale.

Altri casi d'uso

È possibile usare l'attribuzione dell'utilizzo dei clienti per tenere traccia dell'utilizzo di Azure delle soluzioni non disponibili nel marketplace commerciale. Queste soluzioni si trovano in genere nel repository Quickstart, nei repository GitHub privati o provengono da interazioni 1:1 con i clienti che creano proprietà intellettuale durevole (ad esempio un'app distribuibile e scalabile).

Sono necessari diversi passaggi manuali:

  1. Creare uno o più GUID da usare come identificativi di tracciamento.
  2. Registrare questi GUID nel Partner Center.
  3. Aggiungi i GUID che hai registrato alle stringhe dell'app Azure e/o dell'agente utente.

Creare GUIDs

A differenza degli ID di rilevamento che il Partner Center crea per tuo conto per le app di Azure nel commercial marketplace, altri usi dell'attribuzione dell'uso da parte del cliente richiedono di creare un GUID da usare come ID di rilevamento. Un GUID è un identificatore di riferimento univoco con 32 cifre esadecimali. Per creare GUID per il rilevamento, è necessario usare un generatore GUID, ad esempio tramite PowerShell:

[guid]::NewGuid()

È consigliabile creare un GUID univoco per ogni prodotto e canale di distribuzione. È possibile usare un singolo GUID per più canali di distribuzione di un prodotto se non si vuole suddividere la creazione di report. La creazione di report viene eseguita da PartnerID e GUID.

Registrare GUID

I GUID devono essere registrati successivamente nel Centro per i partner in modo che possano essere associati all'utente come partner:

  1. Accedi a Centro Partner.

  2. Iscriviti come editore commerciale del marketplace .

  3. Selezionare Impostazioni (icona a forma di ingranaggio) nell'angolo in alto a destra, quindi Impostazioni account.

  4. Selezionare Il profilo dell'organizzazione>Identificatori>Aggiungi GUID di rilevamento.

  5. Nella casella GUID, immettere il GUID di tracciamento. Immettere solo il GUID senza il prefisso pid-. Nella casella di Descrizione immettere il nome o la descrizione della soluzione.

  6. Per registrare più GUID, selezionare di nuovo Aggiungi GUID di rilevamento. Le caselle aggiuntive vengono visualizzate nella pagina.

  7. Selezionare Salva.

Aggiungere un GUID a un modello di Resource Manager

Per aggiungere il GUID registrato a un modello di Resource Manager, apportare una singola modifica al file modello principale:

  1. Aprire il modello di Resource Manager.

  2. Aggiungere una nuova risorsa di tipo Microsoft.Resources/deployments nel file modello principale. La risorsa deve trovarsi solo nel file mainTemplate.json o azuredeploy.json, non in alcun modello annidato o collegato.

  3. Immettere il valore GUID dopo il prefisso pid- come nome della risorsa. Ad esempio, se il GUID è eb7927c8-dd66-43e1-b0cf-c346a422063, il nome della risorsa verrà pid-eb7927c8-dd66-43e1-b0cf-c346a422063. Esempio:

{ // 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. Controllare la presenza di errori nel modello.

  2. Ripubblicare il modello nei repository appropriati.

  3. Verificare il successo del GUID nella distribuzione del modello.

Suggerimento

Per altre informazioni sulla creazione e la pubblicazione di modelli di Resource Manager, vedere: creare e distribuire il primo modello di Resource Manager.

Verificare le distribuzioni rilevate con un GUID

Dopo aver modificato il modello ed eseguito una distribuzione di test, usare lo script di PowerShell seguente per recuperare le risorse distribuite e contrassegnate.

È possibile usare lo script per verificare che il GUID venga aggiunto correttamente al modello di Resource Manager. Lo script non si applica alle distribuzioni api di Resource Manager o Terraform.

Accedere ad Azure. Selezionare la sottoscrizione con la distribuzione da verificare prima di eseguire lo script. Esegui lo script nel contesto di abbonamento relativo alla distribuzione.

Il GUID (sotto denominato "deploymentName") e resourceGroupName nome della distribuzione sono parametri obbligatori.

È possibile ottenere lo script Verify-DeploymentGuid originale in 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
}

Inviare una notifica ai clienti

I partner devono informare i clienti sulle distribuzioni che usano l'attribuzione dell'utilizzo da parte dei clienti. Gli esempi seguenti includono il contenuto che è possibile usare per informare i clienti di queste distribuzioni. Negli esempi sostituire <PARTNER> con il nome della società. I partner devono garantire che la notifica sia allineata ai criteri di privacy e raccolta dei dati, incluse le opzioni per i clienti da escludere dal rilevamento.

Notifica per le distribuzioni di modelli di Resource Manager

Quando si distribuisce questo modello, Microsoft può identificare l'installazione di <PARTNER> software con le risorse di Azure distribuite. Microsoft può correlare queste risorse usate per supportare il software. Microsoft raccoglie queste informazioni per offrire le migliori esperienze con i propri prodotti e per gestire la propria attività. I dati vengono raccolti e regolati dalle politiche sulla privacy di Microsoft, disponibili in https://www.microsoft.com/trustcenter.

Notifica per distribuzioni di SDK o API

Quando si distribuisce il software <PARTNER>, Microsoft può identificare l'installazione del software <PARTNER> con le risorse di Azure che sono state distribuite. Microsoft può correlare queste risorse usate per supportare il software. Microsoft raccoglie queste informazioni per offrire le migliori esperienze con i propri prodotti e per gestire la propria attività. I dati vengono raccolti e regolati dalle politiche sulla privacy di Microsoft, disponibili in https://www.microsoft.com/trustcenter.

Usare le API di Resource Manager

In alcuni casi, è possibile effettuare chiamate direttamente sulle API REST di Resource Manager per distribuire i servizi di Azure. Azure supporta più SDK per abilitare queste chiamate. È possibile usare uno degli SDK o chiamare direttamente le API REST per distribuire le risorse.

Per abilitare l'attribuzione dell'utilizzo dei clienti, includi il tuo ID di tracciamento nell'intestazione user-agent della richiesta quando progetti le chiamate API. Formattare la stringa con il prefisso pid-. Esempi:

//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-"

Importante

Se si usano le API di Resource Manager con un'app di Azure nel marketplace commerciale, usare l'ID di rilevamento fornito nel Centro per i partner. Non usare assolutamente un GUID.

Diversi SDK interagiscono con le API di Resource Manager in modo diverso e richiedono alcune differenze nel codice. Gli esempi seguenti illustrano l'approccio del marketplace non commerciale usando un GUID e illustrano un'ampia gamma di SDK di Azure più diffusi.

Esempio: Python SDK

Per Python, usare l'attributo config. È possibile aggiungere l'attributo solo a userAgent. Esempio:

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

Importante

Aggiungere l'attributo per ogni client. Non esiste alcuna configurazione statica globale. È possibile taggare una fabbrica di client per assicurarsi che ogni client sia in tracciamento. Per altre informazioni, vedere questo esempio di client factory in GitHub.

Esempio: .NET SDK

Per .NET, assicurarsi di impostare l'agente utente. Usare la libreria di Microsoft.Azure.Management.Fluent per impostare l'agente utente con il codice seguente (ad esempio in 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>");

Importante

A partire da giugno 2023, la versione più recente di .NET SDK del Centro per i partner 3.4.0 è ora archiviata. È possibile scaricare la versione dell'SDK da GitHub, insieme a un file leggimi che contiene informazioni utili.

I partner sono invitati a continuare a usare le API REST del Centro per i partner .

Esempio: Azure PowerShell

Se si distribuiscono risorse tramite Azure PowerShell, aggiungere il GUID usando questo metodo:

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

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installa Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo Az PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Esempio: Interfaccia della riga di comando di Azure

Quando si utilizza la CLI di Azure per aggiungere il GUID, impostare la variabile di ambiente AZURE_HTTP_USER_AGENT nell'ambito di uno script. È anche possibile impostare la variabile a livello globale per l'ambito della shell:

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

Per altre informazioni, vedere Azure SDK per Go.

Usare Terraform

Il supporto per Terraform è disponibile tramite la versione 1.21.0 del provider di Azure: https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/CHANGELOG.md#1210-january-11-2019. Questo vale per tutti i partner che distribuiscono la soluzione tramite Terraform e tutte le risorse distribuite e a consumo dal provider di Azure (versione 1.21.0 o successiva).

Il provider di Azure per Terraform ha aggiunto un nuovo campo facoltativo denominato partner_id per specificare il GUID di rilevamento usato per la soluzione. Il valore di questo campo può anche essere originato dalla variabile di ambiente 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"}

Importante

Se usi Terraform con un'app di Azure nel marketplace commerciale, usa l'intero ID di rilevamento fornito nel Partner Center. Non usare assolutamente un GUID.

Ottenere supporto

Informazioni sulle opzioni di supporto nel marketplace commerciale all'indirizzo Supporto per il programma del marketplace commerciale nel Centro per i partner.

Come inviare una richiesta di consulenza tecnica

  1. Visitare Partner Technical Services.
  2. Selezionare infrastruttura cloud e gestione per visualizzare il percorso tecnico.
  3. Selezionare Deployment Services>Inviare una richiesta.
  4. Accedi usando il tuo account MSA (Microsoft AI Cloud Partner Program) o il tuo ID Microsoft Entra (account del Dashboard del partner).
  5. Completare/esaminare le informazioni di contatto nel modulo che si apre. I dettagli della consultazione potrebbero essere prepopolati oppure potreste avere opzioni a discesa.
  6. Immettere un titolo e una descrizione dettagliata del problema.
  7. Selezionare Invia.

Visualizza le istruzioni dettagliate con gli screenshot in Using Technical Presales and Deployment Services.

L'utente verrà contattato da un consulente tecnico del partner Microsoft per configurare una chiamata per definire l'ambito delle proprie esigenze.

Domande frequenti

Dopo l'aggiunta di un ID di rilevamento, è possibile modificarlo?

Gli ID di rilevamento per le app di Azure nel marketplace commerciale vengono gestiti automaticamente dal Centro per i partner. Un cliente può tuttavia scaricare un modello e modificare o rimuovere l'ID di rilevamento. I partner devono descrivere in modo proattivo il ruolo dell'ID di rilevamento ai clienti per impedire la rimozione o le modifiche. La modifica dell'ID di rilevamento influisce solo sulle nuove distribuzioni e risorse, non su quelle esistenti.

È possibile tenere traccia dei modelli distribuiti da un repository non Microsoft come GitHub?

Sì, purché l'ID di rilevamento sia presente quando viene distribuito il modello, viene rilevato l'utilizzo. Per mantenere l'associazione tra te come editore e il modello distribuito da un repository non Microsoft, scarica prima una copia del modello pubblicato dalla tua offerta (che conterrà l'ID di rilevamento) dall'elenco del marketplace commerciale nel portale di Azure. Pubblicare tale versione in GitHub o in un altro repository non Microsoft.

Se il modello non è elencato nel marketplace commerciale e include un GUID registrato, assicurarsi che il GUID sia presente nella versione pubblicata in GitHub o in un altro repository non Microsoft.

Microsoft condivide i dati di attribuzione dell'utilizzo dei clienti con i partner?

No. Microsoft non condivide i dati di consumo di Azure rilevati tramite attribuzione dell'utilizzo dei clienti esternamente con i partner.

I clienti ricevono report sull'attribuzione dell'utilizzo da parte dei clienti?

No. I clienti possono tenere traccia dell'utilizzo di tutte le risorse o dei gruppi di risorse all'interno del portale di Azure. I clienti non vedono l'utilizzo suddiviso in base all'ID di rilevamento dell'attribuzione dell'utilizzo dei clienti.

L'attribuzione dell'utilizzo dei clienti è un meccanismo per associare l'utilizzo di Azure all'INDIRIZZO IP ripetibile e distribuibile di un partner, formando l'associazione al momento della distribuzione. DPOR e PAL sono progettati per associare un partner di consulenza (Integratore di Sistemi) o di gestione (Provider di servizi gestiti) al footprint di Azure pertinente di un cliente durante il periodo in cui il partner è impegnato con il cliente.