Attribuzione dell'utilizzo dei clienti di Azure

L'attribuzione dell'utilizzo dei clienti associa l'utilizzo delle risorse di Azure nelle sottoscrizioni dei clienti create durante la distribuzione dell'INDIRIZZO IP con l'utente come partner. La creazione di queste associazioni nei sistemi Microsoft interni offre una maggiore visibilità interna al footprint di Azure che esegue il software. Per le offerte di app Azure lication nel marketplace commerciale, questa funzionalità di rilevamento consente di allinearsi ai team di vendita Microsoft e di ottenere credito per i programmi per i partner Microsoft. L'attribuzione dell'utilizzo dei clienti non è applicabile alle 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'utilizzo 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. servizio Azure Kubernetes (AKS), 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 Resource Manager come parte della configurazione tecnica del piano dell'app azure del marketplace, il Centro per i partner aggiungerà un ID di rilevamento 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 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).

Se si usano le API di Azure Resource Manager, sarà necessario aggiungere l'ID di rilevamento in base alle istruzioni seguenti per passarlo ad Azure Resource Manager man mano che il codice distribuisce le risorse. Questo ID è visibile nel Centro per i partner nella pagina Configurazione tecnica del piano di app 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 tipo di risorsa Microsoft.Resources/deployments 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 di avvio rapido, nei repository GitHub privati o provengono da impegni dei clienti 1:1 che creano un indirizzo IP durevole (ad esempio un'app distribuibile e scalabile).

Sono necessari diversi passaggi manuali:

  1. Creare uno o più GUID da usare come ID di rilevamento.
  2. Registrare tali GUID nel Centro per i partner.
  3. Aggiungere i GUID registrati alle stringhe dell'app azure e/o dell'agente utente.

Crea GUID

A differenza degli ID di rilevamento creati dal Centro per i partner per conto delle app di Azure nel marketplace commerciale, altri usi dell'attribuzione dell'utilizzo dei clienti 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 i GUID

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

  1. Accedere al Centro per i partner.

  2. Eseguire la registrazione come editore del marketplace commerciale.

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

  4. Selezionare Identificatori>profilo>organizzazione Aggiungi GUID di rilevamento.

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

  6. Per registrare più GUID, selezionare di nuovo Add Tracking GUID (Aggiungi GUID di rilevamento). Nella pagina verranno visualizzate finestre aggiuntive.

  7. Seleziona 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 pid- prefisso come nome della risorsa. Ad esempio, se il GUID è eb7927c8-dd66-43e1-b0cf-c346a422063, il nome della risorsa sarà 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. Pubblicare nuovamente il modello nel repository appropriato.

  3. Verificare l'esito positivo 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 utilizzare lo script per verificare che il GUID sia stato aggiunto correttamente al modello di Resource Manager. Lo script non si applica alle distribuzioni tramite l'API di Resource Manager o Terraform.

Accedere ad Azure. Selezionare la sottoscrizione con la distribuzione da verificare prima di eseguire lo script. Eseguire lo script nel contesto della sottoscrizione della distribuzione.

Il GUID (denominato "deploymentName") e il nome resourceGroupName 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
}

Informare i clienti

I partner devono informare i propri clienti in merito alle distribuzioni che usano l'attribuzione dell'utilizzo da parte dei clienti. Gli esempi seguenti includono i contenuti che è possibile utilizzare per notificare ai clienti 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 dei modelli di Resource Manager

Quando si distribuisce questo modello, Microsoft può identificare l'installazione del <software PARTNER> con le risorse di Azure distribuite. Microsoft può correlare queste risorse usate per supportare il software. Microsoft raccoglie queste informazioni per fornire l'esperienza utente migliore con i propri prodotti e per il funzionamento delle proprie attività aziendali. I dati vengono raccolti e regolati dalle politiche sulla privacy di Microsoft, disponibili all'indirizzo https://www.microsoft.com/trustcenter.

Notifica per le distribuzioni di API o SDK

Quando si distribuisce <il software PARTNER> , Microsoft può identificare l'installazione del <software PARTNER> con le risorse di Azure distribuite. Microsoft può correlare queste risorse usate per supportare il software. Microsoft raccoglie queste informazioni per fornire l'esperienza utente migliore con i propri prodotti e per il funzionamento delle proprie attività aziendali. I dati vengono raccolti e regolati dalle politiche sulla privacy di Microsoft, disponibili all'indirizzo 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, quando si progettano le chiamate API, includere l'ID di rilevamento nell'intestazione dell'agente utente nella richiesta. Formattare la stringa con il pid- prefisso . 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 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 un agente utente. 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 una configurazione statica globale. È possibile contrassegnare una factory client per assicurarsi che ogni client stia monitorando. Per ulteriori informazioni, vedere questo esempio di client factory in GitHub.

Esempio: .NET SDK

Per .NET, assicurarsi di impostare l'agente utente. Usare la libreria 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 Installare 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 usa l'interfaccia della riga di comando 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 ricavato 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 si usa Terraform con un'app di Azure nel marketplace commerciale, usare l'intero ID di rilevamento fornito nel Centro per i partner. Non usare un GUID.

Ottenere supporto

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

Come inviare una richiesta di consulenza tecnica

  1. Visitare la pagina dei servizi tecnici dei partner.
  2. Selezionare Infrastruttura e gestione cloud per visualizzare il percorso tecnico.
  3. Selezionare Servizi>di distribuzione Invia una richiesta.
  4. Accedere usando l'account del servizio gestito (Microsoft AI Cloud Partner Program) o l'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 prepopolato o potrebbero essere disponibili opzioni a discesa.
  6. Immettere un titolo e una descrizione dettagliata del problema.
  7. Selezionare Invia.

Vedere le istruzioni dettagliate con i relativi screenshot in Uso di servizi di prevendita e distribuzione tecnici.

Si verrà contattati da un consulente tecnico partner Microsoft per organizzare una chiamata in cui delineare le 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 monitorare i modelli distribuiti da un repository non Microsoft, ad esempio GitHub?

Sì, purché l'ID di rilevamento sia presente quando viene distribuito il modello, viene rilevato l'utilizzo. Per mantenere l'associazione tra l'utente come editore e il modello distribuito da un repository non Microsoft, scaricare prima una copia del modello pubblicato (che conterrà l'ID di rilevamento) dalla presentazione del marketplace commerciale dell'offerta 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 dei clienti?

No. I clienti possono tenere traccia dell'utilizzo di tutte le risorse o di tutti i 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 (System Integrator) o di gestione (Provider di servizi gestiti) al footprint di Azure pertinente di un cliente per il tempo mentre il partner è impegnato con il cliente.