Share via


Atribución del uso de Azure por parte de los clientes

La atribución del uso por los clientes asocia el uso de los recursos de Azure en las suscripciones de cliente creadas al implementar la IP como asociado. La formación de estas asociaciones en sistemas internos de Microsoft aporta una mayor visibilidad interna a la superficie de Azure que ejecuta el software. En las ofertas de aplicación de Azure del marketplace comercial, esta funcionalidad de seguimiento le ayuda a mantenerse en consonancia con los equipos de ventas de Microsoft y obtener créditos por los programas de asociados de Microsoft. La atribución de uso del cliente no es aplicable a las ofertas de máquina virtual de Azure en el marketplace comercial. No es necesario que un anunciante del marketplace haga nada con las ofertas de máquinas virtuales para asegurarse de que se realiza un seguimiento de su consumo de Azure en las suscripciones de los clientes finales.

La atribución de uso del cliente admite tres opciones de implementación:

  1. Plantillas de Azure Resource Manager (los fundamentos comunes de las aplicaciones de Azure, que también se conocen como "plantillas de solución" o "aplicaciones administradas" en el marketplace comercial): los asociados crean plantillas de Resource Manager para definir la infraestructura y la configuración de sus soluciones de Azure. Una plantilla de Resource Manager permite a los clientes implementar los recursos de la solución en un estado coherente y repetible.
  2. API de Azure Resource Manager: los asociados pueden llamar a las API de Azure Resource Manager para implementar una plantilla de Azure Resource Manager o para aprovisionar directamente los servicios de Azure.
  3. Terraform: los asociados pueden usar Terraform para implementar una plantilla de Resource Manager o implementar servicios de Azure directamente.

Consulte Casos de uso secundarios más adelante en este artículo para la atribución de uso del cliente fuera del marketplace comercial.

Importante

  • La atribución de uso del cliente no está pensada para realizar un seguimiento del trabajo de integradores de sistemas, proveedores de servicios administrados o herramientas diseñadas principalmente para implementar y administrar recursos de Azure.

  • Va dirigida a nuevas implementaciones y no admite el seguimiento de recursos que ya se hayan implementado.

    • No todos los servicios de Azure son compatibles con la atribución de uso del cliente. Azure Kubernetes Services (AKS), Virtual Machine Scale Sets y Azure Batch tienen problemas conocidos que hacen que no se notifique todo el uso.
    • Los datos de consumo de Azure de atribución de uso de clientes no se comparten externamente con asociados.

Aplicaciones de Azure del marketplace comercial

El seguimiento del uso de Azure de las aplicaciones de Azure publicadas en el marketplace comercial es, en gran medida, automático. Al cargar una plantilla de Resource Manager como parte de la configuración técnica del plan de la aplicación de Azure del marketplace, el Centro de partners agregará un identificador de seguimiento legible por Azure Resource Manager.

Nota:

Para asegurarse de que el uso de la aplicación se atribuyó con precisión en nuestros sistemas:

  1. Si define el identificador de seguimiento en el tipo de recurso Microsoft.Resources/deployment por una variable, reemplace la variable por el identificador de seguimiento visible en Centro de partners en la página Configuración técnica del plan (consulte Adición de un GUID a una plantilla de Resource Manager a continuación).
  2. Si la plantilla de Resource Manager usa recursos de tipo Microsoft.Resources/deployments para fines distintos de la atribución de uso del cliente, Microsoft no podrá agregar un identificador de seguimiento de atribución de uso del cliente en su nombre. Agregue un nuevo recurso de tipo Microsoft.Resources/deployments y añada el id. de seguimiento visible en el Centro de partners en la página Configuración técnica del plan (consulte Agregar un GUID a una plantilla del Resource Manager más abajo).

Si usa las API de Azure Resource Manager, deberá agregar el identificador de seguimiento según las instrucciones que se indican a continuación para pasarlo a Azure Resource Manager a medida que el código implementa los recursos. Este identificador está visible en el Centro de partners en la página Configuración técnica del plan de App de Azure lication.

Nota:

En el caso de las aplicaciones de Azure existentes, comenzó una migración puntual en marzo de 2021 para actualizar los identificadores de seguimiento en la configuración técnica de cada plan. El uso de implementaciones anteriores de esas ofertas quedará rastreado en los sistemas de Microsoft.

Al actualizar las ofertas, ya no es necesario agregar el tipo de recurso Microsoft.Resources/deployments en el archivo de plantilla principal.

Otros casos de uso

Puede usar la atribución de uso del cliente para realizar un seguimiento del uso de Azure de las soluciones que no están disponibles en el marketplace comercial. Estas soluciones suelen residir en el repositorio de inicios rápidos o en los repositorios de GitHub privados, o pueden provenir de las interacciones de clientes 1:1 que crean una IP duradera (como una aplicación implementable y escalable).

Son necesarios varios pasos manuales:

  1. Cree uno o varios GUID para usarlos como identificadores de seguimiento.
  2. Registre esos GUID en el Centro de partners.
  3. Agregue los GUID registrados a la aplicación de Azure o a las cadenas del agente de usuario.

Creación de los identificadores únicos globales

A diferencia de los identificadores de seguimiento que el Centro de partners crea en su nombre para las aplicaciones de Azure en el marketplace comercial, otros usos de atribución de uso del cliente requieren que cree un GUID para usarlo como identificador de seguimiento. Un GUID es un identificador de referencia único que tiene 32 dígitos hexadecimales. Para crear GUID de seguimiento, debe usar un generador de GUID, por ejemplo, PowerShell:

[guid]::NewGuid()

Debe crear un GUID único para cada producto y canal de distribución. Puede optar por usar un solo GUID en los múltiples canales de distribución del producto si no quiere que los informes se dividan. Los informes se generan mediante PartnerID y GUID.

Registro de GUID

Los GUID deben registrarse en el Centro de partners para que se puedan asociar a usted como asociado:

  1. Inicie sesión en el Centro de partners.

  2. Regístrese como publicador comercial de Marketplace.

  3. Seleccione Configuración (icono de engranaje) en la esquina superior derecha y, luego, Configuración de cuenta.

  4. En Perfil de la organización>Identificadores>Add Tracking GUID (Agregar GUID de seguimiento).

  5. En el cuadro GUID, escriba su identificador único global de seguimiento. Escriba solo el GUID, sin el prefijo pid-. En el cuadro Descripción, escriba el nombre o la descripción de la solución.

  6. Para registrar varios identificadores únicos globales, vuelva a seleccionar Add Tracking GUID (Agregar GUID de seguimiento). Aparecen más cuadros en la página.

  7. Seleccione Guardar.

Adición de un GUID a una plantilla de Resource Manager

Para agregar el GUID registrado a una plantilla de Resouce Manager, realice una única modificación en el archivo de plantilla principal:

  1. Abra la plantilla de Resource Manager.

  2. Agregue un nuevo recurso de tipo Microsoft.Resources/deployments en el archivo de plantilla principal. El recurso solo debe estar en los archivos mainTemplate.json o azuredeploy.json, no en ninguna de las plantillas vinculadas o anidadas.

  3. Como nombre del recurso, escriba el valor de GUID después del prefijo pid-. Por ejemplo, si el GUID es eb7927c8-dd66-43e1-b0cf-c346a422063, el nombre del recurso será pid-eb7927c8-dd66-43e1-b0cf-c346a422063. Ejemplo:

{ // 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. Comprobación de errores de la plantilla.

  2. Vuelva a publicar la plantilla en los repositorios adecuados.

  3. Compruebe que el GUID es correcto en la implementación de plantillas.

Sugerencia

Para más información sobre la creación y publicación de plantillas de Resource Manager, consulte Creación e implementación de la primera plantilla de Resouce Manager.

Comprobación de las implementaciones rastreadas con un GUID

Tras modificar la plantilla y realizar una implementación de prueba, use el siguiente script de PowerShell para recuperar los recursos que implementó y etiquetó.

Puede usar dicho script para comprobar que el GUID se ha agregado correctamente a la plantilla de Resource Manager. El script no se aplica a la implementación de la API de Resource Manager ni Terraform.

Inicie sesión en Azure. Antes de ejecutar el script, seleccione la suscripción con la implementación que quiere comprobar. Ejecute el script en el contexto de la suscripción de la implementación.

El GUID (llamado a continuación "deploymentName") y el nombre de resourceGroup de la implementación son parámetros necesarios.

Puede obtener el script Verify-DeploymentGuid original en 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
}

Notificación a los clientes

Los asociados deben informar a sus clientes de las implementaciones que usan atribución de uso del cliente. Los ejemplos siguientes incluyen contenido que puede usar para notificar a los clientes estas implementaciones. En los ejemplos, reemplace <PARTNER> por el nombre de su empresa. Los asociados deben asegurarse de que la notificación esté en consonancia con sus directivas de privacidad y recopilación de datos, incluidas las opciones para que los clientes se puedan excluir del seguimiento.

Notificación de implementaciones de plantillas de Resource Manager

Al implementar esta plantilla, Microsoft puede identificar la instalación del software <PARTNER> con los recursos de Azure implementados. Microsoft puede correlacionar estos recursos usados para admitir el software. Microsoft recopila esta información para proporcionar las mejores experiencias con sus productos y conseguir que sus negocios funcionen. Los datos se recopilan y regulan en función de las directivas de privacidad de Microsoft, que se encuentran en https://www.microsoft.com/trustcenter.

Notificación para las implementaciones de SDK o API

Al implementar el software <PARTNER>, Microsoft puede identificar la instalación del software <PARTNER> con los recursos de Azure implementados. Microsoft puede correlacionar estos recursos usados para admitir el software. Microsoft recopila esta información para proporcionar las mejores experiencias con sus productos y conseguir que sus negocios funcionen. Los datos se recopilan y regulan en función de las directivas de privacidad de Microsoft, que se encuentran en https://www.microsoft.com/trustcenter.

Uso de las API de Resource Manager

En algunos casos, puede realizar llamadas directamente en las API REST de Resource Manager para implementar servicios de Azure. Azure admite varios SDK para habilitar estas llamadas. Puede usar uno de los SDK o llamar a las API REST directamente para implementar los recursos.

Para habilitar la atribución del uso por parte de los clientes, al diseñar las llamadas API, incluya el identificador de seguimiento en el encabezado del agente de usuario de la solicitud. Aplique formato a la cadena con el prefijo pid-. Ejemplos:

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

Si va a usar las API de Resource Manager con una aplicación de Azure del marketplace comercial, utilice el identificador de seguimiento proporcionado en el Centro de partners. No use un GUID.

Los diversos SDK interactúan de forma diferente con las API de Resource Manager y requerirán algunas diferencias en el código. Los ejemplos siguientes presentan el enfoque de las soluciones no relacionadas con el marketplace comercial mediante un GUID y abarcan varios de los SDK de Azure conocidos.

Ejemplo: SDK de Python

Para Python, use el atributo config. El atributo solo se puede agregar a un UserAgent. Ejemplo:

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

Importante

Agregue el atributo a cada cliente. No hay ninguna configuración estática global. Puede etiquetar una fábrica de clientes para asegurarse de que todos los clientes realizan el seguimiento. Para más información, consulte este ejemplo de fábrica de cliente en GitHub.

Ejemplo: SDK de .NET

Para .NET, asegúrese de establecer el agente de usuario. Use la biblioteca Microsoft.Azure.Management.Fluent para establecer el agente de usuario con el código siguiente (ejemplo en 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 partir de junio de 2023, la versión 3.4.0 más reciente del SDK de .NET del Centro de partners ahora está archivada. Puede descargar esta versión del SDK de GitHub, junto con un archivo Léame que contiene información útil.

Se recomienda a los partners seguir usando las API REST del Centro de partners.

Ejemplo: Azure PowerShell

Si implementa recursos a través de Azure PowerShell, use el siguiente método para anexar el GUID:

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

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Ejemplo: CLI de Azure

Cuando use la CLI de Azure para anexar un GUID, establezca la variable de entorno AZURE_HTTP_USER_AGENT dentro del ámbito de un script. Pero también se puede establecer globalmente para el ámbito de una shell:

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

Para más información, consulte Azure SDK para Go.

Uso de Terraform

La compatibilidad con Terraform está disponible a partir de la versión 1.21.0 del proveedor de Azure: https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/CHANGELOG.md#1210-january-11-2019. Esto se aplica a todos los asociados que implementen su solución mediante Terraform y a todos los recursos que implemente y mida el proveedor de Azure (versión 1.21.0 o posteriores).

El proveedor de Azure para Terraform ha agregado un nuevo campo opcional denominado partner_id que es donde se especifica el GUID de seguimiento que se usa con la solución. El valor de este campo también puede proceder de la variable de entorno 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

Si usa Terraform con una aplicación de Azure del marketplace comercial, utilice el identificador de seguimiento entero proporcionado en el Centro de partners. No use un GUID.

Obtención de soporte técnico

Descubra las opciones de soporte técnico en el Marketplace comercial en Soporte técnico para el programa Marketplace comercial en el Centro de partners.

Envío de una solicitud de consulta técnica

  1. Visite Servicios técnicos para socios.
  2. Seleccione Cloud infrastructure and management (Infraestructura en la nube y administración) para ver el recorrido técnico.
  3. Seleccione Deployment Services>Submit a request (Servicios de implementación > Enviar una solicitud).
  4. Inicie sesión con su cuenta de MSA (Microsoft AI Cloud Partner Program) o su identificador de Microsoft Entra (cuenta del panel de partners).
  5. Complete o revise la información de contacto en el formulario que se abre. Es posible que los detalles de la consulta se rellenen previamente o que tenga opciones desplegables.
  6. Escriba un título y una descripción detallada del problema.
  7. Seleccione Submit (Enviar).

Vea instrucciones paso a paso con capturas de pantallas en Uso de los servicios de preventas e implementación técnicos.

Un asesor técnico para los asociados de Microsoft le contactará para programar una llamada y determinar sus necesidades.

Preguntas más frecuentes

Una vez que se ha agregado un identificador de seguimiento, ¿se puede cambiar?

Los identificadores de seguimiento de las aplicaciones de Azure del marketplace comercial se administran automáticamente en el Centro de partners. Sin embargo, un cliente puede descargar una plantilla y cambiar o quitar el identificador de seguimiento. Los asociados deben describir de forma anticipada el rol del identificador de seguimiento a sus clientes para impedir que se elimine o modifique. Cambiar el identificador de seguimiento afecta solo a las nuevas implementaciones y recursos, no a los ya existentes.

¿Puedo realizar un seguimiento de las plantillas implementadas desde un repositorio que no sea de Microsoft, como GitHub?

Sí. Si el identificador de seguimiento está presente cuando se implemente la plantilla, se realiza el seguimiento del uso. Para mantener la asociación entre usted como editor y la plantilla implementada desde un repositorio que no es de Microsoft, descargue primero una copia de la plantilla publicada (que contendrá el identificador de seguimiento) de la descripción del marketplace comercial de la oferta en Azure Portal. Publique esa versión en GitHub o en otro repositorio que no sea de Microsoft.

Si la plantilla no aparece en marketplace comercial e incluye un GUID registrado, asegúrese de que el GUID está presente en la versión que publica en GitHub u otro repositorio que no sea de Microsoft.

¿Microsoft comparte datos de atribución de uso de clientes con asociados?

No. Microsoft no comparte los datos de consumo de Azure de los que se realiza un seguimiento a través de la atribución de uso del cliente externamente con asociados.

¿Los clientes reciben informes de atribución de uso del cliente?

No. Los clientes pueden realizar el seguimiento del uso tanto de recursos individuales como de grupos de recursos dentro de Azure Portal. Los clientes no ven el uso desglosado por el identificador de seguimiento de atribución de uso del cliente.

La atribución del uso por parte de los clientes es un mecanismo para asociar el uso de Azure con la IP repetible e implementable de un asociado, que forma la asociación en el momento de la implementación. DPOR y PAL están pensados para vincular un asociado de consultoría (integrador de sistemas) o de administración (proveedor de servicios administrados) con la superficie de Azure pertinente del cliente mientras el asociado está involucrado con él.